diff --git a/experimental/i/ipachart/HISTORY.md b/experimental/i/ipachart/HISTORY.md new file mode 100755 index 0000000000..86d97e82fc --- /dev/null +++ b/experimental/i/ipachart/HISTORY.md @@ -0,0 +1,10 @@ +IPAchart Change History +==================== + +0.2 (2024-06-124) +---------------- +* Touch keyboard (Combination and Vowel focus) created. + +0.1 (2020-09-30) +---------------- +* Created by David Rowbory diff --git a/experimental/i/ipachart/LICENSE b/experimental/i/ipachart/LICENSE new file mode 100644 index 0000000000..514f71fbdb --- /dev/null +++ b/experimental/i/ipachart/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 David Rowbory + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/experimental/i/ipachart/LICENSE.md b/experimental/i/ipachart/LICENSE.md new file mode 100644 index 0000000000..514f71fbdb --- /dev/null +++ b/experimental/i/ipachart/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 David Rowbory + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/experimental/i/ipachart/README.md b/experimental/i/ipachart/README.md new file mode 100755 index 0000000000..38cd502bec --- /dev/null +++ b/experimental/i/ipachart/README.md @@ -0,0 +1,44 @@ +IPAchart keyboard +============== + +Copyright © 2020-2024 David Rowbory + +Version 0.2 + +Description +----------- + +A touch IPA keyboard formatted similar to an IPA chart, to aid mobile (tablet and phone) IPA transcription. + +IPAchart gives you not all but the most frequently used IPA vowels, consonants, tone letters and diacritics tly as possible, laid out like an IPA chart. + +It is probably easiest to use this on a tablet but it does work on larger phones. + + +1. Press the ➧ button to left of the vowels to expand the vowel section (hiding some consonants). Press again to contract it. +2. Flick up-right to get a vowel with a high tone mark, left-right to get mid tone, down-right to get low tone. +3. Press and hold to get alternate related symbols. +4. Double-tap to get aspirated plosives and pre-/post-nasals. +5. Double-tap space to get a length mark. + + +Do let me know if there are features you really need that are currently missing. email keyboards@m.rowbory.co.uk + + +Links +----- + +Supported Platforms +------------------- + * Windows + * macOS + * Linux + * Web + * iPhone + * iPad + * Android phone + * Android tablet + * Mobile devices + * Desktop devices + * Tablet devices + diff --git a/experimental/i/ipachart/ipachart.keyboard_info b/experimental/i/ipachart/ipachart.keyboard_info new file mode 100755 index 0000000000..1f17465605 --- /dev/null +++ b/experimental/i/ipachart/ipachart.keyboard_info @@ -0,0 +1,7 @@ +{ + "license": "mit", + "languages": [ + + ], + "description": "IPAchart generated from template" +} diff --git a/experimental/i/ipachart/ipachart.kpj b/experimental/i/ipachart/ipachart.kpj new file mode 100755 index 0000000000..a94b8065db --- /dev/null +++ b/experimental/i/ipachart/ipachart.kpj @@ -0,0 +1,9 @@ + + + + 2.0 + True + True + True + + diff --git a/experimental/i/ipachart/source/Andika-Regular.ttf b/experimental/i/ipachart/source/Andika-Regular.ttf new file mode 100755 index 0000000000..2378f5ceeb Binary files /dev/null and b/experimental/i/ipachart/source/Andika-Regular.ttf differ diff --git a/experimental/i/ipachart/source/ipachart-bg.jpg b/experimental/i/ipachart/source/ipachart-bg.jpg new file mode 100644 index 0000000000..c6dd8fecae Binary files /dev/null and b/experimental/i/ipachart/source/ipachart-bg.jpg differ diff --git a/experimental/i/ipachart/source/ipachart.css b/experimental/i/ipachart/source/ipachart.css new file mode 100755 index 0000000000..61cbd7e4f6 --- /dev/null +++ b/experimental/i/ipachart/source/ipachart.css @@ -0,0 +1,182 @@ +h1 { +font-size: 250%; +color: rgb(200,10,10); + } + +body { + /* background-color: #eec; */ + /* background-image: linear-gradient(80deg, #ffc , #bbf); */ + /* url("ipachart-bg.jpg"); */ + font-family: "Andika","Charis SIL","DejaVu Sans","AndikaAfr","Andika Afr","Andika New Basic Compact"; +} +.kmw-key-layer { + /* transition: 1s; /* + /* background-image: linear-gradient(80deg, #ffc , #bbf); */ + background-image: linear-gradient(85deg, rgba(238,238,204,1) 0%, rgba(238,238,204,1) 45%, rgba(34,34,34,1) 50%, rgba(204,204,255,1) 55%, rgba(221,221,255,1) 100%); +} +.kmw-key-layer:has(#vowels-K_I) { +background-image: linear-gradient(85deg, rgba(238,238,204,1) 0%, rgba(238,238,204,1) 55%, rgba(34,34,34,1) 60%, rgba(204,204,255,1) 65%, rgba(221,221,255,1) 100%); +} + +.kmw-key-row:nth-child(5) { + background-image: linear-gradient(90deg, rgba(120,120,120,1) 0%, rgba(120,120,120,1) 48%, rgba(34,34,34,1) 51%, rgba(204,204,255,1) 54%, rgba(221,221,255,1) 100%); +/* transition: 1s ease-out; */ +} +.kmw-key-row:nth-child(5):has(#vowels-K_SPACE) { + background-image: linear-gradient(90deg, rgba(120,120,120,1) 0%, rgba(120,120,120,1) 56%, rgba(34,34,34,1) 61%, rgba(204,204,255,1) 66%, rgba(221,221,255,1) 100%); +} +.key-layer-group { padding: 0px 0px; } + +.kmw-key[id*="default-U_25"] { + border: black solid 4px; +} + +/* easier selecting from below *//* +.phone .kmw-key-square-ex { + margin: 0 0 -30px 5px; +} +.phone .kmw-key-square-ex .kmw-key-default { + margin: 0 0 30px 5px; +}*/ + +.tablet.android .kmw-key-square .kmw-key.kmw-key-default, .phone.android .kmw-key-square .kmw-key.kmw-key-default, .phone.ios .kmw-key-square .kmw-key.kmw-key-default, .tablet.ios .kmw-key-square .kmw-key.kmw-key-default { +color: black; +font-size: 1.2em; +background: transparent; +} + +.android .kmw-key-layer-group, .ios .kmw-key-layer-group { + /*background: #eee url("ipachart-bg.jpg"); transition: 1s ease-out; */ +} +.android .kmw-key.kmw-key-shift, .android .kmw-key.kmw-key-special, .ios .kmw-key.kmw-key-shift, .ios .kmw-key.kmw-key-special { + color: #333; + background: #ccc; +} +.tablet.android .kmw-key.kmw-key-default.kmw-spacebar, .android .kmw-key.kmw-key-default.kmw-spacebar, .ios .kmw-key.kmw-key-default.kmw-spacebar { + border: 1pt solid white; + border-bottom: none; +} + +.android .kmw-key-popup-icon, .tablet.android .kmw-key-popup-icon, .ios .kmw-key-popup-icon { + font-size: 70%; + top: -10px; + right: 0px; + left: initial; + color: red; +} + +.android #kmw-popup-keys { + border-radius: 10px; +} + +.android .kmw-banner-bar, .ios .kmw-banner-bar { + background: #cdc; + color: #131; + display: none; +} + +.android .kmw-suggestion-text, .ios .kmw-suggestion-text { + color: #131; +} + +.kmw-banner-bar .kmw-suggest-option { +/* height: auto; */ +font-size: 85%; + display: none; +} + +.android #kmw-popup-keys, .ios #kmw-popup-keys { + background: #fff; +} + +.android #kmw-popup-keys .kmw-key.kmw-key-default, #kmw-popup-keys .kmw-key.kmw-key-default { +background: #eee; +} + +.android #kmw-popup-keys .kmw-key.kmw-key-default.kmw-key-touched, #kmw-popup-keys .kmw-key.kmw-key-default.kmw-key-touched { +background-color: #9e9; +} + +.android .kmw-key-touched, .kmw-key-touched { +background-color: #9e9; +} + +.android #kmw-popup-keys .kmw-key-square-ex .kmw-key, #kmw-popup-keys .kmw-key-square-ex .kmw-key { +margin-bottom: 30px; +background: #eee; +color: black; +} +.android .kmw-keytip, .kmw-keytip { +margin-bottom: 15px; +} +#kmw-popup-keys { background-color: #eee; color: black; /* transition: 0.5s ease-out; */ } + + +#default-U_02E5, #default-U_02E6, #default-U_02E7, #default-U_02E8, #default-U_02E9, +#vowels-U_02E5, #vowels-U_02E6, #vowels-U_02E7, #vowels-U_02E8, #vowels-U_02E9 { + background-color: #333; + color: white; +} + + +/* rounded */ +#default-K_Y, #vowels-K_Y, #default-U_028F, #vowels-U_028F, #default-U_00F8, #vowels-U_00F8, #default-U_0153, #vowels-U_0153, #default-U_0276, #vowels-U_0276, #default-U_0289, #vowels-U_0289, #default-U_0275, #vowels-U_0275, #default-U_025E, #vowels-U_025E, #default-K_U, #vowels-K_U, #default-U_028A, #vowels-U_028A, #default-K_O, #vowels-K_O, #default-U_0254, #vowels-U_0254, #default-U_0252, #vowels-U_0252 { + border-radius: 20px; + background-color: #ff3; +} +/* unrounded */ +#default-K_I, #vowels-K_I, #default-U_026A, #vowels-U_026A, #default-K_E, #vowels-K_E, #default-U_025B, #vowels-U_025B, #default-U_00E6, #vowels-U_00E6, #default-K_A, #vowels-K_A, #default-U_0268, #vowels-U_0268, #default-U_0258, #vowels-U_0258, #default-U_025C, #vowels-U_025C, #default-U_026F, #vowels-U_026F, #default-U_0264, #vowels-U_0264, #default-U_028C, #vowels-U_028C, #default-U_0251, #vowels-U_0251 +{ + border-radius: 1px; background-color: #ee7; + border-top-style: solid; border-width: 1px; border-image: linear-gradient(to right,#ee7,black); + border-right: 1px solid gray; +} + +@media (prefers-color-scheme: dark) { + /*div.ios div.kmw-keytip, div.android div.kmw-keytip { + background-color:#cdc; + color: #333; + }*/ + + /* Style for callout used on phones */ + #kmw-popup-callout { + background-color: #eff3f9; + } + + /* rounded */ + #default-K_Y, #vowels-K_Y, #default-U_028F, #vowels-U_028F, #default-U_00F8, #vowels-U_00F8, #default-U_0153, #vowels-U_0153, #default-U_0276, #vowels-U_0276, #default-U_0289, #vowels-U_0289, #default-U_0275, #vowels-U_0275, #default-U_025E, #vowels-U_025E, #default-K_U, #vowels-K_U, #default-U_028A, #vowels-U_028A, #default-K_O, #vowels-K_O, #default-U_0254, #vowels-U_0254, #default-U_0252, #vowels-U_0252 + { + background-color: #880; + color: #ffd; + + } + /* unrounded */ + #default-K_I, #vowels-K_I, #default-U_026A, #vowels-U_026A, #default-K_E, #vowels-K_E, #default-U_025B, #vowels-U_025B, #default-U_00E6, #vowels-U_00E6, #default-K_A, #vowels-K_A, #default-U_0268, #vowels-U_0268, #default-U_0258, #vowels-U_0258, #default-U_025C, #vowels-U_025C, #default-U_026F, #vowels-U_026F, #default-U_0264, #vowels-U_0264, #default-U_028C, #vowels-U_028C, #default-U_0251, #vowels-U_0251 + { + background-color: #660; + border-right: 1px solid gray; + color: #eec; + } + + .tablet.ios .kmw-key-square .kmw-key.kmw-key-default, .tablet.android .kmw-key-square .kmw-key.kmw-key-default, .phone.android .kmw-key-square .kmw-key.kmw-key-default, .phone.ios .kmw-key-square .kmw-key.kmw-key-default { + background-color: transparent; + color: #dde; + } + + .kmw-key-layer { + /* transition: 1s; /* + /* background-image: linear-gradient(80deg, #ffc , #bbf); */ + background-image: linear-gradient(85deg, #770 0%, #770 45%, black 50%, #119 55%, #119 100%); + } + .kmw-key-layer:has(#vowels-K_I) { + background-image: linear-gradient(85deg, #770 0%, #770 55%, black 60%, #119 65%, #119 100%); + } + .kmw-key-row:nth-child(5) { + background-image: linear-gradient(90deg, #770 0%, #770 48%, black 51%, #119 54%, #119 100%); + /* transition: 1s ease-out; */ + } + .kmw-key-row:nth-child(5):has(#vowels-K_SPACE) { + background-image: linear-gradient(90deg, #770 0%, #770 56%, black 61%, #119 66%, #119 100%); + } + +} diff --git a/experimental/i/ipachart/source/ipachart.keyman-touch-layout b/experimental/i/ipachart/source/ipachart.keyman-touch-layout new file mode 100755 index 0000000000..6aef42e797 --- /dev/null +++ b/experimental/i/ipachart/source/ipachart.keyman-touch-layout @@ -0,0 +1,2142 @@ +{ + "phone": { + "font": "Andika", + "layer": [ + { + "id": "default", + "row": [ + { + "id": 1, + "key": [ + { + "id": "K_I", + "text": "i", + "pad": 1, + "flick": { + "ne": { + "text": "í", + "id": "T_i_3" + }, + "se": { + "text": "ì", + "id": "T_i_1" + }, + "e": { + "text": "ī", + "id": "T_i_2" + } + } + }, + { + "id": "K_Y", + "text": "y", + "pad": 1, + "width": 80, + "flick": { + "ne": { + "text": "ý", + "id": "T_y_3" + }, + "se": { + "text": "ỳ", + "id": "T_y_1" + }, + "e": { + "text": "ȳ", + "id": "T_y_2" + } + } + }, + { + "id": "U_026A", + "text": "ɪ", + "pad": 10, + "width": 60, + "flick": { + "ne": { + "text": "ɪ́", + "id": "T_i1c_3" + }, + "se": { + "text": "ɪ̀", + "id": "T_i1c_1" + }, + "e": { + "text": "ɪ̄", + "id": "T_i1c_2" + } + } + }, + { + "id": "U_028F", + "text": "ʏ", + "pad": 1, + "width": 60, + "flick": { + "ne": { + "text": "ʏ́", + "id": "T_y1c_3" + }, + "se": { + "text": "ʏ̀", + "id": "T_y1c_1" + }, + "e": { + "text": "ʏ̄", + "id": "T_y1c_2" + } + } + }, + { + "id": "U_0268", + "text": "ɨ", + "pad": 10, + "width": 80, + "flick": { + "ne": { + "text": "ɨ́", + "id": "T_i1u_3" + }, + "se": { + "text": "ɨ̀", + "id": "T_i1u_1" + }, + "e": { + "text": "ɨ̄", + "id": "T_i1u_2" + } + } + }, + { + "id": "U_0289", + "text": "ʉ", + "pad": 1, + "width": 80, + "flick": { + "ne": { + "text": "ʉ́", + "id": "T_u1r_3" + }, + "se": { + "text": "ʉ̀", + "id": "T_u1r_1" + }, + "e": { + "text": "ʉ̄", + "id": "T_u1r_2" + } + } + }, + { + "id": "U_028A", + "text": "ʊ", + "pad": 10, + "width": 60, + "flick": { + "ne": { + "text": "ʊ́", + "id": "T_uc_3" + }, + "se": { + "text": "ʊ̀", + "id": "T_uc_1" + }, + "e": { + "text": "ʊ̄", + "id": "T_uc_2" + } + } + }, + { + "id": "U_026F", + "text": "ɯ", + "pad": 25, + "flick": { + "ne": { + "text": "ɯ́", + "id": "T_u1u_3" + }, + "se": { + "text": "ɯ̀", + "id": "T_u1u_1" + }, + "e": { + "text": "ɯ̄", + "id": "T_u1u_2" + } + } + }, + { + "id": "K_U", + "text": "u", + "pad": 1, + "flick": { + "ne": { + "text": "ú", + "id": "T_u_3" + }, + "se": { + "text": "ù", + "id": "T_u_1" + }, + "e": { + "text": "ū", + "id": "T_u_2" + } + } + }, + { + "id": "U_02E5", + "text": "˥" + }, + { + "id": "K_P", + "text": "p", + "width": 80, + "multitap": [ + { + "text": "pʰ", + "id": "T_p_asp" + } + ] + }, + { + "id": "K_B", + "text": "b", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "ɓ", + "id": "U_0253", + "default": true + } + ], + "multitap": [ + { + "text": "bʰ", + "id": "T_b_asp" + } + ] + }, + { + "id": "K_T", + "text": "t", + "width": 80, + "sk": [ + { + "text": "ʈ", + "id": "U_0288" + }, + { + "text": "ɖ", + "id": "U_0256" + }, + { + "text": "ɳ", + "id": "U_0273" + }, + { + "text": "ʂ", + "id": "U_0262" + }, + { + "text": "ʐ", + "id": "U_0290" + } + ], + "multitap": [ + { + "text": "tʰ", + "id": "T_t_asp" + } + ] + }, + { + "id": "K_D", + "text": "d", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "ɗ", + "id": "U_0257", + "default": true + } + ], + "multitap": [ + { + "text": "dʰ", + "id": "T_d_asp" + } + ] + }, + { + "id": "K_C", + "text": "c", + "width": 80 + }, + { + "id": "U_025F", + "text": "ɟ", + "pad": 1, + "width": 80 + }, + { + "id": "K_K", + "text": "k", + "width": 80, + "sk": [ + { + "text": "k͜p", + "id": "T_kp", + "default": true + }, + { + "text": "ƙ", + "id": "U_0199" + } + ], + "multitap": [ + { + "text": "kʰ", + "id": "T_k_asp" + } + ] + }, + { + "id": "U_0261", + "text": "ɡ", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "g͜b", + "id": "T_gb", + "default": true + } + ] + }, + { + "id": "K_Q", + "text": "q", + "width": 80, + "sk": [ + { + "text": "ɢ", + "id": "U_0262" + } + ] + }, + { + "id": "U_0294", + "text": "ʔ", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 2, + "key": [ + { + "id": "K_E", + "text": "e", + "pad": 40, + "flick": { + "ne": { + "text": "é", + "id": "T_e_3" + }, + "e": { + "text": "ē", + "id": "T_e_2" + }, + "se": { + "text": "è", + "id": "T_e_1" + } + } + }, + { + "id": "U_00F8", + "text": "ø", + "pad": 1, + "flick": { + "ne": { + "text": "ǿ", + "id": "T_o2r_3" + }, + "se": { + "text": "ø̀", + "id": "T_o2r_1" + }, + "e": { + "text": "ø̄", + "id": "T_o2r_2" + } + } + }, + { + "id": "U_0258", + "text": "ɘ", + "pad": 20, + "flick": { + "ne": { + "text": "ɘ́", + "id": "T_e2u_3" + }, + "se": { + "text": "ɘ̀", + "id": "T_e2u_1" + }, + "e": { + "text": "ɘ̄", + "id": "T_e2u_2" + } + } + }, + { + "id": "U_0259", + "text": "ə", + "pad": 5, + "flick": { + "ne": { + "text": "ə́", + "id": "T_e2c_3" + }, + "se": { + "text": "ə̀", + "id": "T_e2c_1" + }, + "e": { + "text": "ə̄", + "id": "T_e2c_2" + } + } + }, + { + "id": "U_0275", + "text": "ɵ", + "pad": 5, + "flick": { + "ne": { + "text": "ɵ́", + "id": "T_oe3_3" + }, + "se": { + "text": "ɵ̀", + "id": "T_oe3_1" + }, + "e": { + "text": "ɵ̄", + "id": "T_oe3_2" + } + } + }, + { + "id": "U_0264", + "text": "ɤ", + "pad": 10, + "flick": { + "ne": { + "text": "ɤ́", + "id": "T_o2u_3" + }, + "se": { + "text": "ɤ̀", + "id": "T_o2u_1" + }, + "e": { + "text": "ɤ̄", + "id": "T_o2u_2" + } + } + }, + { + "id": "K_O", + "text": "o", + "pad": 1, + "flick": { + "ne": { + "text": "ó", + "id": "T_o_3" + }, + "se": { + "text": "ò", + "id": "T_o_1" + }, + "e": { + "text": "ō", + "id": "T_o_2" + } + } + }, + { + "id": "U_02E6", + "text": "˦" + }, + { + "id": "U_0299", + "text": "ʙ", + "width": 80 + }, + { + "id": "K_M", + "text": "m", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "ŋ͜m", + "id": "T_mng" + }, + { + "text": "m̩", + "id": "T_m_syllabic" + } + ], + "multitap": [ + { + "text": "ᵐ", + "id": "U_1D50" + } + ] + }, + { + "id": "U_0271", + "text": "ɱ", + "pad": 1, + "width": 80 + }, + { + "id": "K_N", + "text": "n", + "pad": 1, + "width": 90, + "sk": [ + { + "text": "n̩", + "id": "T_n_syllabic", + "default": true + } + ], + "multitap": [ + { + "text": "ⁿ", + "id": "U_207F" + } + ] + }, + { + "id": "K_R", + "text": "r", + "width": 80 + }, + { + "id": "U_0273", + "text": "ɳ", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "ɳ̩", + "id": "T_ny_syllabic", + "default": true + } + ] + }, + { + "id": "U_014B", + "text": "ŋ", + "pad": 48, + "sk": [ + { + "text": "ŋ̩", + "id": "T_ng_syllabic" + } + ] + }, + { + "id": "U_0274", + "text": "ɴ", + "pad": 45, + "width": 80 + }, + { + "id": "U_0280", + "text": "ʀ", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 3, + "key": [ + { + "id": "K_SHIFT", + "text": "➧", + "pad": 1, + "width": 80, + "sp": 1, + "nextlayer": "vowels" + }, + { + "id": "U_025B", + "text": "ɛ", + "flick": { + "ne": { + "text": "ɛ́", + "id": "T_e2_3" + }, + "se": { + "text": "ɛ̀", + "id": "T_e2_1" + }, + "e": { + "text": "ɛ̄", + "id": "T_e2_2" + } + } + }, + { + "id": "U_0153", + "text": "œ", + "pad": 1, + "flick": { + "ne": { + "text": "œ́", + "id": "T_oe_3" + }, + "se": { + "text": "œ̀", + "id": "T_oe_1" + }, + "e": { + "text": "œ̄", + "id": "T_oe_2" + } + } + }, + { + "id": "U_025C", + "text": "ɜ", + "pad": 40, + "flick": { + "ne": { + "text": "ɜ́", + "id": "T_e3u_3" + }, + "se": { + "text": "ɜ̀", + "id": "T_e3u_1" + }, + "e": { + "text": "ɜ̄", + "id": "T_e3u_2" + } + } + }, + { + "id": "U_025E", + "text": "ɞ", + "pad": 1, + "flick": { + "ne": { + "text": "ɞ́", + "id": "T_oe3r_3" + }, + "se": { + "text": "ɞ̀", + "id": "T_oe3r_1" + }, + "e": { + "text": "ɞ̄", + "id": "T_oe3r_2" + } + } + }, + { + "id": "U_028C", + "text": "ʌ", + "pad": 40, + "flick": { + "ne": { + "text": "ʌ́", + "id": "T_a3u_3" + }, + "se": { + "text": "ʌ̀", + "id": "T_a3u_1" + }, + "e": { + "text": "ʌ̄", + "id": "T_a3u_2" + } + } + }, + { + "id": "U_0254", + "text": "ɔ", + "pad": 1, + "flick": { + "ne": { + "text": "ɔ́", + "id": "T_o3r_3" + }, + "se": { + "text": "ɔ̀", + "id": "T_o3r_1" + }, + "e": { + "text": "ɔ̄", + "id": "T_o3r_2" + } + } + }, + { + "id": "U_02E7", + "text": "˧" + }, + { + "id": "U_0278", + "text": "ɸ", + "width": 80 + }, + { + "id": "U_03B2", + "text": "β", + "pad": 1, + "width": 80 + }, + { + "id": "K_F", + "text": "f", + "pad": 12, + "width": 80 + }, + { + "id": "K_V", + "text": "v", + "pad": 1, + "width": 80 + }, + { + "id": "U_03B8", + "text": "θ", + "width": 80 + }, + { + "id": "U_00F0", + "text": "ð", + "pad": 1, + "width": 80 + }, + { + "id": "K_X", + "text": "x", + "width": 80 + }, + { + "id": "U_0263", + "text": "ɣ", + "pad": 1, + "width": 80 + }, + { + "id": "K_H", + "text": "h" + }, + { + "id": "U_0266", + "text": "ɦ", + "pad": 1, + "width": 60 + } + ] + }, + { + "id": 4, + "key": [ + { + "id": "U_00E6", + "text": "æ", + "pad": 45, + "flick": { + "ne": { + "text": "ǽ", + "id": "T_ae_3" + }, + "se": { + "text": "æ̀", + "id": "T_ae_1" + }, + "e": { + "text": "ǣ", + "id": "T_ae_2" + } + } + }, + { + "id": "K_A", + "text": "a", + "pad": 20, + "flick": { + "ne": { + "text": "á", + "id": "T_a_3" + }, + "se": { + "text": "à", + "id": "T_a_1" + } + } + }, + { + "id": "U_0276", + "text": "ɶ", + "pad": 1, + "flick": { + "ne": { + "text": "ɶ́", + "id": "T_oe4r_3" + }, + "se": { + "text": "ɶ̀", + "id": "T_oe4r_1" + }, + "e": { + "text": "ɶ̄", + "id": "T_oe4r_2" + } + } + }, + { + "id": "U_0250", + "text": "ɐ", + "pad": 45, + "flick": { + "ne": { + "text": "ɐ́", + "id": "T_a3c_3" + }, + "se": { + "text": "ɐ̀", + "id": "T_a3c_1" + }, + "e": { + "text": "ɐ̄", + "id": "T_a3c_2" + } + } + }, + { + "id": "U_0251", + "text": "ɑ", + "pad": 70, + "flick": { + "ne": { + "text": "ɑ́", + "id": "T_a4u" + } + } + }, + { + "id": "U_0252", + "text": "ɒ", + "pad": 1, + "flick": { + "ne": { + "text": "ɒ́", + "id": "T_o4u_3" + }, + "se": { + "text": "ɒ̀", + "id": "T_o4u_1" + }, + "e": { + "text": "ɒ̄", + "id": "T_o4u_2" + } + } + }, + { + "id": "U_02E8", + "text": "˨" + }, + { + "id": "U_02E9", + "text": "˩", + "pad": 1 + }, + { + "id": "U_028B", + "text": "ʋ", + "width": 80 + }, + { + "id": "U_2C71", + "text": "ⱱ", + "pad": 1, + "width": 80 + }, + { + "id": "K_S", + "text": "s", + "width": 80 + }, + { + "id": "K_Z", + "text": "z", + "pad": 1, + "width": 80 + }, + { + "id": "U_0283", + "text": "ʃ", + "width": 80 + }, + { + "id": "U_0292", + "text": "ʒ", + "pad": 1, + "width": 80 + }, + { + "id": "U_027E", + "text": "ɾ", + "width": 80 + }, + { + "id": "U_027D", + "text": "ɽ", + "pad": 1 + }, + { + "id": "T_new_7846", + "width": 2, + "sp": 9 + } + ] + }, + { + "id": 5, + "key": [ + { + "id": "K_NUMLOCK", + "text": "*123*", + "sp": 1, + "nextlayer": "numeric" + }, + { + "id": "K_LOPT", + "text": "*Menu*", + "pad": 1, + "sp": 1 + }, + { + "id": "K_SPACE", + "text": "", + "width": 370, + "sp": 0, + "multitap": [ + { + "text": "ː", + "id": "U_02D0" + } + ] + }, + { + "id": "K_PERIOD", + "text": ".", + "sk": [ + { + "text": "ː", + "id": "U_02D0", + "default": true + }, + { + "text": ",", + "id": "K_COMMA" + }, + { + "text": "!", + "id": "K_1", + "layer": "shift" + }, + { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, + { + "text": "'", + "id": "K_QUOTE" + }, + { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, + { + "text": "\\", + "id": "K_BKSLASH" + }, + { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, + { + "text": ";", + "id": "K_COLON" + } + ] + }, + { + "id": "K_ENTER", + "text": "*Enter*", + "width": 185, + "sp": 1 + }, + { + "id": "U_0279", + "text": "ɹ" + }, + { + "id": "K_L", + "text": "l", + "width": 80 + }, + { + "id": "K_J", + "text": "j" + }, + { + "id": "U_028E", + "text": "ʎ", + "width": 80 + }, + { + "id": "U_0279", + "text": "ɰ" + }, + { + "id": "U_029F", + "text": "ʟ", + "width": 80 + }, + { + "id": "K_BKSP", + "text": "*BkSp*", + "width": 150, + "sp": 1 + } + ] + } + ] + }, + { + "id": "numeric", + "row": [ + { + "id": 1, + "key": [ + { + "id": "K_1", + "text": "1" + }, + { + "id": "K_2", + "text": "2" + }, + { + "id": "K_3", + "text": "3" + }, + { + "id": "K_4", + "text": "4" + }, + { + "id": "K_5", + "text": "5" + }, + { + "id": "K_6", + "text": "6" + }, + { + "id": "K_7", + "text": "7" + }, + { + "id": "K_8", + "text": "8" + }, + { + "id": "K_9", + "text": "9" + }, + { + "id": "K_0", + "text": "0" + } + ] + }, + { + "id": 2, + "key": [ + { + "id": "K_4", + "text": "$", + "pad": 70, + "layer": "shift" + }, + { + "id": "K_2", + "text": "@", + "layer": "shift" + }, + { + "id": "K_3", + "text": "#", + "layer": "shift" + }, + { + "id": "K_5", + "text": "%", + "layer": "shift" + }, + { + "id": "K_7", + "text": "&", + "layer": "shift" + }, + { + "id": "K_HYPHEN", + "text": "_", + "layer": "shift" + }, + { + "id": "K_EQUAL", + "text": "=", + "layer": "default" + }, + { + "id": "K_BKSLASH", + "text": "|", + "layer": "shift" + }, + { + "id": "K_BKSLASH", + "text": "\\", + "layer": "default" + }, + { + "id": "T_new_14291", + "text": "", + "width": 10, + "sp": 10 + } + ] + }, + { + "id": 3, + "key": [ + { + "id": "K_SHIFT", + "text": "*Shift*", + "width": 110, + "sp": 1 + }, + { + "id": "K_LBRKT", + "text": "[", + "sk": [ + { + "id": "U_00AB", + "text": "«" + }, + { + "id": "K_COMMA", + "text": "<", + "layer": "shift" + }, + { + "id": "K_LBRKT", + "text": "{", + "layer": "shift" + } + ] + }, + { + "id": "K_9", + "text": "(", + "layer": "shift" + }, + { + "id": "K_0", + "text": ")", + "layer": "shift" + }, + { + "id": "K_RBRKT", + "text": "]", + "sk": [ + { + "id": "U_00BB", + "text": "»" + }, + { + "id": "K_PERIOD", + "text": ">", + "layer": "shift" + }, + { + "id": "K_RBRKT", + "text": "}", + "layer": "shift" + } + ] + }, + { + "id": "K_EQUAL", + "text": "+", + "layer": "shift" + }, + { + "id": "K_HYPHEN", + "text": "-", + "layer": "default" + }, + { + "id": "K_8", + "text": "*", + "layer": "shift" + }, + { + "id": "K_SLASH", + "text": "/", + "layer": "default" + }, + { + "id": "K_BKSP", + "text": "*BkSp*", + "width": 90, + "sp": 1 + } + ] + }, + { + "id": 4, + "key": [ + { + "id": "K_LOWER", + "text": "*abc*", + "width": 140, + "sp": 1, + "nextlayer": "default" + }, + { + "id": "K_LOPT", + "text": "*Menu*", + "width": 120, + "sp": 1 + }, + { + "id": "K_SPACE", + "text": "", + "width": 630, + "sp": 0 + }, + { + "id": "K_ENTER", + "text": "*Enter*", + "width": 140, + "sp": 1 + } + ] + } + ] + }, + { + "id": "vowels", + "row": [ + { + "id": 1, + "key": [ + { + "id": "K_I", + "text": "i", + "pad": 1, + "flick": { + "ne": { + "text": "í", + "id": "T_i_3" + }, + "se": { + "text": "ì", + "id": "T_i_1" + }, + "e": { + "text": "ī", + "id": "T_i_2" + } + } + }, + { + "id": "K_Y", + "text": "y", + "pad": 1, + "width": 80, + "flick": { + "ne": { + "text": "ý", + "id": "T_y_3" + }, + "se": { + "text": "ỳ", + "id": "T_y_1" + }, + "e": { + "text": "ȳ", + "id": "T_y_2" + } + } + }, + { + "id": "U_026A", + "text": "ɪ", + "pad": 10, + "width": 60, + "flick": { + "ne": { + "text": "ɪ́", + "id": "T_i1c_3" + }, + "se": { + "text": "ɪ̀", + "id": "T_i1c_1" + }, + "e": { + "text": "ɪ̄", + "id": "T_i1c_2" + } + } + }, + { + "id": "U_028F", + "text": "ʏ", + "pad": 1, + "width": 60, + "flick": { + "ne": { + "text": "ʏ́", + "id": "T_y1c_3" + }, + "se": { + "text": "ʏ̀", + "id": "T_y1c_1" + }, + "e": { + "text": "ʏ̄", + "id": "T_y1c_2" + } + } + }, + { + "id": "U_0268", + "text": "ɨ", + "pad": 10, + "width": 80, + "flick": { + "ne": { + "text": "ɨ́", + "id": "T_i1u_3" + }, + "se": { + "text": "ɨ̀", + "id": "T_i1u_1" + }, + "e": { + "text": "ɨ̄", + "id": "T_i1u_2" + } + } + }, + { + "id": "U_0289", + "text": "ʉ", + "pad": 1, + "width": 80, + "flick": { + "ne": { + "text": "ʉ́", + "id": "T_u1r_3" + }, + "se": { + "text": "ʉ̀", + "id": "T_u1r_1" + }, + "e": { + "text": "ʉ̄", + "id": "T_u1r_2" + } + } + }, + { + "id": "U_028A", + "text": "ʊ", + "pad": 10, + "width": 60, + "flick": { + "ne": { + "text": "ʊ́", + "id": "T_uc_3" + }, + "se": { + "text": "ʊ̀", + "id": "T_uc_1" + }, + "e": { + "text": "ʊ̄", + "id": "T_uc_2" + } + } + }, + { + "id": "U_026F", + "text": "ɯ", + "pad": 25, + "flick": { + "ne": { + "text": "ɯ́", + "id": "T_u1u_3" + }, + "se": { + "text": "ɯ̀", + "id": "T_u1u_1" + }, + "e": { + "text": "ɯ̄", + "id": "T_u1u_2" + } + } + }, + { + "id": "K_U", + "text": "u", + "pad": 1, + "flick": { + "ne": { + "text": "ú", + "id": "T_u_3" + }, + "se": { + "text": "ù", + "id": "T_u_1" + }, + "e": { + "text": "ū", + "id": "T_u_2" + } + } + }, + { + "id": "U_02E5", + "text": "˥" + }, + { + "id": "K_P", + "text": "p", + "width": 80, + "sk": [ + { + "text": "pʰ", + "id": "T_p_asp", + "default": true + } + ] + }, + { + "id": "K_B", + "text": "b", + "pad": 1, + "width": 80 + }, + { + "id": "K_T", + "text": "t", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "tʰ", + "id": "T_t_asp" + }, + { + "text": "t͡ʃ", + "id": "T_tsh", + "default": true + }, + { + "text": "ʈ", + "id": "U_0288" + }, + { + "text": "ɖ", + "id": "U_0256" + }, + { + "text": "ɳ", + "id": "U_0273" + }, + { + "text": "ʂ", + "id": "U_0262" + }, + { + "text": "ʐ", + "id": "U_0290" + } + ] + }, + { + "id": "K_D", + "text": "d", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "d͡ʒ", + "id": "T_dzh", + "default": true + } + ] + }, + { + "id": "K_K", + "text": "k", + "pad": 1, + "width": 80, + "sk": [ + { + "text": "kʰ", + "id": "T_k_asp", + "default": true + }, + { + "text": "k̚", + "id": "T_k_unreleased" + } + ] + }, + { + "id": "U_0261", + "text": "ɡ", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 2, + "key": [ + { + "id": "K_E", + "text": "e", + "pad": 40, + "flick": { + "ne": { + "text": "é", + "id": "T_e_3" + }, + "e": { + "text": "ē", + "id": "T_e_2" + }, + "se": { + "text": "è", + "id": "T_e_1" + } + } + }, + { + "id": "U_00F8", + "text": "ø", + "pad": 1, + "flick": { + "ne": { + "text": "ǿ", + "id": "T_o2r_3" + }, + "se": { + "text": "ø̀", + "id": "T_o2r_1" + }, + "e": { + "text": "ø̄", + "id": "T_o2r_2" + } + } + }, + { + "id": "U_0258", + "text": "ɘ", + "pad": 20, + "flick": { + "ne": { + "text": "ɘ́", + "id": "T_e2u_3" + }, + "se": { + "text": "ɘ̀", + "id": "T_e2u_1" + }, + "e": { + "text": "ɘ̄", + "id": "T_e2u_2" + } + } + }, + { + "id": "U_0259", + "text": "ə", + "pad": 5, + "flick": { + "ne": { + "text": "ə́", + "id": "T_e2c_3" + }, + "se": { + "text": "ə̀", + "id": "T_e2c_1" + }, + "e": { + "text": "ə̄", + "id": "T_e2c_2" + } + } + }, + { + "id": "U_0275", + "text": "ɵ", + "pad": 5, + "flick": { + "ne": { + "text": "ɵ́", + "id": "T_oe3_3" + }, + "se": { + "text": "ɵ̀", + "id": "T_oe3_1" + }, + "e": { + "text": "ɵ̄", + "id": "T_oe3_2" + } + } + }, + { + "id": "U_0264", + "text": "ɤ", + "pad": 10, + "flick": { + "ne": { + "text": "ɤ́", + "id": "T_o2u_3" + }, + "se": { + "text": "ɤ̀", + "id": "T_o2u_1" + }, + "e": { + "text": "ɤ̄", + "id": "T_o2u_2" + } + } + }, + { + "id": "K_O", + "text": "o", + "pad": 1, + "flick": { + "ne": { + "text": "ó", + "id": "T_o_3" + }, + "se": { + "text": "ò", + "id": "T_o_1" + }, + "e": { + "text": "ō", + "id": "T_o_2" + } + } + }, + { + "id": "U_02E6", + "text": "˦" + }, + { + "id": "K_M", + "text": "m", + "width": 80 + }, + { + "id": "K_N", + "text": "n", + "pad": 1, + "width": 80 + }, + { + "id": "U_0273", + "text": "ɳ", + "pad": 1, + "width": 80 + }, + { + "id": "U_014B", + "text": "ŋ", + "pad": 1, + "width": 80 + }, + { + "id": "K_R", + "text": "r", + "pad": 1, + "width": 80 + }, + { + "id": "U_027E", + "text": "ɾ", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 3, + "key": [ + { + "id": "K_SHIFT", + "text": "🡄", + "pad": 1, + "width": 80, + "sp": 1, + "nextlayer": "default" + }, + { + "id": "U_025B", + "text": "ɛ", + "flick": { + "ne": { + "text": "ɛ́", + "id": "T_e2_3" + }, + "se": { + "text": "ɛ̀", + "id": "T_e2_1" + }, + "e": { + "text": "ɛ̄", + "id": "T_e2_2" + } + } + }, + { + "id": "U_0153", + "text": "œ", + "pad": 1, + "flick": { + "ne": { + "text": "œ́", + "id": "T_oe_3" + }, + "se": { + "text": "œ̀", + "id": "T_oe_1" + }, + "e": { + "text": "œ̄", + "id": "T_oe_2" + } + } + }, + { + "id": "U_025C", + "text": "ɜ", + "pad": 40, + "flick": { + "ne": { + "text": "ɜ́", + "id": "T_e3u_3" + }, + "se": { + "text": "ɜ̀", + "id": "T_e3u_1" + }, + "e": { + "text": "ɜ̄", + "id": "T_e3u_2" + } + } + }, + { + "id": "U_025E", + "text": "ɞ", + "pad": 1, + "flick": { + "ne": { + "text": "ɞ́", + "id": "T_oe3r_3" + }, + "se": { + "text": "ɞ̀", + "id": "T_oe3r_1" + }, + "e": { + "text": "ɞ̄", + "id": "T_oe3r_2" + } + } + }, + { + "id": "U_028C", + "text": "ʌ", + "pad": 40, + "flick": { + "ne": { + "text": "ʌ́", + "id": "T_a3u_3" + }, + "se": { + "text": "ʌ̀", + "id": "T_a3u_1" + }, + "e": { + "text": "ʌ̄", + "id": "T_a3u_2" + } + } + }, + { + "id": "U_0254", + "text": "ɔ", + "pad": 1, + "flick": { + "ne": { + "text": "ɔ́", + "id": "T_o3r_3" + }, + "se": { + "text": "ɔ̀", + "id": "T_o3r_1" + }, + "e": { + "text": "ɔ̄", + "id": "T_o3r_2" + } + } + }, + { + "id": "U_02E7", + "text": "˧" + }, + { + "id": "U_0278", + "text": "ɸ", + "width": 80 + }, + { + "id": "U_03B2", + "text": "β", + "pad": 1, + "width": 80 + }, + { + "id": "K_F", + "text": "f", + "pad": 1, + "width": 80 + }, + { + "id": "K_V", + "text": "v", + "pad": 1, + "width": 80 + }, + { + "id": "K_X", + "text": "x", + "pad": 1, + "width": 80 + }, + { + "id": "U_0263", + "text": "ɣ", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 4, + "key": [ + { + "id": "U_00E6", + "text": "æ", + "pad": 45, + "flick": { + "ne": { + "text": "ǽ", + "id": "T_ae_3" + }, + "se": { + "text": "æ̀", + "id": "T_ae_1" + }, + "e": { + "text": "ǣ", + "id": "T_ae_2" + } + } + }, + { + "id": "K_A", + "text": "a", + "pad": 20, + "flick": { + "ne": { + "text": "á", + "id": "T_a_3" + }, + "se": { + "text": "à", + "id": "T_a_1" + } + } + }, + { + "id": "U_0276", + "text": "ɶ", + "pad": 1, + "flick": { + "ne": { + "text": "ɶ́", + "id": "T_oe4r_3" + }, + "se": { + "text": "ɶ̀", + "id": "T_oe4r_1" + }, + "e": { + "text": "ɶ̄", + "id": "T_oe4r_2" + } + } + }, + { + "id": "U_0250", + "text": "ɐ", + "pad": 45, + "flick": { + "ne": { + "text": "ɐ́", + "id": "T_a3c_3" + }, + "se": { + "text": "ɐ̀", + "id": "T_a3c_1" + }, + "e": { + "text": "ɐ̄", + "id": "T_a3c_2" + } + } + }, + { + "id": "U_0251", + "text": "ɑ", + "pad": 70, + "flick": { + "ne": { + "text": "ɑ́", + "id": "T_a4u" + } + } + }, + { + "id": "U_0252", + "text": "ɒ", + "pad": 1, + "flick": { + "ne": { + "text": "ɒ́", + "id": "T_o4u_3" + }, + "se": { + "text": "ɒ̀", + "id": "T_o4u_1" + }, + "e": { + "text": "ɒ̄", + "id": "T_o4u_2" + } + } + }, + { + "id": "U_02E8", + "text": "˨" + }, + { + "id": "K_S", + "text": "s", + "width": 80 + }, + { + "id": "K_Z", + "text": "z", + "pad": 1, + "width": 80 + }, + { + "id": "U_0283", + "text": "ʃ", + "pad": 1, + "width": 80 + }, + { + "id": "U_0292", + "text": "ʒ", + "pad": 1, + "width": 80 + }, + { + "id": "U_0294", + "text": "ʔ", + "pad": 1, + "width": 80 + }, + { + "id": "K_H", + "text": "h", + "pad": 1, + "width": 80 + } + ] + }, + { + "id": 5, + "key": [ + { + "id": "K_NUMLOCK", + "text": "*123*", + "sp": 1, + "nextlayer": "numeric" + }, + { + "id": "K_LOPT", + "text": "*Menu*", + "pad": 1, + "sp": 1 + }, + { + "id": "K_SPACE", + "text": "", + "width": 270, + "sp": 0, + "multitap": [ + { + "text": "ː", + "id": "U_02D0" + } + ] + }, + { + "id": "K_PERIOD", + "text": ".", + "sk": [ + { + "text": "ː", + "id": "U_02D0", + "default": true + }, + { + "text": ",", + "id": "K_COMMA" + }, + { + "text": "!", + "id": "K_1", + "layer": "shift" + }, + { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, + { + "text": "'", + "id": "K_QUOTE" + }, + { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, + { + "text": "\\", + "id": "K_BKSLASH" + }, + { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, + { + "text": ";", + "id": "K_COLON" + } + ] + }, + { + "id": "K_ENTER", + "text": "*Enter*", + "width": 160, + "sp": 1 + }, + { + "id": "U_02E9", + "text": "˩" + }, + { + "id": "K_L", + "text": "l" + }, + { + "id": "K_J", + "text": "j" + }, + { + "id": "U_0280", + "text": "ʀ" + }, + { + "id": "K_BKSP", + "text": "*BkSp*", + "width": 140, + "sp": 1 + } + ] + } + ] + } + ], + "displayUnderlying": false, + "fontsize": "" + } +} \ No newline at end of file diff --git a/experimental/i/ipachart/source/ipachart.kmn b/experimental/i/ipachart/source/ipachart.kmn new file mode 100755 index 0000000000..a5630f826b --- /dev/null +++ b/experimental/i/ipachart/source/ipachart.kmn @@ -0,0 +1,186 @@ +c IPA chart-style touch keyboard +store(&NAME) 'IPAchart' +store(©RIGHT) '© 2024 David Rowbory' +store(&KEYBOARDVERSION) '0.2' +store(&TARGETS) 'any' +store(&LAYOUTFILE) 'ipachart.keyman-touch-layout' +store(&KMW_EMBEDCSS) 'ipachart.css' + +begin Unicode > use(main) + +group(main) using keys + +c Auto-correct +'ts' + 'h' > 't͡ʃ' +'t' + 'ʃ' > 't͡ʃ' +'dz' + 'h' > 'd͡ʒ' +'d' + 'ʒ' > 'd͡ʒ' +'s' + 'h' > 'ʃ' +'z' + 'h' > 'ʒ' +'g' + 'b' > 'g͜b' +'k' + 'p' > 'k͜p' + +'0/' + '/' > '∅' + +c For touch +c Tone accents: 0 = 30f, 1 = 300. 2 = 304, 3 = 301, 4 = 30b, fall = 302 rise = 30c (Tone accents are 340...) +c + [T_a_3] > 'a' U+0301 +c + [T_e_3] > 'e' U+0301 ++ [T_tsh] > 't͡ʃ' ++ [T_dzh] > 'd͡ʒ' ++ [T_gb] > 'g͜b' ++ [T_kp] > 'k͜p' ++ [T_mng] > 'ŋ͜m' + ++ [T_p_asp] > 'pʰ' ++ [T_t_asp] > 'tʰ' ++ [T_k_asp] > 'kʰ' ++ [T_b_asp] > 'bʰ' ++ [T_d_asp] > 'dʰ' ++ [T_g_asp] > 'gʰ' ++ [T_m_syllabic] > 'm̩' ++ [T_n_syllabic] > '̩n̩' ++ [T_ng_syllabic] > '̩ŋ̩' ++ [T_ny_syllabic] > '̩ɳ̩' + + + [T_i_1] > 'i' U+0300 + + [T_i_2] > 'i' U+0304 + + [T_i_3] > 'i' U+0301 + + [T_i_4] > 'i' U+030B + + [T_i_0] > 'i' U+030F + + [T_y_1] > 'y' U+0300 + + [T_y_2] > 'y' U+0304 + + [T_y_3] > 'y' U+0301 + + [T_y_4] > 'y' U+030B + + [T_y_0] > 'y' U+030F + + [T_i1c_1] > 'ɪ' U+0300 + + [T_i1c_2] > 'ɪ' U+0304 + + [T_i1c_3] > 'ɪ' U+0301 + + [T_i1c_4] > 'ɪ' U+030B + + [T_i1c_0] > 'ɪ' U+030F + + [T_y1c_1] > 'ʏ' U+0300 + + [T_y1c_2] > 'ʏ' U+0304 + + [T_y1c_3] > 'ʏ' U+0301 + + [T_y1c_4] > 'ʏ' U+030B + + [T_y1c_0] > 'ʏ' U+030F + + [T_e_1] > 'e' U+0300 + + [T_e_2] > 'e' U+0304 + + [T_e_3] > 'e' U+0301 + + [T_e_4] > 'e' U+030B + + [T_e_0] > 'e' U+030F + + [T_o2r_1] > 'ø' U+0300 + + [T_o2r_2] > 'ø' U+0304 + + [T_o2r_3] > 'ø' U+0301 + + [T_o2r_4] > 'ø' U+030B + + [T_o2r_0] > 'ø' U+030F + + [T_e2_1] > 'ɛ' U+0300 + + [T_e2_2] > 'ɛ' U+0304 + + [T_e2_3] > 'ɛ' U+0301 + + [T_e2_4] > 'ɛ' U+030B + + [T_e2_0] > 'ɛ' U+030F + + [T_oe_1] > 'œ' U+0300 + + [T_oe_2] > 'œ' U+0304 + + [T_oe_3] > 'œ' U+0301 + + [T_oe_4] > 'œ' U+030B + + [T_oe_0] > 'œ' U+030F + + [T_ae_1] > 'æ' U+0300 + + [T_ae_2] > 'æ' U+0304 + + [T_ae_3] > 'æ' U+0301 + + [T_ae_4] > 'æ' U+030B + + [T_ae_0] > 'æ' U+030F + + [T_a_1] > 'a' U+0300 + + [T_a_2] > 'a' U+0304 + + [T_a_3] > 'a' U+0301 + + [T_a_4] > 'a' U+030B + + [T_a_0] > 'a' U+030F + + [T_oe4r_1] > 'ɶ' U+0300 + + [T_oe4r_2] > 'ɶ' U+0304 + + [T_oe4r_3] > 'ɶ' U+0301 + + [T_oe4r_4] > 'ɶ' U+030B + + [T_oe4r_0] > 'ɶ' U+030F + + [T_i1U+1] > 'ɨ' U+0300 + + [T_i1U+2] > 'ɨ' U+0304 + + [T_i1U+3] > 'ɨ' U+0301 + + [T_i1U+4] > 'ɨ' U+030B + + [T_i1U+0] > 'ɨ' U+030F + + [T_u1r_1] > 'ʉ' U+0300 + + [T_u1r_2] > 'ʉ' U+0304 + + [T_u1r_3] > 'ʉ' U+0301 + + [T_u1r_4] > 'ʉ' U+030B + + [T_u1r_0] > 'ʉ' U+030F + + [T_e2U+1] > 'ɘ' U+0300 + + [T_e2U+2] > 'ɘ' U+0304 + + [T_e2U+3] > 'ɘ' U+0301 + + [T_e2U+4] > 'ɘ' U+030B + + [T_e2U+0] > 'ɘ' U+030F + + [T_oe3_1] > 'ɵ' U+0300 + + [T_oe3_2] > 'ɵ' U+0304 + + [T_oe3_3] > 'ɵ' U+0301 + + [T_oe3_4] > 'ɵ' U+030B + + [T_oe3_0] > 'ɵ' U+030F + + [T_e2c_1] > 'ə' U+0300 + + [T_e2c_2] > 'ə' U+0304 + + [T_e2c_3] > 'ə' U+0301 + + [T_e2c_4] > 'ə' U+030B + + [T_e2c_0] > 'ə' U+030F + + [T_e3U+1] > 'ɜ' U+0300 + + [T_e3U+2] > 'ɜ' U+0304 + + [T_e3U+3] > 'ɜ' U+0301 + + [T_e3U+4] > 'ɜ' U+030B + + [T_e3U+0] > 'ɜ' U+030F + + [T_oe3r_1] > 'ɞ' U+0300 + + [T_oe3r_2] > 'ɞ' U+0304 + + [T_oe3r_3] > 'ɞ' U+0301 + + [T_oe3r_4] > 'ɞ' U+030B + + [T_oe3r_0] > 'ɞ' U+030F + + [T_a3c_1] > 'ɐ' U+0300 + + [T_a3c_2] > 'ɐ' U+0304 + + [T_a3c_3] > 'ɐ' U+0301 + + [T_a3c_4] > 'ɐ' U+030B + + [T_a3c_0] > 'ɐ' U+030F + + [T_u1U+1] > 'ɯ' U+0300 + + [T_u1U+2] > 'ɯ' U+0304 + + [T_u1U+3] > 'ɯ' U+0301 + + [T_u1U+4] > 'ɯ' U+030B + + [T_u1U+0] > 'ɯ' U+030F + + [T_U+1] > 'u' U+0300 + + [T_U+2] > 'u' U+0304 + + [T_U+3] > 'u' U+0301 + + [T_U+4] > 'u' U+030B + + [T_U+0] > 'u' U+030F + + [T_uc_1] > 'ʊ' U+0300 + + [T_uc_2] > 'ʊ' U+0304 + + [T_uc_3] > 'ʊ' U+0301 + + [T_uc_4] > 'ʊ' U+030B + + [T_uc_0] > 'ʊ' U+030F + + [T_o2U+1] > 'ɤ' U+0300 + + [T_o2U+2] > 'ɤ' U+0304 + + [T_o2U+3] > 'ɤ' U+0301 + + [T_o2U+4] > 'ɤ' U+030B + + [T_o2U+0] > 'ɤ' U+030F + + [T_o_1] > 'o' U+0300 + + [T_o_2] > 'o' U+0304 + + [T_o_3] > 'o' U+0301 + + [T_o_4] > 'o' U+030B + + [T_o_0] > 'o' U+030F + + [T_a3U+1] > 'ʌ' U+0300 + + [T_a3U+2] > 'ʌ' U+0304 + + [T_a3U+3] > 'ʌ' U+0301 + + [T_a3U+4] > 'ʌ' U+030B + + [T_a3U+0] > 'ʌ' U+030F + + [T_o3r_1] > 'ɔ' U+0300 + + [T_o3r_2] > 'ɔ' U+0304 + + [T_o3r_3] > 'ɔ' U+0301 + + [T_o3r_4] > 'ɔ' U+030B + + [T_o3r_0] > 'ɔ' U+030F + + [T_a4U+1] > 'ɑ' U+0300 + + [T_a4U+2] > 'ɑ' U+0304 + + [T_a4U+3] > 'ɑ' U+0301 + + [T_a4U+4] > 'ɑ' U+030B + + [T_a4U+0] > 'ɑ' U+030F + + [T_o4r_1] > 'ɒ' U+0300 + + [T_o4r_2] > 'ɒ' U+0304 + + [T_o4r_3] > 'ɒ' U+0301 + + [T_o4r_4] > 'ɒ' U+030B + + [T_o4r_0] > 'ɒ' U+030F + diff --git a/experimental/i/ipachart/source/ipachart.kps b/experimental/i/ipachart/source/ipachart.kps new file mode 100755 index 0000000000..58db7748f3 --- /dev/null +++ b/experimental/i/ipachart/source/ipachart.kps @@ -0,0 +1,88 @@ + + + + 17.0.326.0 + 7.0 + + + + readme.htm + welcome.htm + + + + + + + + + + IPAchart + © 2024 David Rowbory + David Rowbory + + + + + ..\build\ipachart.kmx + + 0 + .kmx + + + ..\build\ipachart.js + + 0 + .js + + + welcome.htm + + 0 + .htm + + + readme.htm + + 0 + .htm + + + Andika-Regular.ttf + Font Andika + 0 + .ttf + + + ..\LICENSE.md + File LICENSE.md + 0 + .md + + + ipachart-bg.jpg + File ipachart-bg.jpg + 0 + .jpg + + + + + IPAchart + ipachart + 0.2 + Andika-Regular.ttf + Andika-Regular.ttf + + IPA + + + + + + + + + + + diff --git a/experimental/i/ipachart/source/ipachart.kvks b/experimental/i/ipachart/source/ipachart.kvks new file mode 100755 index 0000000000..037348a053 --- /dev/null +++ b/experimental/i/ipachart/source/ipachart.kvks @@ -0,0 +1,8 @@ + + +
+ 10.0 + ipachart + +
+
diff --git a/experimental/i/ipachart/source/readme.htm b/experimental/i/ipachart/source/readme.htm new file mode 100755 index 0000000000..695b847a44 --- /dev/null +++ b/experimental/i/ipachart/source/readme.htm @@ -0,0 +1,30 @@ + + + + + IPAchart + + + + +

IPAchart

+ +

+ IPAchart gives you not all but the most frequently used IPA vowels, consonants, tone letters and diacritics tly as possible, laid out like an IPA chart. + It is probably easiest to use this on a tablet but it does work on larger phones. +

+
    +
  1. Press the ➧ button to left of the vowels to expand the vowel section (hiding some consonants). Press again to contract it. +
  2. Flick up-right to get a vowel with a high tone mark, left-right to get mid tone, down-right to get low tone. +
  3. Press and hold to get alternate related symbols. +
  4. Double-tap to get aspirated plosives and syllabic nasals. +
+

Do let me know if there are features you really need that are currently missing. email keyboards@m.rowbory.co.uk

+

© 2024 David Rowbory

+ + + diff --git a/experimental/i/ipachart/source/welcome.htm b/experimental/i/ipachart/source/welcome.htm new file mode 100755 index 0000000000..9a590a1800 --- /dev/null +++ b/experimental/i/ipachart/source/welcome.htm @@ -0,0 +1,30 @@ + + + + + Start Using IPAchart + + + + +

IPAchart

+ +

+ IPAchart gives you not all but the most frequently used IPA vowels, consonants, tone letters and diacritics tly as possible, laid out like an IPA chart. + It is probably easiest to use this on a tablet but it does work on larger phones. +

+
    +
  1. Press the ➧ button to left of the vowels to expand the vowel section (hiding some consonants). Press again to contract it. +
  2. Flick up-right to get a vowel with a high tone mark, left-right to get mid tone, down-right to get low tone. +
  3. Press and hold to get alternate related symbols. +
  4. Double-tap to get aspirated plosives and syllabic nasals. +
+

Do let me know if there are features you really need that are currently missing. email keyboards@m.rowbory.co.uk

+

© 2024 David Rowbory

+ + +