diff --git a/.gitmodules b/.gitmodules index 8a1429aa478515e5a29fcbfce4def04c337004f3..e8ad259c0116578805e374e9be0b376606f73970 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "voiceinput-shared/src/main/ml"] path = voiceinput-shared/src/main/ml url = https://gitlab.futo.org/keyboard/voice-input-models.git +[submodule "java/assets/layouts"] + path = java/assets/layouts + url = https://github.com/futo-org/futo-keyboard-layouts.git diff --git a/README.md b/README.md index 8be35ebf702cb57f40efe074ee82f5eef9d3489b..9e12e193aeac2af86cba6406bc3dbda05e956a58 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,14 @@ The goal is to make a good keyboard that doesn't spy on users. This repository is a fork of [LatinIME (the Android Open-Source Keyboard)](https://android.googlesource.com/platform/packages/inputmethods/LatinIME). -The code is licensed under the [FUTO Source First License 1.0](LICENSE.md). +The code is licensed under the [FUTO Source First License 1.1](LICENSE.md). Check out the [FUTO Keyboard Wiki](https://gitlab.futo.org/alex/keyboard-wiki/-/wikis/FUTO-Keyboard) +## Layouts + +If you want to contribute layouts, check out the [layouts repo](https://github.com/futo-org/futo-keyboard-layouts). + ## Building When cloning the repository, you must perform a recursive clone to fetch all dependencies: diff --git a/java/assets/layouts b/java/assets/layouts new file mode 160000 index 0000000000000000000000000000000000000000..5b89851d69be1be799c07021c65114c176ada625 --- /dev/null +++ b/java/assets/layouts @@ -0,0 +1 @@ +Subproject commit 5b89851d69be1be799c07021c65114c176ada625 diff --git a/java/assets/layouts/Arabic/arabic.yaml b/java/assets/layouts/Arabic/arabic.yaml deleted file mode 100644 index dc7f061251fd92ee6bdd64e534793467964fc052..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Arabic/arabic.yaml +++ /dev/null @@ -1,131 +0,0 @@ -name: Arabic (AOSP) -description: The default Arabic keyboard from AOSP Keyboard. -languages: ar -rows: - - letters: - # U+0636: "ض" ARABIC LETTER DAD - - "\u0636" - - # U+0635: "ص" ARABIC LETTER SAD - - "\u0635" - - # U+062B: "Ø«" ARABIC LETTER THEH - - "\u062B" - - # U+0642: "Ù‚" ARABIC LETTER QAF - # U+06A8: "Ú¨" ARABIC LETTER QAF WITH THREE DOTS ABOVE - - ["\u0642", "\u06A8"] - - # U+0641: "Ù" ARABIC LETTER FEH - # U+06A4: "Ú¤" ARABIC LETTER VEH - # U+06A2: "Ú¢" ARABIC LETTER FEH WITH DOT MOVED BELOW - # U+06A5: "Ú¥" ARABIC LETTER FEH WITH THREE DOTS BELOW --> - - ["\u0641", "\u06A4", "\u06A2", "\u06A5"] - - # U+063A: "غ" ARABIC LETTER GHAIN - - "\u063A" - - # U+0639: "ع" ARABIC LETTER AIN - - "\u0639" - - # U+0647: "Ù‡" ARABIC LETTER HEH - # U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM - # U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER - - ["\u0647", "\uFEEB|\u0647\u200D"] - - # U+062E: "Ø®" ARABIC LETTER KHAH - - "\u062E" - - # U+062D: "Ø" ARABIC LETTER HAH - - "\u062D" - - # U+062C: "ج" ARABIC LETTER JEEM - # U+0686: "Ú†" ARABIC LETTER TCHEH - - ["\u062C", "\u0686"] - - - letters: - # U+0634: "Ø´" ARABIC LETTER SHEEN - # U+069C: "Úœ" ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE - - ["\u0634", "\u069C"] - - # U+0633: "س" ARABIC LETTER SEEN - - "\u0633" - - # U+064A: "ÙŠ" ARABIC LETTER YEH - # U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE - # U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA - - ["\u064A", "\u0626", "\u0649"] - - # U+0628: "ب" ARABIC LETTER BEH - # U+067E: "Ù¾" ARABIC LETTER PEH - - ["\u0628", "\u067E"] - - # U+0644: "Ù„" ARABIC LETTER LAM - # U+FEFB: "ï»»" ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM - # U+0627: "ا" ARABIC LETTER ALEF - # U+FEF7: "ï»·" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM - # U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE - # U+FEF9: "ﻹ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM - # U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW - # U+FEF5: "ﻵ" ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM - # U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE - - ["\u0644", "\uFEFB|\u0644\u0627", "\uFEF7|\u0644\u0623", "\uFEF9|\u0644\u0625", "\uFEF5|\u0644\u0622"] - - # U+0627: "ا" ARABIC LETTER ALEF - # U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE - # U+0621: "Ø¡" ARABIC LETTER HAMZA - # U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE - # U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW - # U+0671: "Ù±" ARABIC LETTER ALEF WASLA --> - - ["\u0627", "!fixedColumnOrder!5", "\u0622", "\u0621", "\u0623", "\u0625", "\u0671"] - - # U+062A: "ت" ARABIC LETTER TEH - - "\u062A" - - # U+0646: "Ù†" ARABIC LETTER NOON - - "\u0646" - - # U+0645: "Ù…" ARABIC LETTER MEEM - - "\u0645" - - # U+0643: "Ùƒ" ARABIC LETTER KAF - # U+06AF: "Ú¯" ARABIC LETTER GAF - # U+06A9: "Ú©" ARABIC LETTER KEHEH - - ["\u0643", "\u06AF", "\u06A9"] - - # U+0637: "Ø·" ARABIC LETTER TAH - - "\u0637" - - letters: - # U+0630: "Ø°" ARABIC LETTER THAL - - "\u0630" - - # U+0621: "Ø¡" ARABIC LETTER HAMZA - - "\u0621" - - # U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE - - "\u0624" - - # U+0631: "ر" ARABIC LETTER REH - - "\u0631" - - # U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA - # U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE - - ["\u0649", "\u0626"] - - # U+0629: "Ø©" ARABIC LETTER TEH MARBUTA - - "\u0629" - - # U+0648: "Ùˆ" ARABIC LETTER WAW - - "\u0648" - - # U+0632: "ز" ARABIC LETTER ZAIN - # U+0698: "Ú˜" ARABIC LETTER JEH - - ["\u0632", "\u0698"] - - # U+0638: "ظ" ARABIC LETTER ZAH - - "\u0638" - - # U+062F: "د" ARABIC LETTER DAL - - "\u062F" - - - "$delete" \ No newline at end of file diff --git a/java/assets/layouts/Arabic/farsi.yaml b/java/assets/layouts/Arabic/farsi.yaml deleted file mode 100644 index 5f2c2df0af284c32c183ed18c5a421a540549975..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Arabic/farsi.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: Farsi -languages: fa -useZWNJKey: true -rows: - - letters: # rowkeys_farsi1.xml - - ['ض'] - - ['ص'] - - ['Ø«'] - - ['Ù‚'] - - ['Ù'] - - ['غ'] - - ['ع'] - - ['Ù‡', "ﻫ|Ù‡\u200d", 'Ù‡Ù”', 'Ø©', '%'] - - ['Ø®'] - - ['Ø'] - - ['ج'] - - letters: # rowkeys_farsi2.xml - - ['Ø´'] - - ['س'] - - ['ÛŒ', 'ئ', 'ÙŠ', 'ﯨ|Ù‰'] - - ['ب'] - - ['Ù„'] - - ['ا', '!fixedColumnOrder!5', 'Ù±', 'Ø¡', 'Ø¢', 'Ø£', 'Ø¥'] - - ['ت', 'Ø©'] - - ['Ù†'] - - ['Ù…'] - - ['Ú©', 'Ùƒ'] - - ['Ú¯'] - - letters: # rowkeys_farsi3.xml - - ['ظ'] - - ['Ø·'] - - ['Ú˜'] - - ['ز'] - - ['ر'] - - ['Ø°'] - - ['د'] - - ['Ù¾'] - - ['Ùˆ', 'ؤ'] - - ['Ú†'] - - $delete # forces no shift key \ No newline at end of file diff --git a/java/assets/layouts/Arabic/kurdish.yaml b/java/assets/layouts/Arabic/kurdish.yaml deleted file mode 100644 index 13bd457ce56ddd6fd9f3dae08c55ec961ce3beaa..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Arabic/kurdish.yaml +++ /dev/null @@ -1,107 +0,0 @@ -name: Kurdish -languages: ckb -rows: - - letters: # rowkeys_kurdish1.xml - # U+0642: Ù‚ ARABIC LETTER QAF - - {type: case, normal: ["\u0642", "`"], shifted: ["`", "\u0642"]} - - # U+0648: Ùˆ ARABIC LETTER WAW - - {type: case, normal: ["\u0648", "\u0648\u0648"], shifted: ["\u0648\u0648", "\u0648"]} - - # U+06D5: Û• ARABIC LETTER AE - # U+064A: ÙŠ ARABIC LETTER YEH - - {type: case, normal: ["\u06d5", "\u064a"], shifted: ["\u064a", "\u06d5"]} - - # U+0631: ر ARABIC LETTER REH - # U+0695: Ú• ARABIC LETTER REH WITH SMALL V BELOW - - {type: case, normal: ["\u0631", "\u0695"], shifted: ["\u0695", "\u0631"]} - - # U+062A: ت ARABIC LETTER TEH - # U+0637: Ø· ARABIC LETTER TAH - - {type: case, normal: ["\u062a", "\u0637"], shifted: ["\u0637", "\u062a"]} - - # U+06CC: ÛŒ ARABIC LETTER FARSI YEH - # U+06CE: ÛŽ ARABIC LETTER YEH WITH SMALL V - - {type: case, normal: ["\u06cc", "\u06ce"], shifted: ["\u06ce", "\u06cc"]} - - # U+0626: ئ ARABIC LETTER YEH WITH HAMZA ABOVE - # U+0621: Ø¡ ARABIC LETTER HAMZA - - {type: case, normal: ["\u0626", "\u0621"], shifted: ["\u0621", "\u0626"]} - - # U+062D: Ø ARABIC LETTER HAH - # U+0639: ع ARABIC LETTER AIN - - {type: case, normal: ["\u062d", "\u0639"], shifted: ["\u0639", "\u062d"]} - - # U+06C6: Û† ARABIC LETTER OE - # U+0624: ؤ ARABIC LETTER WAW WITH HAMZA ABOVE - - {type: case, normal: ["\u06c6", "\u0624"], shifted: ["\u0624", "\u06c6"]} - - # U+067E: Ù¾ ARABIC LETTER PEH - # U+062B: Ø« ARABIC LETTER THEH - - {type: case, normal: ["\u067e", "\u062b"], shifted: ["\u062b", "\u067e"]} - - - letters: # rowkeys_kurdish2.xml - # U+0627: ا ARABIC LETTER ALEF - # U+0622: Ø¢ ARABIC LETTER ALEF WITH MADDA ABOVE - - {type: case, normal: ["\u0627", "\u0622"], shifted: ["\u0622", "\u0627"]} - - # U+0633: س ARABIC LETTER SEEN - # U+0634: Ø´ ARABIC LETTER SHEEN - - {type: case, normal: ["\u0633", "\u0634"], shifted: ["\u0634", "\u0633"]} - - # U+062F: د ARABIC LETTER DAL - # U+0630: Ø° ARABIC LETTER THAL - - {type: case, normal: ["\u062f", "\u0630"], shifted: ["\u0630", "\u062f"]} - - # U+0641: Ù ARABIC LETTER FEH - # U+0625: Ø¥ ARABIC LETTER ALEF WITH HAMZA BELOW - - {type: case, normal: ["\u0641", "\u0625"], shifted: ["\u0625", "\u0641"]} - - # U+06AF: Ú¯ ARABIC LETTER GAF - # U+063A: غ ARABIC LETTER GHAIN - - {type: case, normal: ["\u06af", "\u063a"], shifted: ["\u063a", "\u06af"]} - - # U+0647: Ù‡ ARABIC LETTER HEH - # U+200C: ‌ ZERO WIDTH NON-JOINER - - {type: case, normal: ["\u0647", "!icon/zwnj_key|\u200c"], shifted: ["!icon/zwnj_key|\u200c", "\u0647"]} - - # U+0698: Ú˜ ARABIC LETTER JEH - # U+0623: Ø£ ARABIC LETTER ALEF WITH HAMZA ABOVE - - {type: case, normal: ["\u0698", "\u0623"], shifted: ["\u0623", "\u0698"]} - - # U+06A9: Ú© ARABIC LETTER KEHEH - # U+0643: Ùƒ ARABIC LETTER KAF - - {type: case, normal: ["\u06a9", "\u0643"], shifted: ["\u0643", "\u06a9"]} - - # U+0644: Ù„ ARABIC LETTER LAM - # U+06B5: Úµ ARABIC LETTER LAM WITH SMALL V - - {type: case, normal: ["\u0644", "\u06b5"], shifted: ["\u06b5", "\u0644"]} - - - letters: # rowkeys_kurdish3.xml - # U+0632: ز ARABIC LETTER ZAIN - # U+0636: ض ARABIC LETTER DAD - - {type: case, normal: ["\u0632", "\u0636"], shifted: ["\u0636", "\u0632"]} - - # U+062E: Ø® ARABIC LETTER KHAH - # U+0635: ص ARABIC LETTER SAD - - {type: case, normal: ["\u062e", "\u0635"], shifted: ["\u0635", "\u062e"]} - - # U+062C: ج ARABIC LETTER JEEM - # U+0686: Ú† ARABIC LETTER TCHEH - - {type: case, normal: ["\u062c", "\u0686"], shifted: ["\u0686", "\u062c"]} - - # U+06A4: Ú¤ ARABIC LETTER VEH - # U+0638: ظ ARABIC LETTER ZAH - - {type: case, normal: ["\u06a4", "\u0638"], shifted: ["\u0638", "\u06a4"]} - - # U+0628: ب ARABIC LETTER BEH - # U+0649: Ù‰ ARABIC LETTER ALEF MAKSURA - - {type: case, normal: ["\u0628", "\u0649"], shifted: ["\u0649", "\u0628"]} - - # U+0646: Ù† ARABIC LETTER NOON - # U+0648: Ùˆ ARABIC LETTER WAW - - {type: case, normal: ["\u0646", "\u0648"], shifted: ["\u0648", "\u0646"]} - - # U+0645: Ù… ARABIC LETTER MEEM - # U+0640: Ù€ ARABIC TATWEEL - - {type: case, normal: ["\u0645", "\u0640"], shifted: ["\u0640", "\u0645"]} \ No newline at end of file diff --git a/java/assets/layouts/Arabic/lulua.yaml b/java/assets/layouts/Arabic/lulua.yaml deleted file mode 100644 index a313013e952672997139df846f11171e1573986b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Arabic/lulua.yaml +++ /dev/null @@ -1,94 +0,0 @@ -# TODO: Split layout is broken due to use of grow -name: "العربية/لؤلؤة" -description: Arabic/lulua keyboard from AnySoftKeyboard -languages: ar -attributes: - width: Grow -overrideWidths: - FunctionalKey: 0.25 -rows: - - letters: - - - "\u062B" - - "\u0663" - - - "\u0637" - - "\u0662" - - - "\u0641" - - "\u0671" - - "\u0661" - - - "\u0629" - - '-' - - "\u0640" - - "\u0660" - - - "\u0654" - - "\u066A" - - "\u0642" - - - "\u062F" - - '!' - - "\u064C" - - - "\u0639" - - "\u064B" - - - "\u062D" - - "\u064D" - - - "\u0636" - - "\u2026" - - - "\u0621" - - "\u2067" - - - "\u0638" - - "\u2066" - splittable: false - - letters: - - - "\u0628" - - ':' - - "\u0667" - - - "\u0645" - - ( - - "\u0666" - - - "\u0627" - - "\u061B" - - "\u0652" - - "\u0665" - - - "\u0648" - - "\u061F" - - "\u0651" - - "\u0664" - - - "\u062A" - - "\xAB" - - "\u0670" - - "\u2212" - - - "\u0631" - - "\xBB" - - "\u0653" - - - "\u0644" - - . - - "\u064F" - - - "\u064A" - - "\u060C" - - "\u064E" - - - "\u0646" - - ) - - "\u0650" - - "\u0633" - - - "\u0635" - - "\u2069" - splittable: false - - letters: - - - "\u0630" - - "\u066C" - - - "\u0649" - - "\u066B" - - - "\u062C" - - "\u0669" - - - "\u0634" - - "\u0668" - - - "\u0655" - - "\u0609" - - "\u0647" - - "\u0632" - - "\u0643" - - "\u062E" - - "\u063A" - splittable: false - - bottom: - - "$enter" - - "$space" - - "$delete" \ No newline at end of file diff --git a/java/assets/layouts/Armenian/armenian_phonetic.yaml b/java/assets/layouts/Armenian/armenian_phonetic.yaml deleted file mode 100644 index cecd339f4942bf092e9adb90d20f19b867d6fa3c..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Armenian/armenian_phonetic.yaml +++ /dev/null @@ -1,8 +0,0 @@ -name: Õ€Õ¡ÕµÕ¥Ö€Õ¥Õ¶ -languages: hy -rows: - - letters: [Õ§, Õ©, Öƒ, Õ±, Õ», Ö€, Õ¹, Õ³, Õª, Õ®] - - letters: [Ö„, Õ¸, [Õ¥, Ö‡], Õ¼, Õ¿, Õ¨, Ö‚, Õ«, Ö…, Õº] - - letters: [Õ¡, Õ½, Õ¤, Ö†, Õ£, Õ°, Õµ, Õ¯, Õ¬, Õ] - - letters: [Õ¦, Õ², Ö, Õ¾, Õ¢, Õ¶, Õ´, Õ·] -# Note: period is replaced with Ö‰ in locales/hy.json \ No newline at end of file diff --git a/java/assets/layouts/Bengali/bengali.yaml b/java/assets/layouts/Bengali/bengali.yaml deleted file mode 100644 index dec201c244b49298eda8784bdff8b1abfa695ae7..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Bengali/bengali.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: bengali -languages: bn -rows: - - letters: # rowkeys_bengali1.xml - - ['ঔ', 'ৌ', '১'] - - ['à¦', 'ৈ', '২'] - - ['আ', 'া', '৩'] - - ['ঈ', 'ী', '৪'] - - ['ঊ', 'ূ', '৫'] - - ['ব', 'à¦', '৬'] - - ['হ', 'à§'] - - ['গ', 'ঘ', '৮'] - - ['দ', 'ধ', '৯'] - - ['জ', 'à¦', 'জà§à¦ž', '০'] - - ['ড', 'ড়'] - - letters: # rowkeys_bengali2.xml - - ['ও', 'ো'] - - ['à¦', 'ে'] - - ['অ', 'à§'] - - ['ই', 'ি'] - - ['উ', 'à§'] - - ['প', 'ফ'] - - ['র', 'ৃ', 'ঋ', 'তà§à¦°'] - - ['ক', 'খ'] - - ['ত', 'ৎ', 'থ', 'তà§à¦¤'] - - ['চ', 'ছ'] - - ['ট', 'ঠ'] - - letters: # rowkeys_bengali3.xml - - ['à¦', 'ঃ', 'ং'] - - ['ঢ', 'ঢ়'] - - ['ম'] - - ['ন', 'ণ'] - - ['ঞ', 'ঙ', 'ঞà§à¦œ'] - - ['ল'] - - ['ষ', 'কà§à¦·'] - - ['স', 'শ'] - - ['য়', 'য'] - - ['।', '॥'] - - $delete -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Bengali/bengali_akkhor.yaml b/java/assets/layouts/Bengali/bengali_akkhor.yaml deleted file mode 100644 index c2220f804de849ded2156cf4781fad32aecd17ed..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Bengali/bengali_akkhor.yaml +++ /dev/null @@ -1,100 +0,0 @@ -name: bengali akkhor -languages: bn-BD -useZWNJKey: true -rows: - - letters: - - type: case - normal: [ 'ধ', '১', 'ধà§à¦¬', 'ধà§à¦¯', 'ধà§à¦°' ] - shifted: [ 'ঢ' ] - - type: case - normal: [ 'থ', '২', 'থà§à¦¯', 'থà§à¦°' ] - shifted: [ 'ঠ' ] - - type: case - normal: [ 'ে', '৩', 'à¦' ] - shifted: [ 'ৈ', 'à¦' ] - - type: case - normal: [ 'র', '৪' ] - shifted: [ 'ড়', '়' ] - - type: case - normal: [ 'ত', '৫', 'ৎ', 'তà§à¦¤', 'তà§à¦¨', 'তà§à¦¬', 'তà§à¦®' ] - shifted: [ 'ট', '৳', 'টà§à¦Ÿ', 'টà§à¦¬', 'টà§à¦®' ] - - type: case - normal: [ 'য়', '৬' ] - shifted: [ 'ঞ', 'ঞà§à¦š', 'ঞà§à¦›', 'ঞà§à¦œ' ] - - type: case - normal: [ 'à§', 'à§', 'উ' ] - shifted: [ 'ূ', 'ঊ' ] - - type: case - normal: [ 'ি', '৮', 'ই' ] - shifted: [ 'ী', 'ঈ' ] - - type: case - normal: [ 'ো', '৯', 'ও' ] - shifted: [ 'ৌ', 'চ', 'ৗ' ] - - type: case - normal: [ 'প', '০', 'পà§à¦¤', 'পà§à¦¨', 'পà§à¦ª', 'পà§à¦¯', 'পà§à¦°', 'পà§à¦²', 'পà§à¦¸' ] - shifted: [ 'ফ', 'ফà§à¦Ÿ', 'ফà§à¦¯', 'ফà§à¦°', 'ফà§à¦²' ] - - type: case - normal: [ 'আ' ] - shifted: [ 'ঋ', 'ঌ', 'ৡ', '৴', '৵', '৶', 'ৢ', 'ৣ' ] - - letters: - - type: case - normal: [ 'া', 'আ' ] - shifted: [ 'অ' ] - - type: case - normal: [ 'স', 'সà§à¦¬', 'সà§à¦¤', 'সà§à¦Ÿ', 'সà§à¦•', 'সà§à¦ª' ] - shifted: [ 'শ', 'শà§à¦š', 'শà§à¦›', 'শà§à¦¤', 'শà§à¦¨', 'শà§à¦¬', 'শà§à¦®', 'শà§à¦°', 'শà§à¦²' ] - - type: case - normal: [ 'দ', 'দà§à¦¦', 'দà§à¦§', 'দà§à¦¬', 'দà§à¦', 'দà§à¦®', 'দà§à¦¯', 'দà§à¦°' ] - shifted: [ 'ড', 'ডà§à¦¡' ] - - type: case - normal: [ 'ৃ', 'ঋ' ] - shifted: [ 'à§' ] - - type: case - normal: [ 'গ', 'গà§à¦§', 'গà§à¦°', 'গà§à¦²', 'গà§à¦¨' ] - shifted: [ 'ঘ' ] - - type: case - normal: [ 'à§' ] - shifted: [ 'হ', 'ঽ', 'হà§à¦£', 'হà§à¦¨', 'হà§à¦¬', 'হà§à¦®', 'হà§à¦°', 'হà§à¦²' ] - - type: case - normal: [ 'জ', 'জà§à¦ž', 'জà§à¦œ', 'জà§à¦¯', 'জà§à¦¬', 'জà§à¦°' ] - shifted: [ 'à¦' ] - - type: case - normal: [ 'ক', 'কà§à¦·', 'কà§à¦•', 'কà§à¦Ÿ', 'কà§à¦¤', 'কà§à¦°', 'কà§à¦¸', 'কà§à¦²' ] - shifted: [ 'খ' ] - - type: case - normal: [ 'ল', 'লà§à¦•', 'লà§à¦—', 'লà§à¦Ÿ', 'লà§à¦¡', 'লà§à¦¤', 'লà§à¦¦', 'লà§à¦§', 'লà§à¦ª', 'লà§à¦«', 'লà§à¦¬', 'লà§à¦®', 'লà§à¦²' ] - shifted: [ 'ৎ' ] - - type: case - normal: [ 'ই' ] - shifted: [ 'ঈ' ] - - type: case - normal: [ 'উ' ] - shifted: [ 'ঊ' ] - - letters: - - type: case - normal: ['য', 'à§à¦¯'] - shifted: ['।', '॥'] - - type: case - normal: ['ষ', 'ষà§à¦•', 'ষà§à¦Ÿ', 'ষà§à¦ ', 'ষà§à¦£', 'ষà§à¦ª', 'ষà§à¦«', 'ষà§à¦®'] - shifted: ['ঙ', 'ঙà§à¦•', 'ঙà§à¦–', 'ঙà§à¦—'] - - type: case - normal: ['চ', 'চà§à¦š', 'চà§à¦›'] - shifted: ['ছ'] - - type: case - normal: ['à¦', 'à¦à§à¦¯', 'à¦à§à¦°', 'à¦à§à¦²'] - shifted: ['ঃ'] - - type: case - normal: ['ব', 'à§à¦¬', 'বà§à¦°', 'বà§à¦œ', 'বà§à¦¦', 'বà§à¦§', 'বà§à¦¬', 'বà§à¦²', 'ৱ', 'ৰ'] - shifted: ['à¦'] - - type: case - normal: ['ন', 'নà§à¦¤', 'নà§à¦¥', 'নà§à¦Ÿ', 'নà§à¦¦', 'নà§à¦§', 'নà§à¦¡', 'নà§à¦¨', 'নà§à¦¬', 'নà§à¦®', 'নà§à¦¸'] - shifted: ['ণ', 'ণà§à¦Ÿ', 'ণà§à¦¡', 'ণà§à¦£'] - - type: case - normal: ['ম', 'মà§à¦¨', 'মà§à¦ª', 'মà§à¦¬', 'মà§à¦', 'মà§à¦®', 'মà§à¦°', 'মà§à¦²'] - shifted: ['ং'] - - type: case - normal: ['à¦'] - shifted: ['à¦'] - - type: case - normal: ['ও'] - shifted: ['ঔ'] \ No newline at end of file diff --git a/java/assets/layouts/Bulgarian/bulgarian.yaml b/java/assets/layouts/Bulgarian/bulgarian.yaml deleted file mode 100644 index 576bbfe2b5fd62efdb0b890141d82a46c722b8ae..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Bulgarian/bulgarian.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: Bulgarian -languages: bg -rows: - - letters: - - ['Ñ'] - - ['в'] - - ['е'] - - ['Ñ€'] - - ['Ñ‚'] - - ['ÑŠ'] - - ['у'] - - ['и', '%', 'Ñ'] - - ['о'] - - ['п'] - - ['ч'] - - letters: - - ['а'] - - ['Ñ'] - - ['д'] - - ['Ñ„'] - - ['г'] - - ['Ñ…'] - - ['й'] - - ['к'] - - ['л'] - - ['ш'] - - ['щ'] - - letters: - - ['з'] - - ['ÑŒ'] - - ['ц'] - - ['ж'] - - ['б'] - - ['н'] - - ['м'] - - ['ÑŽ'] \ No newline at end of file diff --git a/java/assets/layouts/Bulgarian/bulgarian_bds.yaml b/java/assets/layouts/Bulgarian/bulgarian_bds.yaml deleted file mode 100644 index 9bc164e7bf06c1a94c39d480302fcb7b37845791..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Bulgarian/bulgarian_bds.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Bulgarian (BDS) -languages: bg -rows: - - letters: - - ['у'] - - ['е'] - - ['и', '%', 'Ñ'] - - ['ш'] - - ['щ'] - - ['к'] - - ['Ñ'] - - ['д'] - - ['з'] - - ['ц'] - - ['б'] - - letters: - - ['ÑŒ'] - - ['Ñ'] - - ['а'] - - ['о'] - - ['ж'] - - ['г'] - - ['Ñ‚'] - - ['н'] - - ['в'] - - ['м'] - - ['ч'] - - letters: - - ['ÑŽ'] - - ['й'] - - ['ÑŠ'] - - ['Ñ'] - - ['Ñ„'] - - ['Ñ…'] - - ['п'] - - ['Ñ€'] - - ['л'] \ No newline at end of file diff --git a/java/assets/layouts/Default/azerty.yaml b/java/assets/layouts/Default/azerty.yaml deleted file mode 100644 index 55e770c926bf57768565d3806ca118943e391893..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/azerty.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: AZERTY -rows: - - letters: a z e r t y u i o p - - letters: q s d f g h j k l m - - letters: - - w - - x - - c - - v - - b - - n - - {type: case, normal: "'", shifted: "?"} \ No newline at end of file diff --git a/java/assets/layouts/Default/colemak.yaml b/java/assets/layouts/Default/colemak.yaml deleted file mode 100644 index 5206daaedc5fff741ae4f2a78d2150451ad39c5d..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/colemak.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: Colemak -rows: - - letters: - - q - - w - - f - - p - - g - - j - - l - - u - - y - - {type: case, normal: ";", shifted: ":"} - - letters: a r s t d h n e i o - - letters: z x c v b k m \ No newline at end of file diff --git a/java/assets/layouts/Default/colemak_dh.yaml b/java/assets/layouts/Default/colemak_dh.yaml deleted file mode 100644 index 2b69cb992186330ea398c849769f8bd7d5dcd78b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/colemak_dh.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: "Colemak DH" -rows: - - letters: - - q - - w - - f - - p - - b - - j - - l - - u - - y - - {type: case, normal: ";", shifted: ":"} - - letters: a r s t g m n e i o - - letters: z x c d v k h \ No newline at end of file diff --git a/java/assets/layouts/Default/colemak_dh_ansi.yaml b/java/assets/layouts/Default/colemak_dh_ansi.yaml deleted file mode 100644 index fdb3ac795b65aaeb5d0139c52f4c0c6aa4d5463f..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/colemak_dh_ansi.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: "Colemak DH (ANSI)" -rows: - - letters: - - q - - w - - f - - p - - b - - j - - l - - u - - y - - {type: case, normal: ";", shifted: ":"} - - letters: a r s t g m n e i o - - letters: x c d v z k h \ No newline at end of file diff --git a/java/assets/layouts/Default/dvorak.yaml b/java/assets/layouts/Default/dvorak.yaml deleted file mode 100644 index 31b08ddc506a17f7ea7c69c9333dce215b8c8eee..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/dvorak.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: Dvorak -rows: - - letters: - - {type: case, normal: "'", shifted: "\""} - - {type: case, normal: ",", shifted: "<"} - - {type: case, normal: ".", shifted: ">"} - - p - - y - - f - - g - - c - - r - - l - - letters: a o e u i d h t n s - - letters: $shift j k x b m w v $delete - - bottom: $symbols q $action $space $contextual z $enter \ No newline at end of file diff --git a/java/assets/layouts/Default/ipa.yaml b/java/assets/layouts/Default/ipa.yaml deleted file mode 100644 index 766659efcc15ed70a6b2f582f6aaceb153b20c2c..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/ipa.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# This layout is preliminary and is missing moreKeys -name: International Phonetic Alphabet -minimumFunctionalKeyWidth: 0.0 -attributes: &attrs - shiftable: false - useKeySpecShortcut: false - moreKeyMode: OnlyExplicit - labelFlags: { followKeyLetterRatio: true } -rows: - - letters: - - "p" - - "b" - - "t" - - "d" - - "ʈ" - - "É–" - - "c" - - "ÉŸ" - - "k" - - "É¡" - - "q" - - "É¢" - - letters: - - "m" - - "ɱ" - - "Ê™" - - "n" - - "r" - - "ɳ" - - "ɽ" - - "ɲ" - - "Å‹" - - "É´" - - "Ê€" - - "Ê”" - - letters: - - "ɸ" - - "f" - - "θ" - - "ɬ" - - "s" - - "ʃ" - - "Ê‚" - - "ç" - - "x" - - "χ" - - "ħ" - - "h" - - letters: - - "β" - - "v" - - "ð" - - "É®" - - "z" - - "Ê’" - - "Ê" - - "Ê" - - "É£" - - "Ê" - - "Ê•" - - "ɦ" - - letters: - - { - type: base, - spec: "1/3|!code/key_to_alt_0_layout", - attributes: - &functional { - width: FunctionalKey, - style: Functional, - anchored: true, - showPopup: false, - labelFlags: { followKeyLetterRatio: false } - }, - } - - "w" - - "Ê‹" - - "ɹ" - - "l" - - "É»" - - "É" - - "É¥" - - "j" - - "ÊŽ" - - "É°" - - "$delete" - -altPages: - - - letters: - - "i" - - "y" - - "$gap" - - "$gap" - - "$gap" - - "ɨ" - - "ʉ" - - "$gap" - - "$gap" - - "ɯ" - - "u" - - "$gap" - - letters: - - "$gap" - - "$gap" - - "ɪ" - - "Ê" - - "$gap" - - "ɪ̈" - - "ʊ̈" - - "$gap" - - "ɯ̽" - - "ÊŠ" - - "$gap" - - "$gap" - - letters: - - "$gap" - - "e" - - "ø" - - "$gap" - - "ɘ" - - "ɵ" - - "$gap" - - "É™" - - "$gap" - - "ɤ" - - "o" - - "$gap" - - letters: - - "$gap" - - "É›" - - "Å“" - - "$gap" - - "Éœ" - - "Éž" - - "$gap" - - "É" - - "$gap" - - "ÊŒ" - - "É”" - - "$gap" - - letters: - - { - type: base, - spec: "2/3|!code/key_to_alt_1_layout", - attributes: *functional, - } - - "$gap" - - "æ" - - "a" - - "ɶ" - - "$gap" - - "ä" - - "ɒ̈" - - "$gap" - - "É‘" - - "É’" - - "$delete" - - - letters: - - "É“Ì¥" - - "É“" - - "É—Ì¥" - - "É—" - - "ᶑ̥" - - "ᶑ" - - "Ê„ÌŠ" - - "Ê„" - - "É ÌŠ" - - "É " - - "ʛ̥" - - "Ê›" - - letters: - - "pʼ" - - "tʼ" - - "tsʼ" - - "tÌ ÊƒÊ¼" - - "ʈʂʼ" - - "ʈʼ" - - "ɬʼ" - - "tɬʼ" - - "cʼ" - - "kʼ" - - "qʼ" - - "ʡʼ" - - letters: - - "ɸʼ" - - "fʼ" - - "θʼ" - - "sʼ" - - "ʃʼ" - - "ʂʼ" - - "ɕʼ" - - "cÊŽÌ̊ʼ" - - "xʼ" - - "kÊŸÌ̊ʼ" - - "xʼ" - - "χʼ" - - letters: - - "ʘ" - - "ʘ̬" - - "Ç€" - - "ǀ̬" - - "ǀ̃" - - "ǃ" - - "ǃ̬" - - "ǃ˞" - - "Ç‚" - - "ǂ̬" - - "Ë€" - - "̃ˀ" - - letters: - - { - type: base, - spec: "3/3|!code/key_to_alt_1_layout", - attributes: *functional, - } - - "ʘ̃" - - "Ç" - - "Ç̬" - - "Ç̃" - - "ǃ̃" - - "ǃ̃˞" - - "ǃ̬˞" - - "ǂ̃" - - "Ì¥" - - "ʼ" - - "$delete" diff --git a/java/assets/layouts/Default/nordic.yaml b/java/assets/layouts/Default/nordic.yaml deleted file mode 100644 index b87724b408066d5568d7dbed5c37298e328d0176..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/nordic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: "QWERTY+3 (Nordic)" -languages: fi sv da et nb -rows: - - letters: - - q - - w - - e - - r - - t - - y - - u - - i - - o - - p - - ["!text/keyspec_nordic_row1_11", "!text/morekeys_nordic_row1_11"] - - letters: - - a - - s - - d - - f - - g - - h - - j - - k - - l - - ["!text/keyspec_nordic_row2_10", "!text/morekeys_nordic_row2_10"] - - ["!text/keyspec_nordic_row2_11", "!text/morekeys_nordic_row2_11"] - - letters: - - z - - x - - c - - v - - b - - n - - m \ No newline at end of file diff --git a/java/assets/layouts/Default/pcqwerty.yaml b/java/assets/layouts/Default/pcqwerty.yaml deleted file mode 100644 index 38cc857d56969fd11cf53a5b1c4a3f9955a6cae8..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/pcqwerty.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: "PC QWERTY" -rows: - - numbers: - - {type: case, normal: ["`", "~"], shifted: "~"} - - {type: case, normal: ["1", "!"], shifted: "!"} - - {type: case, normal: ["2", "@"], shifted: "@"} - - {type: case, normal: ["3", "#"], shifted: "#"} - - {type: case, normal: ["4", "$"], shifted: "$"} - - {type: case, normal: ["5", "%"], shifted: "%"} - - {type: case, normal: ["6", "^"], shifted: "^"} - - {type: case, normal: ["7", "&"], shifted: "&"} - - {type: case, normal: ["8", "*"], shifted: "*"} - - {type: case, normal: ["9", "("], shifted: "("} - - {type: case, normal: ["0", ")"], shifted: ")"} - - {type: case, normal: ["-", "_"], shifted: "_"} - - {type: case, normal: ["=", "+"], shifted: "+"} - - letters: - - q - - w - - e - - r - - t - - y - - u - - i - - o - - p - - {type: case, normal: ["[", "{"], shifted: "{"} - - {type: case, normal: ["]", "}"], shifted: "}"} - - {type: case, normal: ["\\\\", "|"], shifted: "\\|"} - - letters: - - a - - s - - d - - f - - g - - h - - j - - k - - l - - {type: case, normal: [";", ":"], shifted: ":"} - - {type: case, normal: ["'", "\""], shifted: "\""} - - $delete - - letters: - - $shift - - z - - x - - c - - v - - b - - n - - m - - {type: case, normal: [",", "<"], shifted: "<"} - - {type: case, normal: [".", ">"], shifted: ">"} - - {type: case, normal: ["/", "?"], shifted: "?"} - - $shift - - bottom: ["$symbols", "$space", "$enter"] -numberRowMode: AlwaysEnabled \ No newline at end of file diff --git a/java/assets/layouts/Default/qwerty.yaml b/java/assets/layouts/Default/qwerty.yaml deleted file mode 100644 index 1df6bb9ff0653833aa9262299438ad8e497a97df..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/qwerty.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: QWERTY -rows: - - letters: q w e r t y u i o p - - letters: a s d f g h j k l - - letters: z x c v b n m \ No newline at end of file diff --git a/java/assets/layouts/Default/qwertz.yaml b/java/assets/layouts/Default/qwertz.yaml deleted file mode 100644 index 487fb1486e55b62e6f6bda8bf0c9b3c8652b7de3..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/qwertz.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: QWERTZ -rows: - - letters: q w e r t z u i o p - - letters: a s d f g h j k l - - letters: y x c v b n m \ No newline at end of file diff --git a/java/assets/layouts/Default/spanish.yaml b/java/assets/layouts/Default/spanish.yaml deleted file mode 100644 index f2a45adc94d739ee15ca379cc19ca91e2da39fdc..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/spanish.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: "QWERTY+1 (Spanish)" -languages: es ca eo pt -rows: - - letters: "q w e r t y u i o p" - - letters: "a s d f g h j k l !text/keyspec_spanish_row2_10" - - letters: "z x c v b n m" \ No newline at end of file diff --git a/java/assets/layouts/Default/swiftdvorak.yaml b/java/assets/layouts/Default/swiftdvorak.yaml deleted file mode 100644 index 91b711b677e12b692d4d8408124e8fc8f2f1d41d..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/swiftdvorak.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: "Swift DVORAK" -rows: - - letters: "$delete $delete ' p y f g c r l" - - letters: "a o e u i d h t n s" - - letters: "$shift q j k x b m w v z" - - bottom: "$symbols , $space . $enter" \ No newline at end of file diff --git a/java/assets/layouts/Default/swiss.yaml b/java/assets/layouts/Default/swiss.yaml deleted file mode 100644 index ddef5f8d3e62cdaa4211cc537c03754d65a237d1..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Default/swiss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: "QWERTZ+3 (Swiss)" -languages: de fr it -rows: - - letters: - - q - - w - - e - - r - - t - - z - - u - - i - - o - - p - - ["!text/keyspec_swiss_row1_11", "!text/morekeys_swiss_row1_11"] - - letters: - - a - - s - - d - - f - - g - - h - - j - - k - - l - - ["!text/keyspec_swiss_row2_10", "!text/morekeys_swiss_row2_10"] - - ["!text/keyspec_swiss_row2_11", "!text/morekeys_swiss_row2_11"] - - letters: - - y - - x - - c - - v - - b - - n - - m \ No newline at end of file diff --git a/java/assets/layouts/Devanagari/hindi.yaml b/java/assets/layouts/Devanagari/hindi.yaml deleted file mode 100644 index a6a0ef4a83dab0540900e6e3d3411207738488cd..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Devanagari/hindi.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Hindi -languages: hi -rows: - - letters: # rowkeys_hindi1.xml - - {type: case, normal: ['ौ', 'ौं'], shifted: ['औ', 'ऒं']} - - {type: case, normal: ['ै', 'ैं'], shifted: ['à¤', 'à¤à¤‚']} - - {type: case, normal: ['ा', 'ां', 'ाà¤'], shifted: ['आ', 'आं', 'आà¤']} - - {type: case, normal: ['ी', 'ीं'], shifted: ['ई', 'ईं']} - - {type: case, normal: ['ू', 'ूं', 'ूà¤'], shifted: ['ऊ', 'ऊं', 'ऊà¤']} - - {type: case, normal: ['ब', 'ब॒'], shifted: ['à¤']} - - {type: case, normal: ['ह'], shifted: ['ः']} - - {type: case, normal: ['ग', 'जà¥à¤ž', 'ग़', 'ग॒'], shifted: ['घ']} - - {type: case, normal: ['द'], shifted: ['ध', 'कà¥à¤·', 'शà¥à¤°']} - - {type: case, normal: ['ज', 'ज॒', 'जà¥à¤ž', 'ज़'], shifted: ['à¤']} - - {type: case, normal: ['ड', 'ड॒', 'ड़'], shifted: ['ढ']} - - letters: # rowkeys_hindi2.xml - - {type: case, normal: ['ो', 'ों', 'ॉ', 'ॊ'], shifted: ['ओ', 'ओं', 'ऑ', 'ऒ']} - - {type: case, normal: ['े', 'ें'], shifted: ['à¤', 'à¤à¤‚', 'à¤à¤', 'à¤', 'ऎ']} - - {type: case, normal: ['à¥'], shifted: ['अ', 'अं', 'अà¤']} - - {type: case, normal: ['ि', 'िं'], shifted: ['इ', 'इं', 'इà¤']} - - {type: case, normal: ['à¥', 'à¥à¤‚', 'à¥à¤'], shifted: ['उ', 'उं', 'उà¤']} - - {type: case, normal: ['प'], shifted: ['फ', 'फ़']} - - {type: case, normal: ['र', 'ऋ', 'ऱ', 'ॠ'], shifted: ['ऱ', 'à¥à¤°', 'रà¥']} - - {type: case, normal: ['क', 'क़'], shifted: ['ख', 'ख़']} - - {type: case, normal: ['त', 'तà¥à¤°'], shifted: ['थ']} - - {type: case, normal: ['च'], shifted: ['छ']} - - {type: case, normal: ['ट'], shifted: ['ठ']} - - letters: # rowkeys_hindi3.xml - - {type: case, normal: ['ॉ'], shifted: ['ऑ']} - - {type: case, normal: ['ं'], shifted: ['à¤', 'ॅ']} - - {type: case, normal: ['म', 'à¥'], shifted: ['ण']} - - {type: case, normal: ['न', 'ञ', 'ङ', 'ऩ'], shifted: ['ऩ']} - - {type: case, normal: ['व'], shifted: ['ळ', 'ऴ']} - - {type: case, normal: ['ल', 'ऌ', 'ॡ'], shifted: ['श']} - - {type: case, normal: ['स'], shifted: ['ष']} - - {type: case, normal: ['य', 'य़'], shifted: ['ृ', 'ॄ']} - - {type: case, normal: ['़', 'ॽ', '॰', 'ऽ'], shifted: ['ञ']} \ No newline at end of file diff --git a/java/assets/layouts/Devanagari/hindi_compact.yaml b/java/assets/layouts/Devanagari/hindi_compact.yaml deleted file mode 100644 index 844b4b7260c195d10ceb773aea1aba0c7a4ea8bc..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Devanagari/hindi_compact.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: Hindi Compact -languages: hi -useZWNJKey: true -rows: - - letters: # rowkeys_hindi_compact1.xml - - ['औ', 'ौ'] - - ['à¤', 'ै'] - - ['आ', 'ा'] - - ['ई', 'ी'] - - ['ऊ', 'ू'] - - ['ब', 'à¤'] - - ['ह'] - - ['ग', 'घ'] - - ['द', 'ध'] - - ['ज', 'à¤', 'जà¥à¤ž'] - - ['ड', 'ढ'] - - letters: # rowkeys_hindi_compact2.xml - - ['ओ', 'ो'] - - ['à¤', 'े'] - - ['अ', 'à¥'] - - ['इ', 'ि'] - - ['उ', 'à¥'] - - ['प', 'फ'] - - ['र', 'ऋ', 'ृ'] - - ['क', 'ख'] - - ['त', 'थ', 'तà¥à¤°'] - - ['च', 'छ'] - - ['ट', 'ठ'] - - letters: # rowkeys_hindi_compact3.xml - - ['ऑ', 'ॉ'] - - ['à¥', 'ॅ', 'à¤'] - - ['ं', 'ः', 'à¤', '़'] - - ['म', 'à¥'] - - ['न', 'ण', 'ञ', 'ङ'] - - ['व'] - - ['ल'] - - ['स', 'श', 'ष', 'शà¥à¤°'] - - ['य'] - - ['कà¥à¤·'] - - $delete -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Devanagari/marathi.yaml b/java/assets/layouts/Devanagari/marathi.yaml deleted file mode 100644 index db9e0ece37bb5f41a78bb0393fe198fa428e3eba..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Devanagari/marathi.yaml +++ /dev/null @@ -1,146 +0,0 @@ -name: Marathi -languages: mr-IN -rows: - - letters: # rowkeys_marathi1.xml - # U+094C: ौ DEVANAGARI VOWEL SIGN AU - # U+0914: औ DEVANAGARI LETTER AU - - ["\u094c", "\u0914"] - - # U+0948: ै DEVANAGARI VOWEL SIGN AI - # U+0910: ठDEVANAGARI LETTER AI - - ["\u0948", "\u0910"] - - # U+093E: ा DEVANAGARI VOWEL SIGN AA - # U+0906: आ DEVANAGARI LETTER AA - - ["\u093e", "\u0906"] - - # U+0940: ी DEVANAGARI VOWEL SIGN II - # U+0908: ई DEVANAGARI LETTER II - - ["\u0940", "\u0908"] - - # U+0942: ू DEVANAGARI VOWEL SIGN UU - # U+090A: ऊ DEVANAGARI LETTER UU - - ["\u0942", "\u090a"] - - # U+092C: ब DEVANAGARI LETTER BA - # U+092D: ठDEVANAGARI LETTER BHA - - ["\u092c", "\u092d"] - - # U+0939: ह DEVANAGARI LETTER HA - - ["\u0939"] - - # U+0917: ग DEVANAGARI LETTER GA - # U+0918: घ DEVANAGARI LETTER GHA - - ["\u0917", "\u0918"] - - # U+0926: द DEVANAGARI LETTER DA - # U+0927: ध DEVANAGARI LETTER DHA - - ["\u0926", "\u0927"] - - # U+091C: ज DEVANAGARI LETTER JA - # U+091D: ठDEVANAGARI LETTER JHA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+091E: ञ DEVANAGARI LETTER NYA - - ["\u091c", "\u091d", "\u091c\u094d\u091e"] - - # U+0921: ड DEVANAGARI LETTER DDA - # U+0922: ढ DEVANAGARI LETTER DDHA - - ["\u0921", "\u0922"] - - - letters: # rowkeys_marathi2.xml - # U+094B: ो DEVANAGARI VOWEL SIGN O - # U+0913: ओ DEVANAGARI LETTER O - - ["\u094b", "\u0913"] - - # U+0947: े DEVANAGARI VOWEL SIGN E - # U+090F: ठDEVANAGARI LETTER E - - ["\u0947", "\u090f"] - - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0905: अ DEVANAGARI LETTER A - - ["\u094d", "\u0905"] - - # U+093F: ि DEVANAGARI VOWEL SIGN I - # U+0907: इ DEVANAGARI LETTER I - - ["\u093f", "\u0907"] - - # U+0941: ॠDEVANAGARI VOWEL SIGN U - # U+0909: उ DEVANAGARI LETTER U - - ["\u0941", "\u0909"] - - # U+092A: प DEVANAGARI LETTER PA - # U+092B: फ DEVANAGARI LETTER PHA - - ["\u092a", "\u092b"] - - # U+0930: र DEVANAGARI LETTER RA - # U+0931: ऱ DEVANAGARI LETTER RRA - # U+090B: ऋ DEVANAGARI LETTER VOCALIC R - # U+0943: ृ DEVANAGARI VOWEL SIGN VOCALIC R - - ["\u0930", "\u0931", "\u090b", "\u0943"] - - # U+0915: क DEVANAGARI LETTER KA - # U+0916: ख DEVANAGARI LETTER KHA - - ["\u0915", "\u0916"] - - # U+0924: त DEVANAGARI LETTER TA - # U+0925: थ DEVANAGARI LETTER THA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0930: र DEVANAGARI LETTER RA - - ["\u0924", "\u0925", "\u0924\u094d\u0930"] - - # U+091A: च DEVANAGARI LETTER CA - # U+091B: छ DEVANAGARI LETTER CHA - - ["\u091a", "\u091b"] - - # U+091F: ट DEVANAGARI LETTER TTA - # U+0920: ठDEVANAGARI LETTER TTHA - - ["\u091f", "\u0920"] - - - letters: # rowkeys_marathi3.xml - # U+0949: ॉ DEVANAGARI VOWEL SIGN CANDRA O - # U+0911: ऑ DEVANAGARI LETTER CANDRA O - - ["\u0949", "\u0911"] - - # U+0945: ॅ DEVANAGARI VOWEL SIGN CANDRA E - # U+090D: ठDEVANAGARI LETTER CANDRA E - - ["\u0945", "\u090d"] - - # U+0902: ं DEVANAGARI SIGN ANUSVARA - # U+0903: ः DEVANAGARI SIGN VISARGA - # U+0901: ठDEVANAGARI SIGN CANDRABINDU - - ["\u0902", "\u0903", "\u0901"] - - # U+092E: म DEVANAGARI LETTER MA - - ["\u092e"] - - # U+0928: न DEVANAGARI LETTER NA - # U+0923: ण DEVANAGARI LETTER NNA - # U+091E: ञ DEVANAGARI LETTER NYA - # U+0919: ङ DEVANAGARI LETTER NGA - - ["\u0928", "\u0923", "\u091e", "\u0919"] - - # U+0935: व DEVANAGARI LETTER VA - - ["\u0935"] - - # U+0932: ल DEVANAGARI LETTER LA - # U+0933: ळ DEVANAGARI LETTER LLA - - ["\u0932", "\u0933"] - - # U+0938: स DEVANAGARI LETTER SA - # U+0936: श DEVANAGARI LETTER SHA - # U+0937: ष DEVANAGARI LETTER SSA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0930: र DEVANAGARI LETTER RA - - ["\u0938", "\u0936", "\u0937", "\u0936\u094d\u0930"] - - # U+092F: य DEVANAGARI LETTER YA - - ["\u092f"] - - # U+0915: क DEVANAGARI LETTER KA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0937: ष DEVANAGARI LETTER SSA - - ["\u0915\u094d\u0937"] - - - $delete - -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Devanagari/nepali_romanized.yaml b/java/assets/layouts/Devanagari/nepali_romanized.yaml deleted file mode 100644 index 4bf85c7f55e6497c3787f18cec94877fe51f649b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Devanagari/nepali_romanized.yaml +++ /dev/null @@ -1,128 +0,0 @@ -name: Nepali (Romanized) -languages: ne-NP -useZWNJKey: true -rows: - - letters: # rowkeys_nepali_romanized1.xml - # U+091F: ट DEVANAGARI LETTER TTA - # U+093C: ़ DEVANAGARI SIGN NUKTA - # U+0920: ठDEVANAGARI LETTER TTHA - - {type: case, normal: ["\u091f", "%", "\u093c"], shifted: ["\u0920"]} - - # U+094C: ौ DEVANAGARI VOWEL SIGN AU - # U+0914: औ DEVANAGARI LETTER AU - - {type: case, normal: ["\u094c"], shifted: ["\u0914"]} - - # U+0947: े DEVANAGARI VOWEL SIGN E - # U+0948: ै DEVANAGARI VOWEL SIGN AI - - {type: case, normal: ["\u0947"], shifted: ["\u0948"]} - - # U+0930: र DEVANAGARI LETTER RA - # U+0943: ृ DEVANAGARI VOWEL SIGN VOCALIC R - - {type: case, normal: ["\u0930"], shifted: ["\u0943"]} - - # U+0924: त DEVANAGARI LETTER TA - # U+0925: थ DEVANAGARI LETTER THA - - {type: case, normal: ["\u0924"], shifted: ["\u0925"]} - - # U+092F: य DEVANAGARI LETTER YA - # U+091E: ञ DEVANAGARI LETTER NYA - - {type: case, normal: ["\u092f"], shifted: ["\u091e"]} - - # U+0941: ॠDEVANAGARI VOWEL SIGN U - # U+0942: ू DEVANAGARI VOWEL SIGN UU - - {type: case, normal: ["\u0941"], shifted: ["\u0942"]} - - # U+093F: ि DEVANAGARI VOWEL SIGN I - # U+0940: ी DEVANAGARI VOWEL SIGN II - - {type: case, normal: ["\u093f"], shifted: ["\u0940"]} - - # U+094B: ो DEVANAGARI VOWEL SIGN O - # U+0913: ओ DEVANAGARI LETTER O - - {type: case, normal: ["\u094b"], shifted: ["\u0913"]} - - # U+092A: प DEVANAGARI LETTER PA - # U+092B: फ DEVANAGARI LETTER PHA - - {type: case, normal: ["\u092a"], shifted: ["\u092b"]} - - # U+0907: इ DEVANAGARI LETTER I - # U+0908: ई DEVANAGARI LETTER II - - {type: case, normal: ["\u0907"], shifted: ["\u0908"]} - - - letters: # rowkeys_nepali_romanized2.xml - # U+093E: ा DEVANAGARI VOWEL SIGN AA - # U+0906: आ DEVANAGARI LETTER AA - - {type: case, normal: ["\u093e"], shifted: ["\u0906"]} - - # U+0938: स DEVANAGARI LETTER SA - # U+0936: श DEVANAGARI LETTER SHA - - {type: case, normal: ["\u0938"], shifted: ["\u0936"]} - - # U+0926: द DEVANAGARI LETTER DA - # U+0927: ध DEVANAGARI LETTER DHA - - {type: case, normal: ["\u0926"], shifted: ["\u0927"]} - - # U+0909: उ DEVANAGARI LETTER U - # U+090A: ऊ DEVANAGARI LETTER UU - - {type: case, normal: ["\u0909"], shifted: ["\u090a"]} - - # U+0917: ग DEVANAGARI LETTER GA - # U+0918: घ DEVANAGARI LETTER GHA - - {type: case, normal: ["\u0917"], shifted: ["\u0918"]} - - # U+0939: ह DEVANAGARI LETTER HA - # U+0905: अ DEVANAGARI LETTER A - - {type: case, normal: ["\u0939"], shifted: ["\u0905"]} - - # U+091C: ज DEVANAGARI LETTER JA - # U+091D: ठDEVANAGARI LETTER JHA - - {type: case, normal: ["\u091c"], shifted: ["\u091d"]} - - # U+0915: क DEVANAGARI LETTER KA - # U+0916: ख DEVANAGARI LETTER KHA - - {type: case, normal: ["\u0915"], shifted: ["\u0916"]} - - # U+0932: ल DEVANAGARI LETTER LA - # U+0965: ॥ DEVANAGARI DOUBLE DANDA - - {type: case, normal: ["\u0932"], shifted: ["\u0965"]} - - # U+090F: ठDEVANAGARI LETTER E - # U+0910: ठDEVANAGARI LETTER AI - - {type: case, normal: ["\u090f"], shifted: ["\u0910"]} - - # U+0950: ॠDEVANAGARI OM - # U+0903: ः DEVANAGARI SIGN VISARGA - - {type: case, normal: ["\u0950"], shifted: ["\u0903"]} - - - letters: # rowkeys_nepali_romanized3.xml - # U+0937: ष DEVANAGARI LETTER SSA - # U+090B: ऋ DEVANAGARI LETTER VOCALIC R - - {type: case, normal: ["\u0937"], shifted: ["\u090b"]} - - # U+0921: ड DEVANAGARI LETTER DDA - # U+0922: ढ DEVANAGARI LETTER DDHA - - {type: case, normal: ["\u0921"], shifted: ["\u0922"]} - - # U+091A: च DEVANAGARI LETTER CA - # U+091B: छ DEVANAGARI LETTER CHA - - {type: case, normal: ["\u091a"], shifted: ["\u091b"]} - - # U+0935: व DEVANAGARI LETTER VA - # U+0901: ठDEVANAGARI SIGN CANDRABINDU - - {type: case, normal: ["\u0935"], shifted: ["\u0901"]} - - # U+092C: ब DEVANAGARI LETTER BA - # U+092D: ठDEVANAGARI LETTER BHA - - {type: case, normal: ["\u092c"], shifted: ["\u092d"]} - - # U+0928: न DEVANAGARI LETTER NA - # U+0923: ण DEVANAGARI LETTER NNA - - {type: case, normal: ["\u0928"], shifted: ["\u0923"]} - - # U+092E: म DEVANAGARI LETTER MA - # U+0902: ं DEVANAGARI SIGN ANUSVARA - - {type: case, normal: ["\u092e"], shifted: ["\u0902"]} - - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+093D: ऽ DEVANAGARI SIGN AVAGRAHA - # U+0919: ङ DEVANAGARI LETTER NGA - - {type: case, normal: ["\u094d", "\u093d"], shifted: ["\u0919"]} \ No newline at end of file diff --git a/java/assets/layouts/Devanagari/nepali_traditional.yaml b/java/assets/layouts/Devanagari/nepali_traditional.yaml deleted file mode 100644 index 53488a6532f15579122f58ac8afcee895abe97d2..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Devanagari/nepali_traditional.yaml +++ /dev/null @@ -1,166 +0,0 @@ -name: Nepali (Traditional) -languages: ne-NP -useZWNJKey: true -rows: - - letters: # rowkeys_nepali_traditional1.xml - # U+091F: ट DEVANAGARI LETTER TTA - # U+0924: त DEVANAGARI LETTER TA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+091E: ञ DEVANAGARI LETTER NYA - # U+091C: ज DEVANAGARI LETTER JA - # U+0965: ॥ DEVANAGARI DOUBLE DANDA - - {type: case, normal: ["\u091f"], shifted: ["\u0924\u094d\u0924", "\u091e", "\u091c\u094d\u091e", "\u0965"]} - - # U+0927: ध DEVANAGARI LETTER DHA - # U+0921: ड DEVANAGARI LETTER DDA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0922: ढ DEVANAGARI LETTER DDHA - # U+0908: ई DEVANAGARI LETTER II - - {type: case, normal: ["\u0927"], shifted: ["\u0921\u094d\u0922", "\u0908"]} - - # U+092D: ठDEVANAGARI LETTER BHA - # U+0910: ठDEVANAGARI LETTER AI - # U+0918: घ DEVANAGARI LETTER GHA - - {type: case, normal: ["\u092d"], shifted: ["\u0910", "\u0918"]} - - # U+091A: च DEVANAGARI LETTER CA - # U+0926: द DEVANAGARI LETTER DA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0935: व DEVANAGARI LETTER VA - # U+0927: ध DEVANAGARI LETTER DHA - - {type: case, normal: ["\u091a"], shifted: ["\u0926\u094d\u0935", "\u0926\u094d\u0927"]} - - # U+0924: त DEVANAGARI LETTER TA - # U+091F: ट DEVANAGARI LETTER TTA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+091B: छ DEVANAGARI LETTER CHA - - {type: case, normal: ["\u0924"], shifted: ["\u091f\u094d\u091f", "\u091b"]} - - # U+0925: थ DEVANAGARI LETTER THA - # U+0920: ठDEVANAGARI LETTER TTHA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+091F: ट DEVANAGARI LETTER TTA - - {type: case, normal: ["\u0925"], shifted: ["\u0920\u094d\u0920", "\u091f"]} - - # U+0917: ग DEVANAGARI LETTER GA - # U+090A: ऊ DEVANAGARI LETTER UU - # U+0920: ठDEVANAGARI LETTER TTHA - - {type: case, normal: ["\u0917"], shifted: ["\u090a", "\u0920"]} - - # U+0937: ष DEVANAGARI LETTER SSA - # U+0915: क DEVANAGARI LETTER KA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0921: ड DEVANAGARI LETTER DDA - - {type: case, normal: ["\u0937"], shifted: ["\u0915\u094d\u0937", "\u0921"]} - - # U+092F: य DEVANAGARI LETTER YA - # U+0907: इ DEVANAGARI LETTER I - # U+0922: ढ DEVANAGARI LETTER DDHA - - {type: case, normal: ["\u092f"], shifted: ["\u0907", "\u0922"]} - - # U+0909: उ DEVANAGARI LETTER U - # U+090F: ठDEVANAGARI LETTER E - # U+0923: ण DEVANAGARI LETTER NNA - - {type: case, normal: ["\u0909"], shifted: ["\u090f", "\u0923"]} - - # U+0907: इ DEVANAGARI LETTER I - # U+0914: औ DEVANAGARI LETTER AU - # U+0943: ृ DEVANAGARI VOWEL SIGN VOCALIC R - # U+0913: ओ DEVANAGARI LETTER O - - {type: case, normal: ["\u0907", "\u0914"], shifted: ["\u0943", "\u0913"]} - - - letters: # rowkeys_nepali_traditional2.xml - # U+092C: ब DEVANAGARI LETTER BA - # U+0906: आ DEVANAGARI LETTER AA - - {type: case, normal: ["\u092c"], shifted: ["\u0906"]} - - # U+0915: क DEVANAGARI LETTER KA - # U+0919: ङ DEVANAGARI LETTER NGA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - - {type: case, normal: ["\u0915"], shifted: ["\u0919\u094d"]} - - # U+092E: म DEVANAGARI LETTER MA - # U+0921: ड DEVANAGARI LETTER DDA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - - {type: case, normal: ["\u092e"], shifted: ["\u0921\u094d\u0921"]} - - # U+093E: ा DEVANAGARI VOWEL SIGN AA - # U+0901: ठDEVANAGARI SIGN CANDRABINDU - - {type: case, normal: ["\u093e"], shifted: ["\u0901"]} - - # U+0928: न DEVANAGARI LETTER NA - # U+0926: द DEVANAGARI LETTER DA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - - {type: case, normal: ["\u0928"], shifted: ["\u0926\u094d\u0926"]} - - # U+091C: ज DEVANAGARI LETTER JA - # U+091D: ठDEVANAGARI LETTER JHA - - {type: case, normal: ["\u091c"], shifted: ["\u091d"]} - - # U+0935: व DEVANAGARI LETTER VA - # U+094B: ो DEVANAGARI VOWEL SIGN O - - {type: case, normal: ["\u0935"], shifted: ["\u094b"]} - - # U+092A: प DEVANAGARI LETTER PA - # U+092B: फ DEVANAGARI LETTER PHA - - {type: case, normal: ["\u092a"], shifted: ["\u092b"]} - - # U+093F: ि DEVANAGARI VOWEL SIGN I - # U+0940: ी DEVANAGARI VOWEL SIGN II - - {type: case, normal: ["\u093f"], shifted: ["\u0940"]} - - # U+0938: स DEVANAGARI LETTER SA - # U+091F: ट DEVANAGARI LETTER TTA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0920: ठDEVANAGARI LETTER TTHA - - {type: case, normal: ["\u0938"], shifted: ["\u091f\u094d\u0920"]} - - # U+0941: ॠDEVANAGARI VOWEL SIGN U - # U+0942: ू DEVANAGARI VOWEL SIGN UU - - {type: case, normal: ["\u0941"], shifted: ["\u0942"]} - - - letters: # rowkeys_nepali_traditional3.xml - # U+0936: श DEVANAGARI LETTER SHA - # U+0915: क DEVANAGARI LETTER KA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - - {type: case, normal: ["\u0936"], shifted: ["\u0915\u094d"]} - - # U+0939: ह DEVANAGARI LETTER HA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+092E: म DEVANAGARI LETTER MA - - {type: case, normal: ["\u0939"], shifted: ["\u0939\u094d\u092e"]} - - # U+0905: अ DEVANAGARI LETTER A - # U+090B: ऋ DEVANAGARI LETTER VOCALIC R - - {type: case, normal: ["\u0905"], shifted: ["\u090b"]} - - # U+0916: ख DEVANAGARI LETTER KHA - # U+0950: ॠDEVANAGARI OM - - {type: case, normal: ["\u0916"], shifted: ["\u0950"]} - - # U+0926: द DEVANAGARI LETTER DA - # U+094C: ौ DEVANAGARI VOWEL SIGN AU - - {type: case, normal: ["\u0926"], shifted: ["\u094c"]} - - # U+0932: ल DEVANAGARI LETTER LA - # U+0926: द DEVANAGARI LETTER DA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+092F: य DEVANAGARI LETTER YA - - {type: case, normal: ["\u0932"], shifted: ["\u0926\u094d\u092f"]} - - # U+0947: े DEVANAGARI VOWEL SIGN E - # U+0903: ः DEVANAGARI SIGN VISARGA - # U+093D: ऽ DEVANAGARI SIGN AVAGRAHA - # U+0902: ं DEVANAGARI SIGN ANUSVARA - - {type: case, normal: ["\u0947", "\u0903", "\u093d"], shifted: ["\u0902"]} - - # U+094D: ॠDEVANAGARI SIGN VIRAMA - # U+0919: ङ DEVANAGARI LETTER NGA - - {type: case, normal: ["\u094d"], shifted: ["\u0919"]} - - # U+0930: र DEVANAGARI LETTER RA - # U+0941: ॠDEVANAGARI VOWEL SIGN U - # U+0948: ै DEVANAGARI VOWEL SIGN AI - # U+0936: श DEVANAGARI LETTER SHA - # U+094D: ॠDEVANAGARI SIGN VIRAMA - - {type: case, normal: ["\u0930", "\u0930\u0941"], shifted: ["\u0948", "\u0936\u094d\u0930"]} \ No newline at end of file diff --git a/java/assets/layouts/French/bepo.yaml b/java/assets/layouts/French/bepo.yaml deleted file mode 100644 index 16683f35242bd221cf4788af3d8c218c3574e417..0000000000000000000000000000000000000000 --- a/java/assets/layouts/French/bepo.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: BEPO -languages: fr -rows: - - letters: # rowkeys_bepo1.xml - - ['b'] - - ['é', 'è'] - - ['p'] - - ['o'] - - ['v'] - - ['d'] - - ['l'] - - ['j'] - - ['z'] - - ['w'] - - letters: # rowkeys_bepo2.xml - - ['a'] - - ['u'] - - ['i'] - - ['e'] - - ['c'] - - ['t'] - - ['s'] - - ['r'] - - ['n'] - - ['m'] - - letters: # rowkeys_bepo3.xml - - ['y'] - - ['x'] - - ['k'] - - ['q'] - - ['g'] - - ['h'] - - ['f'] \ No newline at end of file diff --git a/java/assets/layouts/Georgian/georgian.yaml b/java/assets/layouts/Georgian/georgian.yaml deleted file mode 100644 index 14a42bd1ef36815e9e0a96ce49ed29830d86a77b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Georgian/georgian.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: Georgian -languages: ka_GE -attributes: {shiftable: false} # Automatic shifting breaks many of the characters -rows: - - letters: - - 'ქ' - - {type: case, normal: ['წ', 'áƒ'], shiftedManually: ['áƒ']} - - ['ე', '%', 'ჱ'] - - {type: case, normal: ['რ', 'ღ'], shiftedManually: ['ღ']} - - {type: case, normal: ['ტ', 'თ'], shiftedManually: ['თ']} - - ['ყ', '%', 'ჸ'] - - 'უ' - - ['ი', '%', 'ჲ'] - - 'áƒ' - - 'პ' - - letters: - - ['áƒ', 'ჺ'] - - {type: case, normal: ['ს', 'შ'], shiftedManually: ['შ']} - - 'დ' - - ['ფ', 'ჶ'] - - ['გ', 'ჹ'] - - ['ჰ', 'ჵ'] - - {type: case, normal: ['ჯ', 'ჟ', 'ჷ'], shiftedManually: ['ჟ']} - - 'კ' - - 'ლ' - - letters: - - {type: case, normal: ['ზ', 'ძ'], shiftedManually: ['ძ']} - - ['ხ', 'ჴ'] - - {type: case, normal: ['ც', 'ჩ'], shiftedManually: ['ჩ']} - - ['ვ', 'ჳ'] - - 'ბ' - - ['ნ', 'ჼ'] - - 'მ' \ No newline at end of file diff --git a/java/assets/layouts/German/german.yaml b/java/assets/layouts/German/german.yaml deleted file mode 100644 index 61a1115f6841ed639706d7eaa76ea14cc2e19f2d..0000000000000000000000000000000000000000 --- a/java/assets/layouts/German/german.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# TODO: Redundant with swiss? -name: Deutsch -languages: de -rows: - - letters: q w e r t z u i o p ü - - letters: a s d f g h j k l ö ä - - letters: y x c v b n m \ No newline at end of file diff --git a/java/assets/layouts/Greek/greek.yaml b/java/assets/layouts/Greek/greek.yaml deleted file mode 100644 index 6e24596597ffaa4ae54d2efd09f0ffdf8ac10cf1..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Greek/greek.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: Greek -languages: el -rows: - - letters: # rowkeys_greek1.xml - - {type: case, normal: [';', '%', ':', '·'], shifted: [':', '%', ';', '·']} - - {type: base, spec: 'Ï‚', attributes: {shiftable: false}} # This specific character must not be shifted - - ['ε', 'Î', '%', 'á½²', 'á¼', 'ἑ', 'á¼”', 'ἕ', 'á¼’', 'ἓ'] - - ['Ï', '%', 'á¿¥'] - - ['Ï„'] - - ['Ï…', 'Ï', '%', 'Ï‹', 'ΰ', 'ὺ', 'ῦ', 'á½', 'ὑ', 'á½”', 'ὕ', 'á½’', 'ὓ', 'á½–', 'á½—', 'á¿¢', 'ῧ'] - - ['θ'] - - ['ι', 'ί', '%', 'ÏŠ', 'Î', 'ὶ', 'á¿–', 'á¼°', 'á¼±', 'á¼´', 'á¼µ', 'á¼²', 'á¼³', 'ἶ', 'á¼·', 'á¿’', 'á¿—'] - - ['ο', 'ÏŒ', '%', 'ὸ', 'á½€', 'á½', 'ὄ', 'á½…', 'ὂ', 'ὃ'] - - ['Ï€'] - - letters: # rowkeys_greek2.xml - - {type: case, normal: ['α', 'ά', 'á½°', 'ᾶ', 'á¼€', 'á¼', 'ἄ', 'á¼…', 'ἂ', 'ἃ', 'ἆ', 'ἇ', 'á¾³', 'á¾´', 'á¾²', 'á¾·', 'á¾€', 'á¾', 'ᾄ', 'á¾…', 'ᾂ', 'ᾃ', 'ᾆ', 'ᾇ'], shifted: ['Α', 'Ά', 'Ὰ', 'Ἀ', 'Ἁ', 'ἄ', 'á¼…', 'Ἂ', 'Ἃ', 'Ἆ', 'á¼']} - - ['σ'] - - ['δ'] - - ['φ'] - - ['γ'] - - {type: case, normal: ['η', 'ή', 'á½´', 'ῆ', 'á¼ ', 'ἡ', 'ἤ', 'á¼¥', 'á¼¢', 'á¼£', 'ἦ', 'ἧ', 'ῃ', 'á¿„', 'á¿‚', 'ῇ', 'á¾', 'ᾑ', 'á¾”', 'ᾕ', 'á¾’', 'ᾓ', 'á¾–', 'á¾—'], shifted: ['Η', 'Ή', 'á¿Š', 'Ἠ', 'Ἡ', 'Ἤ', 'á¼', 'Ἢ', 'Ἣ', 'á¼®', 'Ἧ']} - - ['ξ'] - - ['κ'] - - ['λ'] - - letters: # rowkeys_greek3.xml - - ['ζ'] - - ['χ'] - - ['ψ'] - - {type: case, normal: ['ω', 'ÏŽ', 'á½¼', 'ῶ', 'á½ ', 'ὡ', 'ὤ', 'á½¥', 'á½¢', 'á½£', 'ὦ', 'ὧ', 'ῳ', 'á¿´', 'ῲ', 'á¿·', 'á¾ ', 'ᾡ', 'ᾤ', 'á¾¥', 'á¾¢', 'á¾£', 'ᾦ', 'ᾧ'], shifted: ['ω', 'Î', 'Ὼ', 'Ὠ', 'Ὡ', 'Ὤ', 'á½', 'Ὢ', 'Ὣ', 'á½®', 'Ὧ']} - - ['β'] - - ['ν'] - - ['μ'] -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Hebrew/hebrew-staggered.yaml b/java/assets/layouts/Hebrew/hebrew-staggered.yaml deleted file mode 100644 index b75b5a1275d1a56da6b8482b1c7db61dbbce3cbd..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Hebrew/hebrew-staggered.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: Hebrew Staggered -languages: iw -attributes: {moreKeyMode: OnlyExplicit} -rows: - - letters: - - ['ק', '1'] - - ['ר', '2'] - - ['×', '3'] - - ['ט', '4'] - - ['ו', '5'] - - ['ן', '6'] - - ['×', '7'] - - ['פ', '8'] - - $delete - - letters: - - ['ש'] - - ['ד'] - - ['×’', 'ג׳'] - - ['×›'] - - ['×¢'] - - ['×™', 'ײַ'] - - ['×—', 'ח׳'] - - ['ל'] - - ['ך', '9'] - - ['×£', '0'] - - letters: - - ['×–', 'ז׳'] - - ['ס'] - - ['ב'] - - ['×”'] - - ['× '] - - ['מ'] - - ['צ', 'צ׳'] - - ['ת', 'ת׳'] - - ['×¥', 'ץ׳'] \ No newline at end of file diff --git a/java/assets/layouts/Hebrew/hebrew.yaml b/java/assets/layouts/Hebrew/hebrew.yaml deleted file mode 100644 index a1dad772577e1e7a13c3e34e04af09a6e26aa990..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Hebrew/hebrew.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: Hebrew -languages: iw -rows: - - letters: # rowkeys_hebrew1.xml - # skipped unknown case {'{http://schemas.android.com/apk/res-auto}mode': 'email|url'} - - ["\\'", '%', '"'] - - ['-', '%', '_'] - - ['ק'] - - ['ר'] - - ['×'] - - ['ט'] - - ['ו'] - - ['ן'] - - ['×'] - - ['פ'] - - letters: # rowkeys_hebrew2.xml - - ['ש'] - - ['ד'] - - ['×’', 'ג׳'] - - ['×›'] - - ['×¢'] - - ['×™', 'ײַ'] - - ['×—', 'ח׳'] - - ['ל'] - - ['ך'] - - ['×£'] - - letters: # rowkeys_hebrew3.xml - - ['×–', 'ז׳'] - - ['ס'] - - ['ב'] - - ['×”'] - - ['× '] - - ['מ'] - - ['צ', 'צ׳'] - - ['ת', 'ת׳'] - - ['×¥', 'ץ׳'] - - $delete # force no shift key -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Icelandic/icelandic.yaml b/java/assets/layouts/Icelandic/icelandic.yaml deleted file mode 100644 index 83a4b8fbb26f03f90d9ce42cba6f31d35adca530..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Icelandic/icelandic.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# Contributed by ornstrange -name: Ãslenska -languages: is -rows: - - letters: q w e r t y u i o p ð - - letters: a s d f g h j k l æ ö - - letters: z x c v b n m þ diff --git a/java/assets/layouts/Kannada/kannada.yaml b/java/assets/layouts/Kannada/kannada.yaml deleted file mode 100644 index d4ccf6192694499041b79370486b916946281d35..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Kannada/kannada.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: Kannada -languages: kn-IN -useZWNJKey: true -rows: - - letters: # rowkeys_kannada1.xml - - ['ೌ', 'ಔ', '೧'] - - ['ೈ', 'à²', '೨'] - - ['ಾ', 'ಆ', '೩'] - - ['à³€', 'ಈ', '೪'] - - ['ೂ', 'ಊ', '೫'] - - ['ಬ', 'à²', '೬'] - - ['ಹ', 'ಙ', 'à³'] - - ['ಗ', 'ಘ', 'à³®'] - - ['ದ', 'ಧ', '೯'] - - ['ಜ', 'à²', '೦'] - - ['ಡ', 'ಢ'] - - letters: # rowkeys_kannada2.xml - - ['ೋ', 'ಓ'] - - ['ೇ', 'à²'] - - ['à³', 'ಅ'] - - ['ಿ', 'ಇ'] - - ['à³', 'ಉ'] - - ['ಪ', 'ಫ'] - - ['ರ', 'ಱ', 'ೃ'] - - ['ಕ', 'ಖ'] - - ['ತ', 'ಥ'] - - ['ಚ', 'ಛ'] - - ['ಟ', 'ಠ'] - - letters: # rowkeys_kannada3.xml - - ['ೆ', 'ಒ'] - - ['ಂ', 'ಎ'] - - ['ಮ'] - - ['ನ', 'ಣ'] - - ['ವ'] - - ['ಲ', 'ಳ'] - - ['ಸ', 'ಶ'] - - ['ಋ', 'à³à²°'] - - ['ಷ', 'ಕà³à²·'] - - ['ಯ', 'ಜà³à²ž'] - - $delete # force no shift key \ No newline at end of file diff --git a/java/assets/layouts/Khmer/khmer.yaml b/java/assets/layouts/Khmer/khmer.yaml deleted file mode 100644 index 556c95a80063d877615682f1d5430eae0a7934dc..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Khmer/khmer.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Khmer -languages: km-KH -minimumFunctionalKeyWidth: 0.0 -attributes: { moreKeyMode: OnlyExplicit } -numberRowMode: AlwaysDisabled -rows: - - letters: # rowkeys_khmer1.xml - - {type: case, normal: ['១', '1', '៱'], shifted: ['!', "!icon/zwj_key|\u200d"]} - - {type: case, normal: ['២', '2', '៲'], shifted: ['ៗ', "!icon/zwnj_key|\u200c"]} - - {type: case, normal: ['៣', '3', '៳'], shifted: ['"', '៑']} - - {type: case, normal: ['៤', '4', '៴'], shifted: ['៛', '$', '€']} - - {type: case, normal: ['៥', '5', '៵'], shifted: ['%', '៖']} - - {type: case, normal: ['៦', '6', '៶'], shifted: ['áŸ', '៙']} - - {type: case, normal: ['៧', '7', '៷'], shifted: ['áŸ', '៚']} - - {type: case, normal: ['៨', '8', '៸'], shifted: ['áŸ', "\u17d7", '*']} - - {type: case, normal: ['៩', '9', '៹'], shifted: ['(', '{', '«']} - - {type: case, normal: ['០', '0', '៰'], shifted: [')', '}', '»']} - - {type: case, normal: ['ឥ', 'ឦ'], shifted: ['៌', '×']} - - {type: case, normal: ['áž²', 'áž±'], shifted: ['៎']} - - letters: # rowkeys_khmer2.xml - - {type: case, normal: ['ឆ'], shifted: ['ឈ', 'ៜ']} - - {type: case, normal: ['áž¹'], shifted: ['ឺ', 'áŸ']} - - {type: case, normal: ['áŸ'], shifted: ['ែ']} - - {type: case, normal: ['ážš'], shifted: ['ឬ', 'áž«']} - - {type: case, normal: ['áž'], shifted: ['áž‘']} - - {type: case, normal: ['áž™'], shifted: ['áž½']} - - {type: case, normal: ['áž»'], shifted: ['áž¼']} - - {type: case, normal: ['áž·'], shifted: ['ី']} - - {type: case, normal: ['ោ'], shifted: ['ៅ']} - - {type: case, normal: ['áž•'], shifted: ['áž—']} - - {type: case, normal: ['ៀ'], shifted: ['áž¿']} - - {type: case, normal: ['ឪ', 'ឧ', 'áž±', 'áž³', 'áž©', 'ឨ'], shifted: ['áž°']} - - letters: # rowkeys_khmer3.xml - - {type: case, normal: ['ា'], shifted: ['ាំ']} - - {type: case, normal: ['ស'], shifted: ['ៃ']} - - {type: case, normal: ['ដ'], shifted: ['ឌ']} - - {type: case, normal: ['áž'], shifted: ['áž’']} - - {type: case, normal: ['áž„'], shifted: ['អ']} - - {type: case, normal: ['áž '], shifted: ['ះ', 'ៈ']} - - {type: case, normal: ['្'], shifted: ['ញ']} - - {type: case, normal: ['ក'], shifted: ['áž‚', 'áž']} - - {type: case, normal: ['áž›'], shifted: ['áž¡']} - - {type: case, normal: ['áž¾'], shifted: ['ោះ']} - - {type: case, normal: ['់'], shifted: ['៉']} - - {type: case, normal: ['áž®', 'áž', 'áž°'], shifted: ['ឯ']} - - letters: # rowkeys_khmer4.xml - - {type: case, normal: ['áž‹'], shifted: ['áž']} - - {type: case, normal: ['áž'], shifted: ['ឃ']} - - {type: case, normal: ['áž…'], shifted: ['ជ']} - - {type: case, normal: ['ážœ'], shifted: ['áŸáŸ‡']} - - {type: case, normal: ['áž”'], shifted: ['áž–', 'ážž']} - - {type: case, normal: ['áž“'], shifted: ['ណ']} - - {type: case, normal: ['ម'], shifted: ['ំ']} - - {type: case, normal: ['ុំ'], shifted: ['ុះ']} - - {type: case, normal: ['។'], shifted: ['៕']} - - {type: case, normal: ['៊', "\u17d8"], shifted: ['?']} -# detected 4 rows \ No newline at end of file diff --git a/java/assets/layouts/Lao/lao.yaml b/java/assets/layouts/Lao/lao.yaml deleted file mode 100644 index 7c64b7de2269f50843206a78bec65aeeab046864..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Lao/lao.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Lao -languages: lo-LA -minimumFunctionalKeyWidth: 0.0 -attributes: { moreKeyMode: OnlyExplicit } -numberRowMode: AlwaysDisabled -rows: - - letters: # rowkeys_lao1.xml - - {type: case, normal: ['ຢ', '1', '໑'], shifted: ['໑']} - - {type: case, normal: ['ຟ', '2', 'à»’'], shifted: ['à»’']} - - {type: case, normal: ['ໂ', '3', '໓'], shifted: ['໓']} - - {type: case, normal: ['ຖ', '4', 'à»”'], shifted: ['à»”']} - - {type: case, normal: ['ຸ'], shifted: ['໌']} - - {type: case, normal: ['ູ'], shifted: ['ຼ']} - - {type: case, normal: ['ຄ', '5', '໕'], shifted: ['໕']} - - {type: case, normal: ['ຕ', '6', 'à»–'], shifted: ['à»–']} - - {type: case, normal: ['ຈ', '7', 'à»—'], shifted: ['à»—']} - - {type: case, normal: ['ຂ', '8', '໘'], shifted: ['໘']} - - {type: case, normal: ['ຊ', '9', 'à»™'], shifted: ['à»™']} - - {type: case, normal: ['à»'], shifted: ['à»à»ˆ']} - - letters: # rowkeys_lao2.xml - - {type: case, normal: ['ົ'], shifted: ['ົ້']} - - {type: case, normal: ['ໄ', '0', 'à»'], shifted: ['à»']} - - {type: case, normal: ['ຳ'], shifted: ['ຳ້']} - - {type: case, normal: ['ພ'], shifted: ['_']} - - {type: case, normal: ['ະ'], shifted: ['+']} - - {type: case, normal: ['ິ'], shifted: ['ິ້']} - - {type: case, normal: ['ີ'], shifted: ['ີ້']} - - {type: case, normal: ['ຮ'], shifted: ['ຣ']} - - {type: case, normal: ['ນ'], shifted: ['ໜ']} - - {type: case, normal: ['àº'], shifted: ['ຽ']} - - {type: case, normal: ['ບ'], shifted: ['ຫຼ']} - - {type: case, normal: ['ລ'], shifted: ['â€']} - - letters: # rowkeys_lao3.xml - - {type: case, normal: ['ັ'], shifted: ['ັ້']} - - {type: case, normal: ['ຫ'], shifted: [';']} - - {type: case, normal: ['àº'], shifted: ['.']} - - {type: case, normal: ['ດ'], shifted: [',']} - - {type: case, normal: ['ເ'], shifted: [':']} - - {type: case, normal: ['້'], shifted: ['໊']} - - {type: case, normal: ['່'], shifted: ['໋']} - - {type: case, normal: ['າ'], shifted: ['!']} - - {type: case, normal: ['ສ'], shifted: ['?']} - - {type: case, normal: ['ວ'], shifted: ['%']} - - {type: case, normal: ['ງ'], shifted: ['=']} - - {type: case, normal: ['“'], shifted: ['“']} - - letters: # rowkeys_lao4.xml - - {type: case, normal: ['ຜ'], shifted: ['â‚']} - - {type: case, normal: ['ປ'], shifted: ['(']} - - {type: case, normal: ['à»'], shifted: ['ຯ']} - - {type: case, normal: ['àº'], shifted: ['@']} - - {type: case, normal: ['ຶ'], shifted: ['ຶ້']} - - {type: case, normal: ['ື'], shifted: ['ື້']} - - {type: case, normal: ['ທ'], shifted: ['ໆ']} - - {type: case, normal: ['ມ'], shifted: ['à»']} - - {type: case, normal: ['ໃ'], shifted: ['$']} - - {type: case, normal: ['àº'], shifted: [')']} -# detected 4 rows \ No newline at end of file diff --git a/java/assets/layouts/LayoutSpec.md b/java/assets/layouts/LayoutSpec.md deleted file mode 100644 index 2edd76271cf645f953880565519bea95419c7aab..0000000000000000000000000000000000000000 --- a/java/assets/layouts/LayoutSpec.md +++ /dev/null @@ -1,1020 +0,0 @@ -# Keyboard Layout Format - -A lot of concepts are explained through examples in this document, please read through them to -understand different ways of defining layouts. - -A good way to learn is also to read through the existing layouts in this repository. - -## Starting out - -The YAML file's entry point is the [Keyboard](#keyboard) data class. It only requires a name and -rows. - -The QWERTY layout is defined like so: -```yaml -name: "QWERTY" -rows: - - letters: q w e r t y u i o p - - letters: a s d f g h j k l - - letters: z x c v b n m -``` - -The name must be defined first, and letter rows are defined next. - -There are many ways to define the same thing. Use which one makes most sense for your use case. All rows in the below example are functionally identical: -```yaml -name: Different examples -rows: - # Basic definition as string - - letters: q w e r t - - # Basic definition as string (quoting is necessary if you use some symbols) - - letters: "q w e r t" - - # Definition as inline list - - letters: ["q", "w", "e", "r", "t"] - - # Definition as multiline list, and unicode escapes - - letters: - # U+0071: LATIN SMALL LETTER Q - - "\u0071" - # U+0077: LATIN SMALL LETTER W - - "\u0077" - # U+0065: LATIN SMALL LETTER E - - "\u0065" - # U+0072: LATIN SMALL LETTER R - - "\u0072" - # U+0074: LATIN SMALL LETTER T - - "\u0074" - - # Defining base, explicit case, and mixing randomly - - letters: - - {type: base, spec: q} - - {type: case, normal: w, shifted: W} - - e - - "\u0072" - - type: case - normal: - type: base - spec: "t|t" # pipe symbol is keyspec syntax: label|code - code: 0x74 # though you can set code explicitly too - shifted: {type: base, spec: T} -``` - -Defining layout-specific moreKeys can also be done in multiple ways: -```yaml -name: MoreKeys examples -rows: - # List syntax: [primarykey, ...morekeys] - - letters: - - [a, Ä…] - - b - - [c, Ä] - - [d] # For consistency you can also specify a key without morekeys like this - - [e, Ä—, Ä™] - - # You can also do it inline at the cost of readability - - letters: [[a, Ä…], b, [c, Ä], d, [e, Ä—, Ä™]] - - # Explicit BaseKey syntax - - letters: - - {type: base, spec: "a", moreKeys: "Ä…"} - - {type: base, spec: b} - - type: base - spec: "c" - moreKeys: "Ä" - - "d" - - type: base - spec: "e" - moreKeys: ["Ä™", "Ä—"] - - # You can use list syntax anywhere that expects a Key, such as `case` - - letters: - - type: case - normal: [a, Ä…] - shifted: [A, Ä„] - - b - - {type: case, normal: [c, Ä], shifted: [C, ÄŒ]} - - d - - [e, Ä™, Ä—] -``` - -These shortcuts for defining things are explained more in the shortcuts section. In practice you -should avoid randomly mixing different ways of defining keys, you should stick to something that -keeps the file readable and understandable. - -With RTL languages it's advised to use unicode escapes in order to keep the file easily editable. -It's good practice to include a comment explaining each unicode character: -```yaml -name: Arabic -rows: - - letters: - # U+0636: "ض" ARABIC LETTER DAD - - "\u0636" - # U+0635: "ص" ARABIC LETTER SAD - - "\u0635" - # U+062B: "Ø«" ARABIC LETTER THEH - - "\u062B" - # U+0642: "Ù‚" ARABIC LETTER QAF - # U+06A8: "Ú¨" ARABIC LETTER QAF WITH THREE DOTS ABOVE - - ["\u0642", "\u06A8"] -``` - - -### Number row and bottom row - -A default number row and bottom row will be added if they are not explicitly defined. You can -override them with custom ones for more advanced layouts: - -```yaml -name: "PC QWERTY Example" -numberRowMode: AlwaysEnabled -rows: - - numbers: "` 1 2 3 4 5 6 7 8 9 0 - =" - - letters: "q w e r t y u i o p [ ] \\" - - letters: "a s d f g h j k l ; ' $delete" - - letters: "$shift z x c v b n m , . / $shift" - - bottom: "$symbols $space $enter" -``` - -There can at most be one number row, and one bottom row. If they are explicitly defined in the -layout file, then the number row must be at the top and bottom row must be at the bottom. -Between 1 and 8 letter rows are permitted. - -### Template keys (automatic shift and backspace) -The keyboard parser automatically prepends `$shift` and appends `$delete` to the final letter row -when all of the following conditions are met: -1. No `bottom` row is explicitly defined -2. None of the letter rows explicitly set `$shift` or `$delete` - -What this means is that to customize the location of shift and delete, or to disable the shift key -in your layout, you just need to specify `$shift` and/or `$delete` somewhere, and the automatic -insertion will be disabled. If you specify an explicit bottom row, you will need to manually specify -them as well. - -In this example, the backspace (`$delete`) is relocated to the second row instead of its usual place in the third row: -```yaml -name: "Alphabet" -rows: - - letters: a b c d e f g h i j - - letters: k l m n o p q r s $delete # Backspace on this row instead of bottom row - - letters: $shift t u v w x y z $shift # Two shift keys - - bottom: $symbols $space $enter # No comma or period -``` - - -You can use the following template keys: - -* `$shift` - shift key -* `$delete` - backspace key -* `$space` - spacebar -* `$enter` - enter/search/next/prev/go key -* `$symbols` - switch to symbols menu -* `$alphabet` - switch back to alphabet (only used in symbols layout) -* `$action` - action key, user-defined, may be empty -* `$number` - switch to numpad mode -* `$contextual` - contextual key, `/` for URLs and date fields, `@` for email fields, `:` for time fields -* `$zwnj` - Zero-width non-joiner key, and zero-width joiner key in morekeys. -* `$gap` - regular-width gap -* `$alt0` - switch to alt page 0, or back from alt page 0 -* `$alt1` - switch to alt page 1, or back from alt page 1 -* `$alt2` - switch to alt page 2, or back from alt page 2 - ---- - -### List<Key> and Key definition shortcuts - -There are a few shortcuts to help make it easier to define layouts. These are documented in this section. - -#### `Key` as a YAML string - -An example of a full BaseKey definition: -```yaml -name: example -rows: - - letters: - - type: base - spec: "a" -``` - -This shortcut allows you to define the exact same thing with just -```yaml -name: example -rows: - - letters: - - a -``` - -#### `Key` as a YAML list - -An example of a full BaseKey definition with moreKeys: -```yaml -name: example -rows: - - letters: - - type: base - spec: "a" - moreKeys: "ayy,ahh" -``` - -This shortcut allows you to define the exact same thing with just -```yaml -name: example -rows: - - letters: - - [a, ayy, ahh] -``` - -The first element is treated as the spec, and all subsequent elements are turned into moreKeys. - -#### `List<Key>` as a YAML string - -An example of a List<Key> definition, using the string shortcut for defining `Key`: -```yaml -name: example -rows: - - letters: [a, b, c] -``` - -This shortcut allows you to define the exact same thing with just -```yaml -name: example -rows: - - letters: a b c - # or - letters: "a b c", necessary for yaml parsing if you use some special symbols -``` - - -#### Key specs -Key specs work the same way they do in AOSP keyboard. For example you can define a differing label from its code, without needing to use the long format. -```yaml -name: "Arabic example" -rows: - - letters: - - " \u0654â—Œ|\u0654" # The label will appear as ٔ◌ but it will only type the Hamza mark, without the â—Œ circle -``` - - -### Automatic moreKeys - -moreKeys refers to the extra keys that are accessible by long-pressing a key. The layout engine -automatically adds a bunch of moreKeys to keys by default - symbols, actions, numbers, and accented -letters are added based on the key's location and user settings. - -You can customize the behavior of automatic moreKeys by setting `moreKeyMode` in attributes. For -example, to disable all automatic moreKeys, you can include this near the top of your layout -definition: - -```yaml -attributes: {moreKeyMode: OnlyExplicit} -``` - -moreKey modes are documented in the [More Key Mode](#more-key-mode) section of API reference. - -### Attribute system - -Attributes can be defined in multiple places: the keyboard itself, a specific row, or an individual -key. Attributes which are unset get inherited in a particular order. See the -[Key Attributes](#key-attributes) section of the API reference for all attributes and defaults. - -### Different key types - -The `base` key is fit for most cases, but `case` is also useful when you need the key to change -based on shift state. See the [Keys](#keys) section of the API reference for all key types. - ---- - - - - -# API Reference -## Keyboard -### Overview - -The `Keyboard` data class represents a keyboard layout definition, serving as the entry point for layout YAML files. - -### Properties - -#### `name` - -* **Description**: The human-readable name of the layout. If the layout is for a specific language, this should be written in the relevant language. -* **Type**: `String` -* **Optional**: No - -#### `rows` - -* **Description**: The rows defined for the layout. Defining the number row, bottom row, or the functional keys (shift/backspace) is optional here. If they are missing, defaults will automatically be added to `effectiveRows`. -* **Type**: `List<`[`Row`](#row)`>` -* **Optional**: No - -#### `languages` - -* **Description**: (optional) List of languages this layout is intended for. It will be displayed as an option for the specified languages. -* **Type**: `List<String>` -* **Optional**: Yes -* **Default Value**: empty list - -#### `description` - -* **Description**: (optional) A human-readable description of the layout. Authorship/origin information may be added here. This is intended to be displayed to the user when they are selecting layouts. -* **Type**: `String` -* **Optional**: Yes -* **Default Value**: empty string - -#### `layoutSetOverrides` - -* **Description**: (optional) Override the symbols layout or other layouts for this layout set. -* **Type**: [`LayoutSetOverrides`](#layout-set-overrides) -* **Optional**: Yes -* **Default Value**: A default instance of `LayoutSetOverrides` - -#### `numberRowMode` - -* **Description**: (optional) Whether the number row should be user-configurable, always displayed, or never. -* **Type**: [`NumberRowMode`](#numberrowmode-1) -* **Optional**: Yes -* **Default Value**: `UserConfigurable` - -#### `bottomRowHeightMode` - -* **Description**: (optional) Whether the bottom row should always maintain a consistent height, or whether it should grow and shrink. -* **Type**: [`BottomRowHeightMode`](#bottomrowheightmode-1) -* **Optional**: Yes -* **Default Value**: `Fixed` - -#### `bottomRowWidthMode` - -* **Description**: (optional) Whether the bottom row should follow key widths of other rows, or should maintain separate widths for consistency. -* **Type**: [`BottomRowWidthMode`](#bottomrowwidthmode-1) -* **Optional**: Yes -* **Default Value**: `SeparateFunctional` - -#### `attributes` - -* **Description**: (optional) Default attributes to use for all rows -* **Type**: [`KeyAttributes`](#key-attributes) -* **Optional**: Yes -* **Default Value**: A default instance of `KeyAttributes` - -#### `overrideWidths` - -* **Description**: (optional) Definitions of custom key widths. Values are between 0.0 and 1.0, with 1.0 representing 100% of the keyboard width. -* **Type**: `Map<`[`KeyWidth`](#key-widths)`, Float>`` -* **Optional**: Yes -* **Default Value**: empty map - -#### `rowHeightMode` - -* **Description**: (optional) Whether or not rows should fill the vertical space, or have vertical gaps added. -* **Type**: [`RowHeightMode`](#rowheightmode-1) -* **Optional**: Yes -* **Default Value**: `ClampHeight` - -#### `useZWNJKey` - -* **Description**: (optional) Whether or not the ZWNJ key should be shown in place of the contextual key. -* **Type**: `Boolean` -* **Optional**: Yes -* **Default Value**: `false` - -#### `minimumFunctionalKeyWidth` - -* **Description**: (optional) Minimum width for functional keys. -* **Type**: `Float` -* **Optional**: Yes -* **Default Value**: 0.125f - -#### `minimumBottomRowFunctionalKeyWidth` - -* **Description**: (optional) Minimum width for functional keys in the bottom row. -* **Type**: `Float` -* **Optional**: Yes -* **Default Value**: 0.15f - -#### `altPages` - -* **Description**: (optional) Alternative pages for this layout, use in conjunction with `$alt0`, `$alt1`, `$alt2`. -* **Type**: `List<List<`[`Row`](#row)`>>` -* **Optional**: Yes -* **Default Value**: empty list - -## Row - -### Overview - -The `Row` data class represents a single row in a keyboard layout. It allows for customization of various aspects, including the type of keys, row height, splittability, and behavior with respect to the number row. - -One of `numbers`, `letters` or `bottom` must be defined. - -#### `numbers` - -* **Description**: Defines this as a number row. -* **Type**: `List<Key>?` -* **Optional**: One of `numbers`, `letters` or `bottom` must be defined. -* **Default Value**: `null` -* **Behavior**: - * If defined, will be treated as a number row by default. - * Number rows are given grow keys, no background, and smaller height by default. - -#### `letters` - -* **Description**: Defines this as a letters row. -* **Type**: `List<Key>?` -* **Optional**: One of `numbers`, `letters` or `bottom` must be defined. -* **Default Value**: `null` -* **Behavior**: - * If defined, will be treated as a letters row by default. - * Letter rows are splittable by default. - -#### `bottom` - -* **Description**: Defines this as a bottom row. -* **Type**: `List<Key>?` -* **Optional**: One of `numbers`, `letters` or `bottom` must be defined. -* **Default Value**: `null` -* **Behavior**: - * If defined, this is a bottom row. Bottom row should typically contain: `$symbols , $action $space $contextual . $enter` - -#### `rowHeight` - -* **Description**: The height multiplier for this row. -* **Type**: `Double` -* **Optional**: Yes -* **Default Value**: `1.0` for letters and bottom rows, `0.8` for number rows. -* **Behavior**: - * Can be used to customize the row height with respect to other rows. - -#### `splittable` - -* **Description**: Whether this row is splittable. -* **Type**: `Boolean` -* **Optional**: Yes -* **Default Value**: `true` if defined as a letters row, `false` otherwise -* **Behavior**: - * If true, allows the row to be split when the user prefers a split layout (e.g. landscape) - -#### `numRowMode` - -* **Description**: How this row should behave with respect to the number row. -* **Type**: [`RowNumberRowMode`](#rownumberrowmode) -* **Optional**: Yes -* **Default Value**: `Default` -* **Behavior**: - * Can be customized to control when the row is displayed in relation to the number row. - -#### `attributes` - -* **Description**: Default key attributes for this row. -* **Type**: [`KeyAttributes`](#key-attributes) -* **Optional**: Yes -* **Default Value**: a default set of attributes -* **Behavior**: - * Allows customization of key styles, widths, and other attributes. - - -## Layout Set Overrides -### Overview - -The `LayoutSetOverrides` data class represents a set of overrides for specific layouts. -All layouts currently leave this default. - -### Properties - -#### `symbols` -* **Description**: The layout used when the keyboard is in symbols mode. -* **Type**: `String` -* **Default Value**: `"symbols"` - -#### `symbolsShifted` -* **Description**: The layout used when the keyboard is in shifted symbols mode. -* **Type**: `String` -* **Default Value**: `"symbols_shift"` - -#### `number` -* **Description**: The layout used when the keyboard is in numpad mode. -* **Type**: `String` -* **Default Value**: `"number"` - -#### `numberShifted` -* **Description**: The layout used when the keyboard is in shifted numpad mode (this is currently unused). -* **Type**: `String` -* **Default Value**: `"number_shift"` - -#### `phone` -* **Description**: The layout used when the keyboard is in phone mode. -* **Type**: `String` -* **Default Value**: `"phone"` - -#### `phoneShifted` -* **Description**: The layout used when the keyboard is in shifted phone mode. -* **Type**: `String` -* **Default Value**: `"phone_shift"` - -## Label Flags - -### Overview - -The `LabelFlags` data class represents flags for customizing the behavior of key labels on a key. - -### Properties - -#### `alignHintLabelToBottom` - -* **Description**: Aligns the hint label to the bottom of the key. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `alignIconToBottom` - -* **Description**: Aligns icon to the bottom of the key. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `alignLabelOffCenter` - -* **Description**: Aligns label off-center in the key. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `hasHintLabel` - -* **Description**: Indicates whether the key has a hint label. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `followKeyLabelRatio` - -* **Description**: Follows the key label ratio for text size. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `followKeyLetterRatio` - -* **Description**: Follows the key letter ratio for text size. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `followKeyLargeLetterRatio` - -* **Description**: Follows the key large letter ratio for text size. -* **Type**: `Boolean` -* **Default Value**: `false` - -#### `autoXScale` - -* **Description**: Enables automatic x-axis scaling to fit label within key. -* **Type**: `Boolean` -* **Default Value**: `false` - - -## Key Attributes -### Overview - -The `KeyAttributes` data class represents various attributes for keys in a keyboard layout. These attributes control how keys are displayed and behave. - -### Properties - -#### `width` - -* **Description**: The width token for the key. -* **Type**: [`KeyWidth?`](#key-widths) -* **DefaultKeyAttributes Value**: `Regular` -* **Behavior**: - * Specifies the width of the key using a width token. - -#### `style` - -* **Description**: The visual style (background) for the key. -* **Type**: [`KeyVisualStyle?`](#key-visual-style) -* **DefaultKeyAttributes Value**: `Normal` -* **Behavior**: - * Defines the background appearance of the key. - -#### `anchored` - -* **Description**: Whether or not to anchor the key to the edges. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `false` -* **Behavior**: - * If true, anchors the key to the edges, adding padding as needed. - -#### `showPopup` - -* **Description**: Whether or not to show the popup indicator when the key is pressed. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `true` -* **Behavior**: - * If true, displays a popup indicator for letters, but this may be undesirable for functional or large keys. - -#### `moreKeyMode` - -* **Description**: Which moreKeys to add automatically. -* **Type**: [`MoreKeyMode?`](#more-key-mode) -* **getEffectiveAttributes Default Value**: `All` if the row is a letter or bottom row, and the effective width is Regular, else `OnlyFromLetter` -* **Behavior**: - * Specifies the mode for adding more keys automatically. - -#### `useKeySpecShortcut` - -* **Description**: Whether or not to use keyspec shortcuts. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `true` -* **Behavior**: - * If true, enables automatic conversion of certain characters using keyspec shortcuts. - -#### `longPressEnabled` - -* **Description**: Whether or not longpress is enabled for the key. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `false` -* **Behavior**: - * If true, enables long press functionality for the key. - -#### `labelFlags` - -* **Description**: Label flags for how the key's label (and its hint) should be presented. -* **Type**: [`LabelFlags?`](#label-flags) -* **DefaultKeyAttributes Value**: `{ autoXScale: true }` -* **Behavior**: - * Specifies how to display the key's label and hint. - -#### `repeatableEnabled` - -* **Description**: Whether or not the key is repeatable, intended for backspace or arrow keys. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `false` -* **Behavior**: - * If true, enables repeat functionality for the key. - -#### `shiftable` - -* **Description**: Whether or not the key is automatically shiftable. -* **Type**: `Boolean?` -* **DefaultKeyAttributes Value**: `true` -* **Behavior**: - * If true, the code and label automatically becomes uppercased when the layout is shifted. If this is not desired, this can be set to false. Shift behavior can be customized by using a CaseSelector. - -### Inheritance - -The attributes are inherited in the following order: - -1. `Key.attributes` -2. `Row.attributes` -3. `Keyboard.attributes` -4. `DefaultKeyAttributes` - - - -# Keys - -## Base -### Overview -The `BaseKey` data class is the main one used to define keys in a keyboard layout. It contains various attributes and settings for customization. - -Explicit definition in yaml is done with `type: base`. - -You can automatically define a BaseKey with default settings by simply specifying the spec in place of the BaseKey object: -```yaml -# Instead of - - letters: - - type: base - spec: "a" - -# You can do the same thing like this - - letters: - - "a" - -# But customizing attributes requires the long-form definition - - letters: - - type: base - spec: "a" - attributes: { style: NoBackground } -``` - -### Properties - -#### `spec` -* **Description**: [AOSP key spec](#key-spec). -* **Type**: `String` -* **Behavior**: - * Specifies the key specification, which can contain custom label, code, icon, or output text. - -#### `attributes` -* **Description**: Attributes for this key. -* **Type**: [`KeyAttributes`](#key-attributes) -* **Default Value**: blank -* **Behavior**: - * Specifies various attributes for the key, such as width, style, and more. - * Values defined here supersede any other values inherited from row, keyboard, or default attributes. - -#### `moreKeys` -* **Description**: More keys for this key. -* **Type**: `List<String>` -* **Default Value**: empty list -* **Behavior**: - * Specifies more keys that should be added. - * Can be defined as a list or comma-separated string in YAML (e.g. `a,b,c`) - -#### `hint` -* **Description**: Hint for the key. -* **Type**: `String?` -* **Default Value**: `null` -* **Behavior**: - * If set, overrides a default hint from the value of moreKeys. - * Specifies a custom hint for the key. - -### Key Spec - -Each key specification is one of the following: -- Label optionally followed by keyOutputText (keyLabel|keyOutputText). -- Label optionally followed by code point (keyLabel|!code/code_name). -- Icon followed by keyOutputText (!icon/icon_name|keyOutputText). -- Icon followed by code point (!icon/icon_name|!code/code_name). - -Label and keyOutputText are one of the following: -- Literal string. -- Label reference represented by (!text/label_name), see {@link KeyboardTextsSet}. -- String resource reference represented by (!text/resource_name), see {@link KeyboardTextsSet}. - -Icon is represented by (!icon/icon_name), see {@link KeyboardIconsSet}. - -Code is one of the following: -- Code point presented by hexadecimal string prefixed with "0x" -- Code reference represented by (!code/code_name), see {@link KeyboardCodesSet}. - -Special character, comma ',' backslash '\', and bar '|' can be escaped by '\' character. -Note that the '\' is also parsed by XML parser and {@link MoreKeySpec#splitKeySpecs(String)} -as well. - - -## Case Selector -### Overview -The `CaseSelector` data class represents a case selector key in a keyboard layout. It allows specifying different types of keys depending on when the layout is shifted or not. - -Defined in yaml using `type: case` - -Note: You can specify a different type of Key in different cases. For example, normal can be a base key, and shifted can be a gap. - -### Properties - -#### `normal` -* **Description**: Key to use normally. Required. -* **Type**: `Key` -* **Behavior**: - * Specifies the key to use when the layout is not shifted. - -#### `shifted` -* **Description**: Key to use when shifted. -* **Type**: `Key` -* **Default Value**: same as `normal` -* **Behavior**: - * Specifies the key to use when the layout is shifted. - -#### `shiftedManually` -* **Description**: Key to use when shifted, excluding automatic shift. -* **Type**: `Key` -* **Default Value**: same as `shifted` -* **Behavior**: - * Specifies the key to use when the layout is shifted manually. - -#### `shiftLocked` -* **Description**: Key to use when shift locked (caps lock). -* **Type**: `Key` -* **Default Value**: same as `shiftedManually` -* **Behavior**: - * Specifies the key to use when the shift lock is enabled. - -#### `symbols` -* **Description**: Key to use when in symbols layout. -* **Type**: `Key` -* **Default Value**: same as `normal` -* **Behavior**: - * Specifies the key to use when the layout is in symbols mode. - -#### `symbolsShifted` -* **Description**: Key to use when in symbols layout and shifted. -* **Type**: `Key` -* **Default Value**: same as `normal` -* **Behavior**: - * Specifies the key to use when the layout is in symbols mode and shifted. - - -## Gap -### Overview -The `GapKey` data class represents a gap in the keyboard layout. -Instead of a key, a gap will be placed in its place. - -Defined in yaml using `type: gap`, or just use the `$gap` shortcut. - -### Properties - -#### `attributes` -* **Description**: Attributes for this key. This is mainly useful for setting the width. -* **Type**: `KeyAttributes` -* **Default Value**: blank - - -## Enter -### Overview -The `EnterKey` data class represents an enter key. Its icon and moreKeys will depend on the input field. - -Defined in yaml using `type: enter` - -This is not intended to be used in layouts, instead please use the `$enter` shortcut when possible. - -### Properties - -#### `attributes` -* **Description**: Attributes for this key. -* **Type**: `KeyAttributes` -* **Default Value**: blank - - -## Action -### Overview -The `ActionKey` data class represents the user-configurable action key. If an action key is not set, -then the key will be skipped. - -Defined in yaml using `type: action` - -This is not intended to be used in layouts, instead please use the `$action` shortcut when possible. - -### Properties - -#### `attributes` -* **Description**: Attributes for this key. -* **Type**: `KeyAttributes` -* **Default Value**: blank - - -## Contextual -### Overview -The `ContextualKey` data class represents a contextual key. It's shown only in specific keyboard layouts as defined here: -```kotlin - KeyboardId.MODE_EMAIL to BaseKey(spec = "@", attributes = attributes), - KeyboardId.MODE_URL to BaseKey(spec = "/", attributes = attributes), - KeyboardId.MODE_DATETIME to BaseKey(spec = "/", moreKeys = listOf(":"), attributes = attributes), - KeyboardId.MODE_DATE to BaseKey(spec = "/", attributes = attributes), - KeyboardId.MODE_TIME to BaseKey(spec = ":", attributes = attributes), -``` -Defined in yaml using `type: contextual` - -This is not intended to be used in layouts, instead please use the `$contextual` shortcut when possible. - -### Properties - -#### `attributes` -* **Description**: Attributes for this key. -* **Type**: `KeyAttributes` -* **Default Value**: blank - - ---- --- --- - -# Enums - -## Key Widths - -The `KeyWidth` enum represents various width tokens for keys in a keyboard layout. It simplifies the process of specifying key widths by using tokens instead of explicit percentages. - -#### `Regular` -* **Description**: Regular key width, used for normal letters. -* **Behavior**: - * Calculated based on the total keyboard width and maximum number of keys in a row. - * Consistent across the entire keyboard except in some cases (bottom row, split layout, or rows with functional keys). - -#### `FunctionalKey` -* **Description**: Functional key width, used for functional keys like Shift, Backspace, Enter, and Symbols. -* **Behavior**: - * Has a minimum width specified by the [`minimumFunctionalKeyWidth`](#minimumfunctionalkeywidth) property. - * May be larger than the minimum if there is available space. - -#### `Grow` -* **Description**: Grow width, used for keys that take up remaining space divided evenly among all grow keys in the row. -* **Behavior**: - * Currently not supported in splittable rows. - * Can complicate width calculation for functional keys and others. - * Mainly used for spacebar. - -#### `Custom1`, `Custom2`, `Custom3`, `Custom4` -* **Description**: Custom width tokens, defined in the [`overrideWidths`](#overridewidths) property of the keyboard configuration. -* **Behavior**: - * Values are between 0.0 and 1.0. - * Used to specify custom widths for specific keys or layouts. - -## Key Visual Style -The `KeyVisualStyle` enum represents the visual style of a key in a keyboard layout. It affects the background of the key based on user theme settings. - -#### `Normal` -* **Description**: Uses a normal key background, intended for all letters. -* **Behavior**: This may be a rounded rectangle or no background depending on user settings. - -#### `NoBackground` -* **Description**: Uses no key background, intended for number row numbers. -* **Behavior**: No background will be shown for this key. - -#### `Functional` -* **Description**: Uses a slightly darker colored background, intended for functional keys (backspace, etc). -* **Behavior**: A more visually distinct background is used, it may be dimmer or more saturated. - -#### `StickyOff` -* **Description**: Intended for Shift when it's not shiftlocked. -* **Behavior**: Specifies a background for Shift when it's not shiftlocked. - -#### `StickyOn` -* **Description**: Intended for Shift to indicate it's shiftlocked. Uses a more bright background. -* **Behavior**: Specifies a brighter background for Shift when it's shiftlocked. - -#### `Action` -* **Description**: Uses a bright fully rounded background, normally used for the enter key. -* **Behavior**: Specifies a bright, fully rounded background for the enter key. - -#### `Spacebar` -* **Description**: Depending on the key borders setting, this is either the same as Normal (key borders enabled) or a fully rounded rectangle (key borders disabled). -* **Behavior**: Specifies a background for the spacebar key, which may be the same as Normal or a fully rounded rectangle depending on key borders settings. - -#### `MoreKey` -* **Description**: Visual style for moreKeys. Not intended for use in layout definitions. -* **Behavior**: Specifies a background for more keys. - - -## More Key Mode -The `MoreKeyMode` enum specifies which morekeys can be automatically added to the key. - -#### `All` -* **Description**: Insert all possible automatic moreKeys -* **Behavior**: - * Inserts moreKeys from keyspec shortcut. - * Inserts moreKeys for numbers, symbols, actions, and language letters based on user settings and based on the key's coordinate. - * Counts towards keyCoordinate. - -#### `OnlyFromLetter` -* **Description**: Only automatically insert morekeys from keyspec shortcut or language-related accents -* **Behavior**: - * Inserts moreKeys from keyspec shortcut, and for language letters based on user settings. - * Does not count towards keyCoordinate. - -#### `OnlyExplicit` -* **Description**: Do not automatically insert any morekeys. -* **Behavior**: - * Does not count towards keyCoordinate - * Only moreKeys explicitly defined for the key are included. - -## `BottomRowHeightMode` -Represents the height mode of the bottom row in a layout. - -#### `Fixed` -* **Description**: The bottom row height is fixed. - -#### `Flexible` -* **Description**: The bottom row height can vary based on row count. - - -## `BottomRowWidthMode` - -Represents the key width mode of keys in the bottom row. - -#### `SeparateFunctional` -* **Description**: The functional keys (symbols, enter) are at least [`minimumBottomFunctionalKeyWidth`](#minimumbottomrowfunctionalkeywidth) wide. - -#### `Identical` -* **Description**: The functional keys (symbols, enter) follow the functional width from other rows. - - -## `RowHeightMode` - -Represents the height mode of rows in this layout. - -#### `ClampHeight` -* **Description**: The row height is clamped to a reasonable height, row spacing is added to fill the space. - -#### `FillHeight` -* **Description**: The row height fills available height. - - -## `NumberRowMode` - -Represents the behavior of the number row in a layout. - -#### `UserConfigurable` -* **Description**: The number row can be enabled or disabled by the user in typing settings. - -#### `AlwaysEnabled` -* **Description**: The number row is always enabled and visible. - -#### `AlwaysDisabled` -* **Description**: The number row is never enabled or visible. - - -## `RowNumberRowMode` - -Represents the behavior of a row's visibility with respect to the number row in a layout. - -#### `Default` -* **Description**: The row is unaffected by the state of the number row - -#### `Filler` -* **Description**: This row only displays when the number row is active. - -#### `Hideable` -* **Description**: This row only displays when the number row is inactive. diff --git a/java/assets/layouts/Legacy/east_slavic_phonetic.yaml b/java/assets/layouts/Legacy/east_slavic_phonetic.yaml deleted file mode 100644 index 473754add7604118aecb03e2d40f1f1352c92366..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Legacy/east_slavic_phonetic.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: ÑВерт -languages: ru -rows: - - letters: - - Ñ - - [ш, ч, щ] - - [е, Ñ, Ñ‘] - - Ñ€ - - Ñ‚ - - Ñ‹ - - [у, ÑŽ] - - и - - о - - п - - letters: - - а - - Ñ - - д - - Ñ„ - - г - - Ñ… - - й - - к - - л - - letters: - - [з, ж] - - [ÑŒ, ÑŠ] - - ц - - в - - б - - н - - м \ No newline at end of file diff --git a/java/assets/layouts/Malayalam/malayalam.yaml b/java/assets/layouts/Malayalam/malayalam.yaml deleted file mode 100644 index ac6e73e7b68cff5e60da33cc34d5e9bcce881992..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Malayalam/malayalam.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: Malayalam -languages: ml-IN -rows: - - letters: # rowkeys_malayalam1.xml - - ['àµ', 'à´…'] - - ['à´¾', 'à´†'] - - ['à´¿', 'à´‡'] - - ['ീ', 'à´ˆ'] - - ['àµ', 'à´‰'] - - ['ൂ', 'à´Š'] - - ['ൃ', 'à´‹'] - - ['െ', 'à´Ž', 'à´', 'ൈ'] - - ['േ', 'à´'] - - ['ൊ', 'à´’'] - - ['ോ', 'à´“', 'à´”', 'ൗ'] - - letters: # rowkeys_malayalam2.xml - - ['à´•', 'à´–'] - - ['à´—', 'à´˜'] - - ['à´™', 'à´ž'] - - ['à´š', 'à´›'] - - ['à´œ', 'à´'] - - ['à´Ÿ', 'à´ '] - - ['à´¡', 'à´¢'] - - ['à´£', 'ൺ'] - - ['à´¤', 'à´¥'] - - ['à´¦', 'à´§'] - - ['à´¨', 'ൻ'] - - letters: # rowkeys_malayalam3.xml - - ['à´ª', 'à´«'] - - ['à´¬', 'à´'] - - ['à´®', 'à´‚'] - - ['à´¯', 'àµà´¯'] - - ['à´°', 'àµà´°', 'ർ', 'à´±'] - - ['à´²', 'ൽ'] - - ['à´µ', 'àµà´µ'] - - ['à´¶', 'à´·', 'à´¸'] - - ['à´¹', 'à´ƒ'] - - ['à´³', 'ൾ', 'à´´'] - - $delete # force no shift key -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/README.md b/java/assets/layouts/README.md deleted file mode 100644 index 558bfd0677692167d890c5a0be7d902de1e5c129..0000000000000000000000000000000000000000 --- a/java/assets/layouts/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Keyboard Layout definitions - -This repo contains the keyboard layout definitions for FUTO Keyboard. - -See the [Layout Spec](LayoutSpec.md) for information on the YAML format. - -## Custom Layouts - -In FUTO Keyboard nightly, you can define custom layouts within the app for testing and development. - -To activate developer settings, go to the "Help & Feedback" section and tap the version code a bunch -of times, this will activate the "Developer Options" section in the settings home menu. - -Visit "Developer Settings" > "Custom layouts" to create custom layouts. They will be activated -in the layout switcher by default once saved. - -If you're planning to contribute this layout, please make sure to test it with different settings -enabled to make sure it behaves as expected: -* Split keyboard in landscape -* Number row enabled / disabled -* Arrow keys enabled / disabled -* Long-press key settings in various orders -* (if you edited the bottom row) Action key and contextual key - -## Contributing via Pull Request - -After testing and verifying your layout works and is accurate, you can open a pull request to -contribute the layout. - -The app will search for `*.yml` and `*.yaml` files here recursively. The directories not namespaced, -so please ensure there are no two files with the same name (i.e. place Lithuanian QWERTY in -`Lithuanian/lithuanian-qwerty.yaml`, not `Lithuanian/qwerty.yaml`). - -Please also update [mapping.yaml](mapping.yaml) and insert your layout name under the relevant -languages. - -If you're having issues with opening a pull request, you can also just open an issue and include -your YAML and request it to be added. - -## Contribution Standards - -Obscure layouts can serve to confuse users and bloat the layout list, so we are likely going to have -some standards for inclusion of layouts. - -## Layout Limitations - -If you're unable to express a layout under the current system, let us know by opening an issue. -Some limitations currently exist due to the non-triviality of implementing the necessary features -(e.g. Japanese flick keys are unsupported). \ No newline at end of file diff --git a/java/assets/layouts/Serbian/serbian_qwertz.yaml b/java/assets/layouts/Serbian/serbian_qwertz.yaml deleted file mode 100644 index 9445e9bbab38c6e88f8fad57b2957f272dfd42b2..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Serbian/serbian_qwertz.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: Serbian QWERTZ -languages: sr-Latn -rows: - - letters: q w e r t z u i o p Å¡ - - letters: a s d f g h j k l Ä Ä‡ - - letters: y x c v b n m Ä‘ ž \ No newline at end of file diff --git a/java/assets/layouts/Sinhala/sinhala.yaml b/java/assets/layouts/Sinhala/sinhala.yaml deleted file mode 100644 index 02ebb2e1d316f06dac1a9acc762d2a0be8c5d337..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Sinhala/sinhala.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: Sinhala -languages: si-LK -rows: - - letters: # rowkeys_sinhala1.xml - - {type: case, normal: ['à·”'], shifted: ['à·–']} - - {type: case, normal: ['අ'], shifted: ['උ']} - - {type: case, normal: ['à·'], shifted: ['à·‘']} - - {type: case, normal: ['ර'], shifted: ['à¶']} - - {type: case, normal: ['එ'], shifted: ['ඔ']} - - {type: case, normal: ['à·„'], shifted: ['à·']} - - {type: case, normal: ['ම'], shifted: ['ඹ']} - - {type: case, normal: ['à·ƒ'], shifted: ['à·‚']} - - {type: case, normal: ['ද', '%', 'ඳ'], shifted: ['ධ']} - - {type: case, normal: ['ච'], shifted: ['ඡ']} - - {type: case, normal: ['ඤ', 'à·´'], shifted: ['ඥ', 'à·´']} - - letters: # rowkeys_sinhala2.xml - - {type: case, normal: ['à·Š'], shifted: ['à·Ÿ']} - - {type: case, normal: ['à·’'], shifted: ['à·“']} - - {type: case, normal: ['à·'], shifted: ['à·˜']} - - {type: case, normal: ['à·™'], shifted: ['à·†']} - - {type: case, normal: ['ට'], shifted: ['ඨ']} - - {type: case, normal: ['ය'], shifted: ["à·Š\u200dය"]} - - {type: case, normal: ['à·€'], shifted: ['à·…à·”']} - - {type: case, normal: ['න'], shifted: ['ණ']} - - {type: case, normal: ['ක'], shifted: ['ඛ']} - - {type: case, normal: ['à¶'], shifted: ['ථ']} - - {type: case, normal: ['à¶'], shifted: ["à·Š\u200dර"]} - - letters: # rowkeys_sinhala3.xml - - {type: case, normal: ['ං', 'ඃ'], shifted: ['ඞ']} - - {type: case, normal: ['ජ', 'ඦ'], shifted: ['ඣ']} - - {type: case, normal: ['ඩ', 'ඬ'], shifted: ['ඪ']} - - {type: case, normal: ['ඉ'], shifted: ['ඊ']} - - {type: case, normal: ['බ'], shifted: ['භ']} - - {type: case, normal: ['ප'], shifted: ['ඵ']} - - {type: case, normal: ['ල'], shifted: ['à·…']} - - {type: case, normal: ['ග', 'ඟ'], shifted: ['à¶']} - - {type: case, normal: ['à·³'], shifted: ["ර්\u200d"]} -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Slavic/east_slavic.yaml b/java/assets/layouts/Slavic/east_slavic.yaml deleted file mode 100644 index b28149eea9733e3a7799bdc37ac49a943c8b0dc2..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/east_slavic.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: East Slavic -languages: ru be bg bn kk ky uk -rows: - - letters: й ц у к е н г ш щ з Ñ… - - letters: Ñ„ Ñ‹ в а п Ñ€ о л д ж Ñ - - letters: Ñ Ñ‡ Ñ Ð¼ и Ñ‚ ÑŒ б ÑŽ \ No newline at end of file diff --git a/java/assets/layouts/Slavic/mongolian.yaml b/java/assets/layouts/Slavic/mongolian.yaml deleted file mode 100644 index b670d55288aa2b8524e3524120102ef778c3df70..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/mongolian.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: Mongolian -languages: mn-MN -rows: - - letters: # rowkeys_mongolian1.xml - - ['Ñ„'] - - ['ц'] - - ['у', '!text/morekeys_cyrillic_u'] - - ['ж'] - - ['Ñ', '!text/morekeys_cyrillic_ie'] - - ['н', '!text/morekeys_cyrillic_en'] - - ['г', '!text/morekeys_cyrillic_ghe'] - - ['ш', '%', 'щ'] - - ['Ò¯'] - - ['з'] - - ['к'] - - ['е'] - - letters: # rowkeys_mongolian2.xml - - ['й'] - - ['Ñ‹'] - - ['б'] - - ['Ó©'] - - ['а'] - - ['Ñ…'] - - ['Ñ€'] - - ['о'] - - ['л'] - - ['д'] - - ['п'] - - ['ÑŽ'] - - letters: # rowkeys_mongolian3.xml - - ['Ñ'] - - ['ч'] - - ['Ñ‘'] - - ['Ñ'] - - ['м'] - - ['и'] - - ['Ñ‚'] - - ['ÑŒ', 'ÑŠ'] - - ['в'] -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Slavic/russian_student.yaml b/java/assets/layouts/Slavic/russian_student.yaml deleted file mode 100644 index c1ac5b2a23e576a93a85c313464aac651e968876..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/russian_student.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: СтуденчеÑкий -languages: ru -rows: - - letters: Ñ Ñˆ е Ñ€ Ñ‚ Ñ‹ у и о п Ñ - - letters: а Ñ Ð´ Ñ„ г ч й к л ж щ - - letters: з Ñ… ц в б н м ÑŒ ÑŽ \ No newline at end of file diff --git a/java/assets/layouts/Slavic/russian_yavert.yaml b/java/assets/layouts/Slavic/russian_yavert.yaml deleted file mode 100644 index ce5aca81762366fb391f8304ab4c7f2e545a062c..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/russian_yavert.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: ÑВерт -languages: ru -rows: - - letters: Ñ Ð² е Ñ€ Ñ‚ Ñ‹ у и о п ч - - letters: а Ñ Ð´ Ñ„ г Ñ… й к л ш щ - - letters: з ÑŒ ц ж б н м Ñ ÑŽ \ No newline at end of file diff --git a/java/assets/layouts/Slavic/russian_yazhert.yaml b/java/assets/layouts/Slavic/russian_yazhert.yaml deleted file mode 100644 index 14df197d89027bdd09b60b5d31e6ed1d9ef0ac8b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/russian_yazhert.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: ÑЖерт -languages: ru -rows: - - letters: Ñ Ð¶ е Ñ€ Ñ‚ Ñ‹ у и о п Ñ - - letters: а Ñ Ð´ Ñ„ г ч й к л ш щ - - letters: з Ñ… ц в б н м ÑŒ ÑŽ \ No newline at end of file diff --git a/java/assets/layouts/Slavic/south_slavic.yaml b/java/assets/layouts/Slavic/south_slavic.yaml deleted file mode 100644 index e1bed924377d8089f9fe77a7b0675b5bc65bf32b..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Slavic/south_slavic.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: South Slavic -languages: mk sr -rows: - - letters: - - Ñ™ - - Ñš - - е - - Ñ€ - - Ñ‚ - - "!text/keyspec_south_slavic_row1_6" - - у - - и - - о - - п - - ш - - letters: - - а - - Ñ - - д - - Ñ„ - - г - - Ñ… - - ј - - к - - л - - ч - - "!text/keyspec_south_slavic_row2_11" - - letters: - - "!text/keyspec_south_slavic_row3_1" - - ÑŸ - - ц - - в - - б - - н - - м - - "!text/keyspec_south_slavic_row3_8" - - ж \ No newline at end of file diff --git a/java/assets/layouts/Special/error.yaml b/java/assets/layouts/Special/error.yaml deleted file mode 100644 index 9ce8fc7f1006dd3c01a98ea6ad4e5296b59387a4..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/error.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: Error Layout -numberRowMode: AlwaysDisabled -attributes: - width: Grow - showPopup: false - moreKeyMode: OnlyExplicit - useKeySpecShortcut: false - style: NoBackground - longPressEnabled: true - labelFlags: - followKeyLabelRatio: true - alignLabelOffCenter: false - hasHintLabel: false - autoXScale: true -rows: - - letters: - - {type: base, spec: "View layout error details|!code/action_bugs"} - splittable: false - - bottom: - - {type: base, spec: "Switch language|!code/action_switch_language"} - attributes: { style: Action, width: Grow } - splittable: false \ No newline at end of file diff --git a/java/assets/layouts/Special/number.yaml b/java/assets/layouts/Special/number.yaml deleted file mode 100644 index f6f735f691dd21e91d09e6d5dae1a8de08769279..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/number.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Numbers -bottomRowWidthMode: Identical - -# Functional = 0.15 -# Each regular row has 2 functional keys and 3 Custom1 keys, therefore -# Custom1 = (1.0 - 2*Functional) / 3 = 1/3 - 2/3 * Functional -overrideWidths: - FunctionalKey: 0.15 - Custom1: 0.23333333333 - Regular: 0.1 - -rowHeightMode: FillHeight - -attributes: &globalAttrs - width: Custom1 - showPopup: false - useKeySpecShortcut: false - style: Normal - shiftable: false - labelFlags: { followKeyLabelRatio: false } -rows: - - numbers: - - {type: base, spec: "x", moreKeys: ["!fixedColumnOrder!4", "a", "b", "c", "d"], hint: "abcd"} - - {type: base, spec: "y", moreKeys: ["!fixedColumnOrder!4", "i", "j", "k", "l"], hint: "ijkl"} - - {type: base, spec: "z", moreKeys: ["!fixedColumnOrder!4", "α", "β", "γ", "θ"], hint: "αβγθ"} - - {type: base, spec: "w", moreKeys: ["!fixedColumnOrder!4", "u", "v", "θ", "Ï•"], hint: "uv"} - attributes: - width: Grow - style: NoBackground - moreKeyMode: OnlyExplicit - - letters: - - {type: base, spec: "+", moreKeys: ["(", "<"], attributes: &side { style: Functional, width: FunctionalKey }} - - "1" - - "2" - - "3" - - {type: base, spec: "%", attributes: *side} - splittable: false - - letters: - - {type: base, spec: "-", moreKeys: [")", ">"], attributes: *side} - - "4" - - "5" - - "6" - - {type: base, spec: "!icon/space_key_for_number_layout|!code/key_space", attributes: *side} - splittable: false - - letters: - - {type: base, spec: "*", moreKeys: ["/"], attributes: *side} - - "7" - - "8" - - "9" - - {type: base, spec: "!icon/delete_key|!code/key_delete", attributes: *side} - splittable: false - - bottom: - - {type: base, spec: "!text/keylabel_to_alpha|!code/key_switch_alpha_symbol", attributes: *side} - - {type: base, spec: ",", attributes: ®ular { style: Functional, width: Regular }} - - {type: base, spec: "!?#|!code/key_to_number_layout", attributes: &grow { style: Functional, width: Grow } } - - "0" - - {type: contextual, attributes: *grow, fallbackKey: {type: base, spec: "=", attributes: *grow}} - - {type: base, spec: ".", attributes: *regular} - - {type: enter, attributes: *side} - attributes: *globalAttrs - splittable: false \ No newline at end of file diff --git a/java/assets/layouts/Special/number_shift.yaml b/java/assets/layouts/Special/number_shift.yaml deleted file mode 100644 index 956a88ea2379842c89919f0ac561c103e756559a..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/number_shift.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Numbers -numberRowMode: AlwaysDisabled -bottomRowWidthMode: Identical -overrideWidths: - FunctionalKey: 0.14 - Regular: 0.1 - Grow: 0.12 -rowHeightMode: FillHeight -attributes: - width: Grow - showPopup: false - moreKeyMode: OnlyExplicit - useKeySpecShortcut: false - style: Normal - shiftable: false -rows: - - letters: - - {type: base, spec: "#", attributes: &side { style: Functional, width: FunctionalKey, labelFlags: {} }} - - "(" - - ")" - - "<" - - ">" - - ":" - - ";" - - {type: base, spec: "%", attributes: *side} - splittable: false - - letters: - - {type: base, spec: "=", attributes: *side} - - "×" - - "*" - - "÷" - - "/" - - "-" - - "+" - - {type: base, spec: "^", attributes: *side} - splittable: false - - letters: - - {type: base, spec: "( ) /|!code/key_shift", attributes: *side} - - "$" - - "~" - - "\\" - - "=" - - "\u00B0" # Degrees symbol - - "." - - {type: base, spec: "!icon/delete_key|!code/key_delete", attributes: *side} - splittable: false - - bottom: - - {type: base, spec: "!text/keylabel_to_alpha|!code/key_switch_alpha_symbol", attributes: *side} - - {type: base, spec: ",", attributes: ®ular { width: Regular, labelFlags: {} }} - - {type: base, spec: "!?#|!code/key_to_number_layout", attributes: *side} - - "$space" - - "$space" - - {type: base, spec: "=", attributes: *side} - - {type: base, spec: ".", attributes: *regular} - - {type: enter, attributes: *side} - attributes: { style: Normal } - splittable: false \ No newline at end of file diff --git a/java/assets/layouts/Special/phone.yaml b/java/assets/layouts/Special/phone.yaml deleted file mode 100644 index c888b11751b21b6e177b8c1b6a52748191b4a2ca..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/phone.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Phone -numberRowMode: AlwaysDisabled -attributes: &globalAttrs - width: Grow - showPopup: false - moreKeyMode: OnlyExplicit - useKeySpecShortcut: false - style: Normal - shiftable: false - labelFlags: - alignLabelOffCenter: true - hasHintLabel: true -rowHeightMode: FillHeight -rows: - - letters: - - "1" - - {type: base, spec: "2", hint: "ABC"} - - {type: base, spec: "3", hint: "DEF"} - - {type: base, spec: "-", attributes: &functional { style: Functional, labelFlags: {} }} - splittable: false - - letters: - - {type: base, spec: "4", hint: "GHI"} - - {type: base, spec: "5", hint: "JKL"} - - {type: base, spec: "6", hint: "MNO"} - - {type: base, spec: "!icon/space_key_for_number_layout|!code/key_space", attributes: *functional} - splittable: false - - letters: - - {type: base, spec: "7", hint: "PQRS"} - - {type: base, spec: "8", hint: "TUV"} - - {type: base, spec: "9", hint: "WXYZ"} - - {type: base, spec: "!icon/delete_key|!code/key_delete", attributes: *functional} - splittable: false - - bottom: - - {type: base, spec: "!text/keylabel_to_phone_symbols|!code/key_shift"} - - {type: base, spec: "0", moreKeys: "!noPanelAutoMoreKey!,+"} - - {type: base, spec: "."} - - {type: enter, attributes: { width: Grow }} - attributes: *globalAttrs - splittable: false \ No newline at end of file diff --git a/java/assets/layouts/Special/phone_shift.yaml b/java/assets/layouts/Special/phone_shift.yaml deleted file mode 100644 index 7dfd1d505b064c893a65944a478f454fe6c74b56..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/phone_shift.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Phone Symbols -numberRowMode: AlwaysDisabled -attributes: &globalAttrs - width: Grow - showPopup: false - moreKeyMode: OnlyExplicit - useKeySpecShortcut: false - style: Normal - shiftable: false - labelFlags: - alignLabelOffCenter: false - hasHintLabel: false -rowHeightMode: FillHeight -rows: - - letters: - - "(" - - "/" - - ")" - - {type: base, spec: "-", attributes: &functional { style: Functional, labelFlags: {} }} - splittable: false - - letters: - - "N" - - "!string/label_pause_key|," - - "," - - {type: base, spec: "!icon/space_key_for_number_layout|!code/key_space", attributes: *functional} - splittable: false - - letters: - - "\uFF0A|*" - - "!string/label_wait_key|;" - - "#" - - {type: base, spec: "!icon/delete_key|!code/key_delete", attributes: *functional} - splittable: false - - bottom: - - {type: base, spec: "!text/keylabel_to_phone_numeric|!code/key_shift"} - - {type: base, spec: "+"} - - {type: base, spec: "."} - - {type: enter, attributes: { width: Grow }} - attributes: *globalAttrs - splittable: false \ No newline at end of file diff --git a/java/assets/layouts/Special/symbols.yaml b/java/assets/layouts/Special/symbols.yaml deleted file mode 100644 index 78f47b3d33051cff6d08128d7380b52a7feaf321..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/symbols.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: "Symbols" -attributes: - shiftable: false -rows: - - letters: "1 2 3 4 5 6 7 8 9 0" - # Only show this row if number row is inactive on main layout - numRowMode: Hideable - - letters: "% \\ | = [ ] < > { }" - # Only show this row if number row is active on main layout - numRowMode: Filler - - letters: - - "@" - - "#" - - "$" - - "_" - - "%" - - "&" - # U+2013: "–" EN DASH - # U+2014: "—" EM DASH - # U+00B7: "·" MIDDLE DOT - - ["-", "_", "\u2013", "\u2014", "\u00B7"] - - "+" - - "(" - - ")" - - letters: - - "$shift" - - "*" - - "\"" - - "'" - - ":" - - ";" - - "!" - - "?" - - "$delete" - - bottom: "$alphabet , $number $space / . $enter" - diff --git a/java/assets/layouts/Special/symbols_shift.yaml b/java/assets/layouts/Special/symbols_shift.yaml deleted file mode 100644 index dec5d6b1d5ba241dcd34c5340781bf9807af796f..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Special/symbols_shift.yaml +++ /dev/null @@ -1,85 +0,0 @@ -name: "Symbols (Shifted)" -numberRowMode: UserConfigurable -attributes: - shiftable: false -rows: - - letters: - - type: base - spec: "~" - - - type: base - spec: "`" - - - type: base - spec: "|" - - # U+2022: "•" BULLET - - type: base - spec: "\u2022" - moreKeys: "!text/morekeys_bullet" - - # U+221A: "√" SQUARE ROOT - - type: base - spec: "\u221A" - - # U+03C0: "Ï€" GREEK SMALL LETTER PI - # U+03A0: "Î " GREEK CAPITAL LETTER PI - - type: base - spec: "\u03C0" - moreKeys: "\u03A0" - - # U+00F7: "÷" DIVISION SIGN - - type: base - spec: "\u00F7" - - # U+00D7: "×" MULTIPLICATION SIGN - - type: base - spec: "\u00D7" - - # U+00B6: "¶" PILCROW SIGN - # U+00A7: "§" SECTION SIGN - - type: base - spec: "\u00B6" - moreKeys: "\u00A7" - - # U+2206: "∆" INCREMENT - - type: base - spec: "\u2206" - - letters: - - "£" - - "¢" - - "€" - - "Â¥" - - # U+2191: "↑" UPWARDS ARROW - # U+2193: "↓" DOWNWARDS ARROW - # U+2190: "â†" LEFTWARDS ARROW - # U+2192: "→" RIGHTWARDS ARROW - - type: base - spec: "^" - moreKeys: "\u2191,\u2193,\u2190,\u2192" - - # U+00B0: "°" DEGREE SIGN - # U+2032: "′" PRIME - # U+2033: "″" DOUBLE PRIME - - type: base - spec: "\u00B0" - moreKeys: "\u2032,\u2033" - - - type: base - spec: "=" - - # Curly brackets - - "!text/keyspec_left_curly_bracket" - - "!text/keyspec_right_curly_bracket" - - letters: - - "$shift" - - "\\" - - "\u00A9" # U+00A9: "©" COPYRIGHT SIGN - - "\u00AE" # U+00AE: "®" REGISTERED SIGN - - "\u2122" # U+2122: "â„¢" TRADE MARK SIGN - - "\u2105" # U+2105: "â„…" CARE OF - - "!text/keyspec_left_square_bracket" - - "!text/keyspec_right_square_bracket" - - "$delete" - - bottom: "$alphabet , < $space > . $enter" \ No newline at end of file diff --git a/java/assets/layouts/Tamil/tamil.yaml b/java/assets/layouts/Tamil/tamil.yaml deleted file mode 100644 index 217e9c434cea7774c3c1b3a494df01cee57e81bb..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Tamil/tamil.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: Tamil -languages: ta-LK ta-IN ta-SG -rows: - - letters: # rowkeys_tamil1.xml - - ['à®”', 'ௌ'] - - ['à®', 'ை'] - - ['ஆ', 'ா'] - - ['ஈ', 'ீ'] - - ['ஊ', 'ூ'] - - ['à®®'] - - ['ன'] - - ['ந'] - - ['à®™'] - - ['ண'] - - ['ஞ'] - - letters: # rowkeys_tamil2.xml - - ['ஓ', 'ோ', 'à¯'] - - ['à®', 'ே'] - - ['à®…', 'ஃ'] - - ['இ', 'ி'] - - ['உ', 'à¯'] - - ['à®±'] - - ['ப'] - - ['க', 'ஹ', 'கà¯à®·'] - - ['த'] - - ['ச', 'ஸ', 'ஶà¯à®°à¯€'] - - ['ட'] - - letters: # rowkeys_tamil3.xml - - ['à®’', 'ொ'] - - ['எ', 'ெ'] - - ['à¯'] - - ['à®°'] - - ['வ'] - - ['à®´'] - - ['ல'] - - ['ள'] - - ['ய'] - - ['à®·', 'ஜ'] - - $delete # force no shift key -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Telugu/telugu.yaml b/java/assets/layouts/Telugu/telugu.yaml deleted file mode 100644 index 85e3fd3543606972a7f3ed8d28e36fcdf1b5ff99..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Telugu/telugu.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: Telugu -languages: te-IN -useZWNJKey: true -rows: - - letters: # rowkeys_telugu1.xml - - ['ౌ', 'à°”'] - - ['ై', 'à°'] - - ['à°¾', 'à°†'] - - ['à±€', 'à°ˆ'] - - ['ూ', 'à°Š'] - - ['à°¬', 'à°'] - - ['à°¹', 'à°ƒ'] - - ['à°—', 'à°˜'] - - ['à°¦', 'à°§'] - - ['à°œ', 'à°'] - - ['à°¡', 'à°¢'] - - letters: # rowkeys_telugu2.xml - - ['ో', 'à°“'] - - ['ే', 'à°'] - - ['à±', 'à°…'] - - ['à°¿', 'à°‡'] - - ['à±', 'à°‰'] - - ['à°ª', 'à°«'] - - ['à°°', 'à°±', 'à±à°°'] - - ['à°•', 'à°–'] - - ['à°¤', 'à°¥'] - - ['à°š', 'à°›'] - - ['à°Ÿ', 'à° '] - - letters: # rowkeys_telugu3.xml - - ['ొ', 'à°’'] - - ['ె', 'à°Ž'] - - ['à°®', 'à°‚', 'à°'] - - ['à°¨', 'à°£', 'à°™', 'à°ž'] - - ['à°µ'] - - ['à°²', 'à°³'] - - ['à°¸', 'à°¶'] - - ['à°‹', 'ృ'] - - ['à°·', 'à°•à±à°·'] - - ['à°¯', 'à°œà±à°ž'] - - $delete # force no shift key -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Thai/thai.yaml b/java/assets/layouts/Thai/thai.yaml deleted file mode 100644 index e9100bc0fb3f68ca4a1d9e3b305d7c4d003aa6fc..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Thai/thai.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Thai -languages: th -minimumFunctionalKeyWidth: 0.0 -attributes: { moreKeyMode: OnlyExplicit } -numberRowMode: AlwaysDisabled -rows: - - letters: # rowkeys_thai1.xml - - {type: case, normal: ['ๅ'], shifted: ['+']} - - {type: case, normal: ['/', '1', '๑'], shifted: ['๑']} - - {type: case, normal: ['_', '2', '๒'], shifted: ['๒']} - - {type: case, normal: ['ภ', '3', '๓'], shifted: ['๓']} - - {type: case, normal: ['ถ', '4', '๔'], shifted: ['๔']} - - {type: case, normal: [' ุ|ุ'], shifted: [' ู|ู']} - - {type: case, normal: [' ึ|ึ'], shifted: ['฿']} - - {type: case, normal: ['ค', '5', '๕'], shifted: ['๕']} - - {type: case, normal: ['ต', '6', '๖'], shifted: ['๖']} - - {type: case, normal: ['จ', '7', '๗'], shifted: ['๗']} - - {type: case, normal: ['ข', '8', '๘'], shifted: ['๘']} - - {type: case, normal: ['ช', '9', '๙'], shifted: ['๙']} - - letters: # rowkeys_thai2.xml - - {type: case, normal: ['ๆ', '0', 'à¹'], shifted: ['à¹']} - - {type: case, normal: ['ไ'], shifted: ['"']} - - {type: case, normal: ['ำ'], shifted: ['ฎ']} - - {type: case, normal: ['พ'], shifted: ['ฑ']} - - {type: case, normal: ['ะ'], shifted: ['ธ']} - - {type: case, normal: [' ั|ั'], shifted: [' à¹|à¹']} - - {type: case, normal: [' ี|ี'], shifted: [' ๊|๊']} - - {type: case, normal: ['ร'], shifted: ['ณ']} - - {type: case, normal: ['น'], shifted: ['ฯ']} - - {type: case, normal: ['ย'], shifted: ['à¸']} - - {type: case, normal: ['บ'], shifted: ['à¸']} - - {type: case, normal: ['ล'], shifted: [',']} - - letters: # rowkeys_thai3.xml - - {type: case, normal: ['ฟ'], shifted: ['ฤ']} - - {type: case, normal: ['ห'], shifted: ['ฆ']} - - {type: case, normal: ['à¸'], shifted: ['à¸']} - - {type: case, normal: ['ด'], shifted: ['โ']} - - {type: case, normal: ['เ'], shifted: ['ฌ']} - - {type: case, normal: [' ้|้'], shifted: [' ็|็']} - - {type: case, normal: [' ่|่'], shifted: [' ๋|๋']} - - {type: case, normal: ['า'], shifted: ['ษ']} - - {type: case, normal: ['ส'], shifted: ['ศ']} - - {type: case, normal: ['ว'], shifted: ['ซ']} - - {type: case, normal: ['ง'], shifted: ['.']} - - {type: case, normal: ['ฃ'], shifted: ['ฅ']} - - letters: # rowkeys_thai4.xml - - {type: case, normal: ['ผ'], shifted: ['(']} - - {type: case, normal: ['ป'], shifted: [')']} - - {type: case, normal: ['à¹'], shifted: ['ฉ']} - - {type: case, normal: ['à¸'], shifted: ['ฮ']} - - {type: case, normal: [' ิ|ิ'], shifted: [' ฺ|ฺ']} - - {type: case, normal: [' ื|ื'], shifted: [' ์|์']} - - {type: case, normal: ['ท'], shifted: ['?']} - - {type: case, normal: ['ม'], shifted: ['ฒ']} - - {type: case, normal: ['ใ'], shifted: ['ฬ']} - - {type: case, normal: ['à¸'], shifted: ['ฦ']} -# detected 4 rows \ No newline at end of file diff --git a/java/assets/layouts/Turkish/turkish.yaml b/java/assets/layouts/Turkish/turkish.yaml deleted file mode 100644 index 5f7687f1b66d4b3ce687e5aa2e92394207b3ee1c..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Turkish/turkish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Turkish -languages: tr -rows: - - letters: # rowkeys_turkish1.xml - - ['!text/keyspec_q'] - - ['!text/keyspec_w'] - - ['e'] - - ['r'] - - ['t'] - - ['!text/keyspec_y'] - - ['u'] - - ['ı'] - - ['o'] - - ['p'] - - ['ÄŸ'] - - ['ü'] - - letters: # rowkeys_turkish2.xml - - a - - s - - d - - f - - g - - h - - j - - k - - l - - ['ÅŸ'] - - ['i'] - - letters: # rowkeys_turkish3.xml - - z - - x - - c - - v - - b - - n - - m - - ['ö'] - - ['ç'] -# detected 3 rows \ No newline at end of file diff --git a/java/assets/layouts/Uzbek/uzbek.yaml b/java/assets/layouts/Uzbek/uzbek.yaml deleted file mode 100644 index f9604e10bcbcdc76ed9ecdf382816cd93adfecdc..0000000000000000000000000000000000000000 --- a/java/assets/layouts/Uzbek/uzbek.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: Uzbek -languages: uz-UZ -rows: - - letters: q w e r t y u i o p oÊ» - - letters: a s d f g h j k l gÊ» ʼ - - letters: z x c v b n m \ No newline at end of file diff --git a/java/assets/layouts/mapping.yaml b/java/assets/layouts/mapping.yaml deleted file mode 100644 index 1fca32e9ba924120ac5f3ec54ec1f4394903400c..0000000000000000000000000000000000000000 --- a/java/assets/layouts/mapping.yaml +++ /dev/null @@ -1,615 +0,0 @@ -languages: - af: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ar: - - arabic - - lulua - az_AZ: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - be_BY: - - east_slavic - - russian_student - - russian_yavert - - russian_yazhert - bg: - - bulgarian - - bulgarian_bds - bn_BD: - - bengali_akkhor - bn_IN: - - bengali - ca: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ckb: - - kurdish - cs: - - qwertz - - qwerty - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - da: - - nordic - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - de: - - german - - qwertz - - swiss - - qwerty - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - de_CH: - - swiss - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - el: - - greek - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - en_GB: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - en_IN: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - en_US: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - eo: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - es: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - es_419: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - es_US: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - et_EE: - - nordic - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - eu_ES: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - fa: - - farsi - fi: - - nordic - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - fr: - - azerty - - swiss - - qwerty - - qwertz - - dvorak - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - fr_CA: - - qwerty - - swiss - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - fr_CH: - - swiss - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - gl_ES: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - hi: - - hindi - - hindi_compact - hi_Latn: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - hr: - - qwertz - - qwerty - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - hu: - - qwertz - - qwerty - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - hy_AM: - - armenian_phonetic - in: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - is: - - icelandic - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - it: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - it_CH: - - swiss - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - iw: - - hebrew - - hebrew-staggered - ka_GE: - - georgian - kk: - - east_slavic - - russian_student - - russian_yavert - - russian_yazhert - km_KH: - - khmer - kn_IN: - - kannada - ky: - - east_slavic - - russian_student - - russian_yavert - - russian_yazhert - lo_LA: - - lao - lt: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - lv: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - mk: - - south_slavic - ml_IN: - - malayalam - mn_MN: - - mongolian - mr_IN: - - marathi - ms_MY: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - nb: - - nordic - ne_NP: - - nepali_romanized - - nepali_traditional - nl: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - nl_BE: - - azerty - - qwerty - - qwertz - - dvorak - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - pl: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - pt_BR: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - pt_PT: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ro: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ru: - - east_slavic - - russian_student - - russian_yavert - - russian_yazhert - si_LK: - - sinhala - sk: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - sl: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - sr: - - south_slavic - sr_Latn: - - serbian_qwertz - sv: - - nordic - sw: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ta_IN: - - tamil - ta_LK: - - tamil - ta_SG: - - tamil - te_IN: - - telugu - th: - - thai - tl: - - spanish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - tr: - - turkish - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - uk: - - east_slavic - - russian_student - - russian_yavert - - russian_yazhert - uz_UZ: - - uzbek - vi: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - zu: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - zz: - - qwerty - - qwertz - - dvorak - - azerty - - colemak - - colemak_dh - - colemak_dh_ansi - - bepo - - pcqwerty - - nordic - ipa: - - ipa \ No newline at end of file