Compare commits

...

403 Commits

Author SHA1 Message Date
Patrick Goldinger
d5aac7ac14 Release v0.3.14-beta10 2022-02-07 21:09:41 +01:00
florisboard-bot
9f58088545 Update translations from Crowdin 2022-02-07 20:24:27 +01:00
Patrick Goldinger
b684f1759d Add option to select text via delete key (#705, #1534) 2022-02-06 23:21:49 +01:00
Patrick Goldinger
aa7a264d6c Add ability to hide language name on the space bar (#371, #1025) 2022-02-06 22:50:05 +01:00
Patrick Goldinger
6ac537c517 Fix spacebar switches to full keyboard in number-only fields (#1248)
Additionally also fixed it for phone and phone2 layouts.
2022-02-06 22:22:45 +01:00
Patrick Goldinger
2386ae7749 Merge pull request #1538 from florisboard/improve-theme-editor-ui
Improve theme editor UI
2022-02-06 22:12:40 +01:00
Patrick Goldinger
7d559acfae Improve redundancy definition of shape in SnyggShapeValue 2022-02-06 21:21:54 +01:00
Patrick Goldinger
7783b9b218 Add shadow elevation to theme and UI 2022-02-06 20:08:36 +01:00
Patrick Goldinger
548f7d7b1e Move SnyggValueIcon to own source file 2022-02-06 19:10:25 +01:00
Patrick Goldinger
4629c07812 Fix manual color string editing disregarding display colors as option 2022-02-06 12:16:43 +01:00
Patrick Goldinger
3b2b7da841 Add fine tune editor dialog / Add "Display colors as" option 2022-02-05 13:59:14 +01:00
Patrick Goldinger
25ef53510a Improve Snygg shape UI and naming implementation 2022-02-05 12:04:03 +01:00
Patrick Goldinger
0064f248d3 Move theme property translations to own file 2022-02-05 11:32:32 +01:00
Patrick Goldinger
0c721696f2 Improve default theme variable usage 2022-02-04 16:08:06 +01:00
Patrick Goldinger
131ab6214d Remove term "component" from title strings 2022-02-04 14:44:18 +01:00
Patrick Goldinger
70bc7a1236 Add translation for var references in basic and advanced mode
... in stylesheet editor
2022-02-04 14:35:26 +01:00
Patrick Goldinger
6c88716a2a Add Snygg circle shape value 2022-02-04 14:29:47 +01:00
Patrick Goldinger
ff3c37e360 Add ability to style color of glide trail
(property `foreground` is the color of glide trail)
2022-02-04 00:21:06 +01:00
Patrick Goldinger
58bab443c4 Add ability to modify color values manually 2022-02-03 23:32:26 +01:00
Patrick Goldinger
a8b0a6d555 Upgrade dependencies / Upgrade Kotlin to 1.6.10 2022-02-03 20:40:34 +01:00
Patrick Goldinger
0a430b4b0a Release v0.3.14-beta09 2022-02-02 23:46:47 +01:00
Patrick Goldinger
8b76c5ce3b Update README.md 2022-02-02 23:29:11 +01:00
florisboard-bot
c81f5f7015 Update translations from Crowdin 2022-02-02 23:25:36 +01:00
GoRaN
cf6b186269 Update kurdish.json (#1410)
* Update kurdish.json

Update and correct some characters place with there codes.

* Update kurdish.json
2022-02-02 23:08:27 +01:00
Patrick Goldinger
bd25ddb92e Merge pull request #1524 from svvvst/master
Add Rusyn Language Language Set, Layout, Popups
2022-02-02 23:05:03 +01:00
Patrick Goldinger
62bdd31af3 Fix rue popup mapping missing from extension manifest 2022-02-02 22:59:06 +01:00
Patrick Goldinger
d4af89bf99 Merge pull request #1513 from florisboard/add-theme-editor-ui
Add extension editor UI / theme editor UI
2022-02-02 22:51:21 +01:00
Patrick Goldinger
1c38a42c0b Fix system nav bar not using background var reference in default themes
This is done to avoid confusion why the system nav bar color does not change with the background.
2022-02-02 22:28:56 +01:00
Patrick Goldinger
6d1ebb74fb Adjust feedback and beta info test in Settings UI 2022-02-02 22:26:29 +01:00
Patrick Goldinger
9673e6de5c Clean-up old theme strings 2022-02-02 22:14:20 +01:00
Patrick Goldinger
ab709e2c69 Add create extension ability / Fix a lot of state and validation bugs 2022-02-02 21:57:29 +01:00
Patrick Goldinger
9144708cf0 Fix autofill chip not applying correct style (#1507) 2022-02-01 22:25:02 +01:00
Patrick Goldinger
38136de39d Add save extension function to extension editor 2022-01-31 22:21:23 +01:00
Patrick Goldinger
beb800a76e Add ability to modify shape property values in stylesheet editor 2022-01-31 21:40:23 +01:00
Patrick Goldinger
aab738526a Add ability to add new component from existing in extension editor 2022-01-31 00:48:03 +01:00
Patrick Goldinger
86bdad61a4 Add (semi-)live-preview to stylesheet editor
Semi-live only because you must apply a property value before the change reflects on the keyboard UI. THis is also done because instantly updating the stylesheet when using the color picker would create lag.
2022-01-30 23:18:52 +01:00
Patrick Goldinger
e4c56cab03 Fix bugs and fine-tune appearance across extension editor 2022-01-30 20:12:46 +01:00
Patrick Goldinger
cef1c4e3f6 Add hint to text field and trim input in component meta dialog 2022-01-30 18:29:30 +01:00
Patrick Goldinger
b2721c9faa Add input validation to component meta editor dialog 2022-01-30 18:07:26 +01:00
Patrick Goldinger
ab4ae62ffe Improve SnyggRule backend 2022-01-30 15:43:44 +01:00
Patrick Goldinger
74244bab74 Add empty component screen in extension editor 2022-01-29 14:51:51 +01:00
svvvst
57112ae692 Added missing character to layout. 2022-01-28 14:04:15 -04:00
svvvst
fd1314ccba Fixed layout. 2022-01-28 14:03:24 -04:00
svvvst
45d99df104 Added missing character. 2022-01-28 14:02:36 -04:00
Patrick Goldinger
17b87f6543 Remove old theme related strings 2022-01-28 17:40:00 +01:00
Patrick Goldinger
d62e82569d Add ability to modify component meta data in stylesheet editor 2022-01-28 17:28:05 +01:00
Patrick Goldinger
dc5e00cc07 Fix KeyCode range being too restrictive 2022-01-27 23:51:45 +01:00
Patrick Goldinger
6402511d38 Eradicate nasty bug in SnyggRule comparator and equality logic
This bug caused some rules to be magically hidden, because they were either
incorrectly resolved as equal or the comparator returned `=` even though the
codes, groups or modes did not match at all.
2022-01-27 23:49:20 +01:00
Patrick Goldinger
83c1f70077 Implement property apply in stylesheet editor 2022-01-27 19:07:15 +01:00
Patrick Goldinger
f3375f48ef Update AGP to 7.1.0 and Gradle to 7.2 2022-01-27 00:12:01 +01:00
Patrick Goldinger
e1b911086b Fix minor theming issues in stylesheet editor 2022-01-26 23:38:25 +01:00
Patrick Goldinger
b60c0cef51 Improve property set button layout in stylesheet editor 2022-01-26 23:14:01 +01:00
Patrick Goldinger
0c42185700 Add sp size property value field in stylesheet editor 2022-01-26 22:52:46 +01:00
Patrick Goldinger
ee3c779b17 Add custom design for text field in stylesheet editor 2022-01-26 22:08:52 +01:00
Patrick Goldinger
b5e6655c84 Add color picker to property editor in stylesheet editor 2022-01-26 19:38:29 +01:00
Patrick Goldinger
e1b45b9193 Add property value for vars and type selector in stylesheet editor 2022-01-24 20:38:16 +01:00
svvvst
588713bd55 Add Rusyn 2022-01-24 15:23:16 -04:00
svvvst
43ad452174 Add rusyn layouts 2022-01-24 15:21:56 -04:00
svvvst
2cf9146536 Add Rusyn popup mapping 2022-01-24 15:15:37 -04:00
svvvst
f81331baed Add Rusyn language keyboard 2022-01-24 15:14:25 -04:00
Patrick Goldinger
9c9c3b9428 Add skeleton for property editor in stylesheet editor 2022-01-24 01:09:59 +01:00
Patrick Goldinger
4b64d81c21 Extract EditRuleDialog in own file 2022-01-23 23:15:03 +01:00
Patrick Goldinger
e826f600f0 Rework stylesheet editor to use lazy list, avoiding layout freeze 2022-01-23 23:04:36 +01:00
Patrick Goldinger
0f845a9784 Add modes and finish rule mod functionality in stylesheet editor 2022-01-23 21:53:04 +01:00
Patrick Goldinger
a2805bedca Add codes modifier UI in rule editor for stylesheet editor 2022-01-23 13:30:07 +01:00
Patrick Goldinger
d860bbfb90 Add rule dialog in stylesheet editor 2022-01-22 20:47:28 +01:00
Patrick Goldinger
70e2d34410 Add variables box in stylesheet editor 2022-01-21 20:36:44 +01:00
Patrick Goldinger
1c49a11824 Add property preview in stylesheet editor 2022-01-21 19:57:29 +01:00
Patrick Goldinger
cd2a0000c0 Add rule and properties view in stylesheet editor 2022-01-21 00:50:18 +01:00
Patrick Goldinger
1304e49eb4 Add strings for all rule and property names in stylesheet editor 2022-01-20 23:55:43 +01:00
svvvst
9658cecb88 Create rue.json 2022-01-20 00:32:53 -04:00
svvvst
4c23d5bafc Create rusyn.json
Custom Rusyn keyboard layout.
2022-01-19 21:00:39 -04:00
Patrick Goldinger
82238c8c1a Add base skeleton for stylesheet editing 2022-01-20 00:35:13 +01:00
Patrick Goldinger
ead74e1c26 Fix issues with loosing state on rotating screen in extension editor 2022-01-19 23:43:46 +01:00
Patrick Goldinger
d58371be81 Add basic component creator screen 2022-01-19 00:48:53 +01:00
Patrick Goldinger
844d194533 Add stub screens for dependencies and files 2022-01-18 22:55:40 +01:00
Patrick Goldinger
84abc929d0 Improve meta data editor screen for extension editor 2022-01-18 21:27:33 +01:00
Patrick Goldinger
7497470875 Add discard changes dialog / Improve action screen code 2022-01-18 01:34:19 +01:00
Patrick Goldinger
cc5df41daa Rework and refactor UI code base for extension editor 2022-01-17 23:49:14 +01:00
Patrick Goldinger
d87b290a32 Add meta data manager in extension editor 2022-01-17 01:51:16 +01:00
Patrick Goldinger
a0f859ad03 Add basic skeleton for in-app extension editing 2022-01-16 23:49:01 +01:00
Patrick Goldinger
c86892ec0b Merge pull request #1498 from florisboard/add-backup-and-restore-feature
Add backup and restore feature
2022-01-12 22:33:24 +01:00
Patrick Goldinger
c85fea0799 Enable encrypted backup for app data (#272, #1324) 2022-01-12 22:32:38 +01:00
Patrick Goldinger
765e34a01d Improve restore metadata UI 2022-01-11 00:29:19 +01:00
Patrick Goldinger
96e7f2eeac Add restore data functionality 2022-01-10 23:00:00 +01:00
Patrick Goldinger
23dddfd16e Add restore screen UI and general B&R code improvements
B&R..Backup&Restore

Restore action itself does nothing atm
2022-01-08 20:31:39 +01:00
Patrick Goldinger
e2318d0af1 Add ability to share generated backup through share menu 2022-01-07 17:38:22 +01:00
Patrick Goldinger
ef3b840dce Add backup data screen (local file sys only)
Also add skeleton for restore data screen
2022-01-07 02:51:43 +01:00
Patrick Goldinger
9b9c5fa70e Change unhandled stacktraces dir to prevent backup interference
Old location:
`files/{timestamp}.stacktrace`

New location:
`no_backup/unhandled_stacktraces/{timestamp}.stacktrace`

Additionally clean up some "magics" and improve code in the crash utility.
2022-01-06 23:00:08 +01:00
Patrick Goldinger
6f0216cf9f Raise targetSdk from API 30 to 31 2022-01-06 00:59:06 +01:00
Patrick Goldinger
e0ae0abda2 Release v0.3.14-beta08 2022-01-05 22:25:45 +01:00
florisboard-bot
d8e7f686ff Update translations from Crowdin 2022-01-05 21:31:03 +01:00
Patrick Goldinger
052a8eb993 Merge pull request #1488 from florisboard/prefs-rework-8.5
Preference Rework Part 8.5: Small improvements
2022-01-05 21:27:17 +01:00
Patrick Goldinger
60a81b720d Add clearing primary clip also deletes last history entry (#1448)
This behavior is toggle-able in the clipboard preferences.
2022-01-05 20:30:49 +01:00
Patrick Goldinger
db641bade1 Fix emoji view NYI causing keyboard to disappear (#1447) 2022-01-05 03:05:57 +01:00
Patrick Goldinger
d295e5e7f3 Fix delete all clipboard items position (#1449) 2022-01-05 03:03:28 +01:00
Kostas Giapis
197e6c3149 Fix some character codes in ipa layout (#1444) 2022-01-05 02:52:01 +01:00
Spiryt7
8c14db2109 Fix typo in strings.xml (#1445) 2022-01-05 02:46:18 +01:00
Patrick Goldinger
838634cd2c Merge pull request #1440 from florisboard/prefs-rework-8
Preference rework part 8: Re-implement glide typing and theme customization
2022-01-05 02:20:09 +01:00
Patrick Goldinger
3987e94c27 Add or update NYI cards 2022-01-05 02:12:14 +01:00
Patrick Goldinger
2e2ca970a2 Rename assets strings to be just action strings
The term "assets" is not correct anymore, as these actions are used
universally and assets themselves are deprecated in favor of packages
and components.
2022-01-05 01:45:08 +01:00
Patrick Goldinger
2c183dc428 Add extension delete confirm dialogs / Improve button design 2022-01-05 01:18:36 +01:00
Patrick Goldinger
62f6f58e5e Add custom FlorisButtons for more seamless UI code 2022-01-05 00:24:09 +01:00
Patrick Goldinger
9bf97c9f46 Small UI changes in theme manager 2022-01-04 23:54:13 +01:00
Patrick Goldinger
21d2ddf2d4 Improve import UI and localize toast messages 2022-01-03 21:20:47 +01:00
Patrick Goldinger
7eb0a00ce9 Add final step for successful import of theme flex extensions 2022-01-03 20:12:15 +01:00
Patrick Goldinger
db865debcf Further improve import UI and import error detection 2022-01-03 18:38:20 +01:00
Patrick Goldinger
cae1803446 Replace custom stringBuilder() with Kotlin stdlib buildString()
No difference in functionality or performance but cleans up and standardizes
the code base in regards to runtime string building.
2022-01-01 20:01:16 +01:00
Patrick Goldinger
49cfa038f1 Add file registry and vastly improve import UI 2022-01-01 19:45:05 +01:00
Patrick Goldinger
2702d0b228 Update roadmap for 2022 2021-12-31 16:20:21 +01:00
Patrick Goldinger
864ad378a2 Re-structure cache workspaces / Improve UI for extension importer 2021-12-31 03:23:28 +01:00
Patrick Goldinger
0769e612f6 Add skeleton for standardized file importing 2021-12-30 23:53:02 +01:00
Patrick Goldinger
45dd433bb0 Add basic extension export functionality 2021-12-28 20:45:26 +01:00
Patrick Goldinger
c782266cb2 Improve backend implementation of preview keyboard field 2021-12-28 18:12:00 +01:00
Patrick Goldinger
c5f79e16c1 Further improve theme manager UI and fix icon tint base color 2021-12-27 19:34:10 +01:00
Patrick Goldinger
858064f7a7 Improve re-usability of code for extension viewer 2021-12-26 19:28:15 +01:00
Patrick Goldinger
9b51acb104 Improve theme selection code and UI 2021-12-25 20:24:02 +01:00
Patrick Goldinger
8f7f4a7f7d Fix preview kbd placeholder overflow incorrectly configured (#1429) 2021-12-25 11:22:32 +01:00
Patrick Goldinger
90e4263fd1 Improve display of theme selection screen 2021-12-25 10:39:05 +01:00
Patrick Goldinger
d381934376 Add theme components list to extension details screen 2021-12-24 18:13:04 +01:00
Patrick Goldinger
50ae0a5683 Remove arrow from preview field (#1429) 2021-12-24 15:20:23 +01:00
Patrick Goldinger
4df8f63596 Improve preview keyboard field behavior 2021-12-24 14:45:25 +01:00
Patrick Goldinger
2126bc0851 Improve preview theme handling 2021-12-24 00:40:54 +01:00
Patrick Goldinger
738c6373ca Add base skeleton for theme selection and preview 2021-12-23 23:51:38 +01:00
Patrick Goldinger
14dd85f607 Re-implement default Floris Day theme 2021-12-21 23:40:34 +01:00
Patrick Goldinger
eddc9f297e Fix redundant "shape" in func names for shape properties 2021-12-21 22:58:54 +01:00
Patrick Goldinger
4711897c03 Add alternative color definitions (rgb(), hex6, hex8) 2021-12-21 22:50:58 +01:00
Patrick Goldinger
c4cfa36d07 Improve and fix Snygg theme engine for working with json theme files 2021-12-20 22:54:15 +01:00
Patrick Goldinger
47387bac9b Update icons to use static black as base color 2021-12-19 20:28:06 +01:00
Patrick Goldinger
06e5d64700 Further remove view binding and unused code+dependencies 2021-12-19 19:36:26 +01:00
Patrick Goldinger
013f6d5f95 Possibly fix issue with force dark on MIUI systems (A10+) 2021-12-19 18:31:19 +01:00
Patrick Goldinger
406070da62 Improve build.gradle plugin definition 2021-12-19 12:46:19 +01:00
Patrick Goldinger
f9c3da6f09 Remove unused dependencies / Upgrade Room to 2.4.0 2021-12-19 12:04:08 +01:00
Patrick Goldinger
6f19422c6b Mass-remove old core, layout and theme code
This is done as the new theme engine now gets applied and the old
engine was used all over the place. The code base is now getting nearer
to be JC only, but it is not finished yet.
2021-12-19 11:55:40 +01:00
Patrick Goldinger
06ff12c29a Remove old theme preferences 2021-12-18 20:35:09 +01:00
Patrick Goldinger
b04d797022 Upgrade to JetPref 0.1.0-beta02 and Jetpack Compose 1.1.0-rc01 2021-12-17 20:16:10 +01:00
Patrick Goldinger
29d224f6b1 Restrict glide typing layout init to only if actually enabled 2021-12-16 21:57:33 +01:00
Patrick Goldinger
c8203f1104 Add spell checker debug overlay 2021-12-15 23:37:51 +01:00
Patrick Goldinger
0f1357f6fb Adopt base style to make use of new variable define feature 2021-12-15 19:20:07 +01:00
Patrick Goldinger
495884147e Add ability to define variables in themes 2021-12-14 18:44:50 +01:00
Patrick Goldinger
123806ce4a Update FUNDING.yml 2021-12-14 00:02:51 +01:00
Walter S
ce298e3311 Update the Romanian layout (#1330)
* Update TLD list for the Romanian layout.

Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>

* Update popup defaults for the Romanian layout.

Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>

* Add the missing Romanian layout punctuation marks.

Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>
2021-12-13 23:59:38 +01:00
Patrick Goldinger
647ed26e87 Re-implement glide typing/trail/preview 2021-12-13 23:38:12 +01:00
Patrick Goldinger
0958808c3e Fix Settings-related code warnings reported by Kotlin compiler 2021-12-13 00:59:21 +01:00
Patrick Goldinger
f14e52bc43 Upgrade Room to 2.4.0-rc01 / Remove unused packages
Upgrading Room possibly fixes the clipboard history bug.
2021-12-13 00:32:15 +01:00
Patrick Goldinger
17cac9d12b Release v0.3.14-beta07 2021-12-12 23:54:35 +01:00
florisboard-bot
2b6e88fca6 Update translations from Crowdin 2021-12-12 23:27:19 +01:00
Patrick Goldinger
ce52b27ead Improve startup behavior of Room connection
Issue with live data not delivering even though it should is still there.
2021-12-12 23:24:31 +01:00
Patrick Goldinger
4d5bc95b17 Fix subtype show all button causing crash (#1436) 2021-12-12 19:38:35 +01:00
Patrick Goldinger
65b948485c Merge pull request #1411 from florisboard/prefs-rework-7
Preference Rework Part 7: Re-implement Smartbar, Clipboard and Password autofill (A11+)
2021-12-12 18:24:11 +01:00
Patrick Goldinger
3ec6fb6996 Fix autofill inline suggestion not clearing after finalizing 2021-12-12 18:13:33 +01:00
Patrick Goldinger
ccbd3e8c3c Update Settings home screen message 2021-12-12 18:01:13 +01:00
Patrick Goldinger
7ed5966661 Implement clipboard expiry date 2021-12-12 16:59:56 +01:00
Patrick Goldinger
26cbe10d2f Implement clipboard history limit 2021-12-12 15:31:45 +01:00
Patrick Goldinger
558bfbed11 Disable ability to view clipboard history in device locked state (#1250) 2021-12-11 20:14:57 +01:00
Patrick Goldinger
d58ed706ba Update home screen message for re-implemented features 2021-12-10 20:18:07 +01:00
Patrick Goldinger
356254742f Re-implement clipboard history functionality and layout
Auto clean-up and limit may not work fully yet
2021-12-10 20:12:10 +01:00
Patrick Goldinger
05fe0e6311 Fix FlorisImeTheme lateinit var not initialized
... by removing the lateinit var altogether
2021-12-09 21:22:04 +01:00
Patrick Goldinger
33dc32351c Add clipboard history view / Add clipboard history disabled note 2021-12-09 00:14:58 +01:00
Patrick Goldinger
d20abcfcd3 Add Snygg shape value support for dp corner size 2021-12-09 00:13:38 +01:00
Patrick Goldinger
2fae92305f Replace repetitive definitions in FlorisImeUiSpec with builder funs 2021-12-08 22:01:24 +01:00
Patrick Goldinger
a41afa9a57 Upgrade Android Gradle Plugin to 7.0.4 2021-12-08 19:05:04 +01:00
Patrick Goldinger
45c17002cf Fix bug with clipboard suggestion ignoring root suggestion state 2021-12-08 17:41:05 +01:00
Patrick Goldinger
9f4bc35cea Re-implement autofill inline suggestions (Android 11+) 2021-12-08 17:29:28 +01:00
Patrick Goldinger
24ecf5d48f Add ability to commit candidates in Smartbar 2021-12-07 21:20:26 +01:00
Patrick Goldinger
a8f62c4e2b Add safeguard preventing cloned event leakage for channel errors 2021-12-07 19:56:03 +01:00
Patrick Goldinger
d1feb36442 Fix input logic registering last key twice when typing fast 2021-12-07 19:40:03 +01:00
Patrick Goldinger
8242469d6d Fix third-party licenses screen 2021-12-06 01:49:31 +01:00
Patrick Goldinger
c88fc42ee7 Re-add clipboard suggestion preferences 2021-12-06 01:41:16 +01:00
Patrick Goldinger
8ce28c467d Improve Smartbar action row / Add auto collapse/expand 2021-12-06 01:10:50 +01:00
Patrick Goldinger
28bfa73cad Add Smartbar secondary row placement preference 2021-12-05 23:09:01 +01:00
Patrick Goldinger
804cb358b8 Re-implement candidate suggestion UI 2021-12-05 18:54:39 +01:00
Patrick Goldinger
24c7665995 Fix clipboard primaryClip setting value on incorrect thread 2021-12-05 12:49:02 +01:00
Patrick Goldinger
1e4d805b10 Improve Smartbar customisability / Fix Smartbar bugs 2021-12-04 20:32:35 +01:00
Patrick Goldinger
c3130ff064 Re-implement basic clipboard features (copy/cut/paste) 2021-12-04 18:42:21 +01:00
Patrick Goldinger
f8a2dc2462 Remove loads of old code (popup + clipboard + layout res) 2021-12-04 16:15:32 +01:00
Patrick Goldinger
39e2dba1df Re-implement clipboard cursor row 2021-12-04 12:40:30 +01:00
Patrick Goldinger
3a4d17abca Re-arrange clipboard_cursor_row default order (#432) 2021-12-04 12:12:06 +01:00
Patrick Goldinger
6666b104bb Fix clipboard cursor row using incorrect arrow key codes 2021-12-03 21:15:42 +01:00
Patrick Goldinger
120e4505e9 Add Smartbar action row 2021-12-02 19:35:46 +01:00
Patrick Goldinger
3d8cb7828f Upgrade to Jetpack Compose 1.1.0-beta04 / Kotlin 1.6 2021-12-01 23:59:37 +01:00
Patrick Goldinger
ef86cf4145 Add skeleton for new Smartbar UI 2021-11-30 23:03:49 +01:00
Patrick Goldinger
5f5f406c64 Remove hover selector and add disabled selector in SnyggRule 2021-11-29 20:06:22 +01:00
Patrick Goldinger
55977e0c33 Upgrade to JetPref 0.1.0-beta01 2021-11-29 01:24:03 +01:00
Patrick Goldinger
1a968a6651 Release 0.3.14-beta06 2021-11-28 19:22:48 +01:00
florisboard-bot
2df91f5265 Update translations from Crowdin 2021-11-28 19:01:37 +01:00
Patrick Goldinger
55167651e4 Merge pull request #1409 from florisboard/prefs-rework-6.5
Preference Rework Part 6.5: Bug fixes and patches before beta06 release
2021-11-28 18:53:46 +01:00
Patrick Goldinger
a101be1acf Lock theme manager screen preferences from being mutated 2021-11-28 18:47:33 +01:00
Patrick Goldinger
0c9c456369 Adapt home screen box for beta06 missing features 2021-11-28 18:38:07 +01:00
Patrick Goldinger
384bae7333 Fix auto capitalization / remember capitalization bugs 2021-11-28 18:09:44 +01:00
Patrick Goldinger
fba55f7d3e Add locale selection screen
Allows to select any language available on the device, thus allowing
for any spell checker language to be actually used.
2021-11-28 17:39:30 +01:00
Patrick Goldinger
e92c5e1cec Add scrollable lazy list modifier 2021-11-28 12:41:06 +01:00
Patrick Goldinger
1725bdd9ae Merge pull request #1370 from florisboard/prefs-rework-6
Preference Rework Part 6: Re-implement keyboard UI in JC, remove old backend, fix direct boot mode
2021-11-27 20:56:14 +01:00
Patrick Goldinger
db43ce6b15 Fix live preview bugs in the settings UI 2021-11-27 20:17:19 +01:00
Patrick Goldinger
863370b064 Improve FlorisScreen 2021-11-27 19:34:35 +01:00
Patrick Goldinger
302c8d3699 Remove old SettingsMainActivity and the Typing fragment 2021-11-27 19:21:12 +01:00
Patrick Goldinger
c504b792b3 Improve subtype editor and its presets UI 2021-11-27 19:13:17 +01:00
Patrick Goldinger
56c965626a Add subtype presets / Fix layout type id associations 2021-11-27 18:14:50 +01:00
Patrick Goldinger
9a1bd90f79 Fix subtype editor bugs and add popup mapping dropdown 2021-11-27 13:48:13 +01:00
Patrick Goldinger
5ff670ded9 Add new subtype editor screen 2021-11-26 21:10:42 +01:00
Patrick Goldinger
1b7e671071 Add FlorisButtonBar 2021-11-25 20:56:19 +01:00
Patrick Goldinger
3dec7061ac Move character layouts to new extension core 2021-11-25 00:21:29 +01:00
Patrick Goldinger
da6cd59663 Move symbols/symbols2 layouts to new extension core 2021-11-24 23:40:10 +01:00
Patrick Goldinger
88e72616cb Fix visual bugs in the keyboard UI 2021-11-24 23:23:20 +01:00
Patrick Goldinger
ed0c8784a0 Move KeyboardMode to base keyboard class 2021-11-24 22:48:10 +01:00
Patrick Goldinger
d0e20a8c52 Re-implement extended popups / Rework computing evaluator concept 2021-11-24 22:25:06 +01:00
Patrick Goldinger
aa93136f04 Re-implement basic popups 2021-11-23 23:53:25 +01:00
Patrick Goldinger
8c11eaa099 Complete re-structure of common.* package 2021-11-22 22:25:29 +01:00
Patrick Goldinger
105a6a8cb9 Re-implement missing input actions 2021-11-22 20:28:38 +01:00
Patrick Goldinger
c5fd023fce Re-implement gestures / swipe actions 2021-11-22 01:52:49 +01:00
Patrick Goldinger
2dc280aade Adapt key codes to new concept and use in extensions 2021-11-22 01:08:12 +01:00
Patrick Goldinger
233409eeab Re-implement key hints in the keyboard UI 2021-11-21 22:03:17 +01:00
Patrick Goldinger
df7eb08eec Re-implement startInputView logic 2021-11-21 21:14:10 +01:00
Patrick Goldinger
d91886a6ed Fix Snygg stylesheet compile logic 2021-11-21 19:07:56 +01:00
Patrick Goldinger
cf94fe72ff Move numeric layouts to new core extension package 2021-11-20 19:48:20 +01:00
Patrick Goldinger
4598f3221b Vastly improve stylesheet merging / Improve new input logic 2021-11-20 19:22:57 +01:00
Patrick Goldinger
fdf120ed19 Move parts of layout json files to new core extension 2021-11-19 20:39:37 +01:00
Patrick Goldinger
704d55051b Re-implement parts of touch logic 2021-11-18 20:39:02 +01:00
Patrick Goldinger
7dd85c8a71 Add simple touch logic to new keyboard UI 2021-11-17 23:56:08 +01:00
Patrick Goldinger
8566448009 Fix bugs in SnyggStylesheet getter resolve logic 2021-11-16 21:58:38 +01:00
Patrick Goldinger
6df06b01fa Re-implement font/icon sizing for keyboard UI 2021-11-16 00:48:18 +01:00
Patrick Goldinger
512335c16a Add Snygg shape support 2021-11-15 23:55:57 +01:00
Patrick Goldinger
d657ec546b Re-implement layout manager for loading from extensions 2021-11-15 22:40:38 +01:00
Patrick Goldinger
c1db4c1bea Fix old LayoutManager / Add extCore builders for component names 2021-11-15 01:42:38 +01:00
Patrick Goldinger
253b04b50c Add experimental KeyboardLayout implemented in Jetpack Compose 2021-11-14 23:48:53 +01:00
Patrick Goldinger
7f5b31ad01 Add FlorisRect class 2021-11-13 20:43:33 +01:00
Patrick Goldinger
6526dab7dd Re-implement further old keyboard logic into the new one 2021-11-12 20:49:50 +01:00
Patrick Goldinger
c3be2b38cf Fix bugs in smartbar sizing / preference appliance 2021-11-12 00:06:45 +01:00
Patrick Goldinger
a6101b774e Add base for layouts and smartbar container 2021-11-11 23:46:40 +01:00
Patrick Goldinger
286d2dfc19 Add base implementation for Snygg themes 2021-11-10 22:18:04 +01:00
Patrick Goldinger
639f7cdc5b Add temporary mockup for new subtype/localization screen 2021-11-10 00:01:04 +01:00
Patrick Goldinger
b949814912 Begin implementing keyboard UI in Jetpack Compose
Additionally add change of a lot of code throughout the codebase
2021-11-10 00:00:01 +01:00
Patrick Goldinger
ceb8686063 Move subtype presets, currency sets and popup mappings to extensions 2021-11-09 01:21:46 +01:00
Patrick Goldinger
e933377bab Fix common issues with subtypes and extension manager 2021-11-09 00:54:38 +01:00
Patrick Goldinger
11a3ddfed7 Completely rework subtypes and subtype manager 2021-11-08 00:47:57 +01:00
Patrick Goldinger
609fcffcd0 Add capacity argument to stringBuilder dsl function 2021-11-08 00:35:59 +01:00
Patrick Goldinger
206340062f Add extension component (name) and keyboard extensions index 2021-11-08 00:24:07 +01:00
Patrick Goldinger
e4325b568b Update keyboard state to be a LiveData and support batch edits 2021-11-07 23:59:19 +01:00
Patrick Goldinger
8968de6276 Rename ExtensionAuthor to ExtensionMeta 2021-11-06 20:53:42 +01:00
Patrick Goldinger
4a67c5acb0 Fix subtype manager internal logic, prepare for new UI 2021-11-05 19:58:47 +01:00
Patrick Goldinger
9b30a4808c Potential fix for AssetManager jsonConfig null crash (#1351) 2021-11-05 01:27:06 +01:00
Patrick Goldinger
fa0e596cee Add scrollbars to all scrollable views (except some dialogs) 2021-11-04 23:47:35 +01:00
Patrick Goldinger
fc5c553923 Add dotted line for active step to FlorisStepLayout 2021-11-04 20:43:36 +01:00
Patrick Goldinger
21f230c0a9 Improve HomeScreen / Remove unused code 2021-11-01 22:51:05 +01:00
Patrick Goldinger
afdf5857e8 Fix input feedback blocking main thread (#1366) 2021-11-01 01:56:56 +01:00
Patrick Goldinger
198e8ff4a8 Increase gesture distance max from 48 to 72dp
Default changed from 32 to 36dp
2021-11-01 01:54:26 +01:00
Patrick Goldinger
c8e03ceb77 Remove old pref backend entirely 2021-11-01 00:28:23 +01:00
Patrick Goldinger
c4b009c296 Move parts of dictionary preferences to new backend/frontend 2021-10-31 22:36:32 +01:00
Patrick Goldinger
d4935195a9 Move smartbar preferences to new backend/frontend 2021-10-31 22:08:31 +01:00
Patrick Goldinger
39c389a325 Move suggestion/correction preferences to new backend/frontend 2021-10-31 21:50:58 +01:00
Patrick Goldinger
c40aa37a72 Move internal preferences to new backend 2021-10-31 17:36:08 +01:00
Patrick Goldinger
41a6ab36ea Fix prefs getting reset when loaded in direct boot mode (#1304) 2021-10-31 17:18:39 +01:00
Patrick Goldinger
510f2cc120 Upgrade to JetPack Compose 1.1.0-beta01 2021-10-29 20:24:32 +02:00
Patrick Goldinger
bce5199e31 Release v0.3.14-beta05 2021-10-28 22:19:19 +02:00
Patrick Goldinger
7f65dd34d8 Update ROADMAP.md 2021-10-28 22:06:34 +02:00
florisboard-bot
9e1ac5f315 Update translations from Crowdin 2021-10-28 21:55:14 +02:00
florisboard-bot
4a00f2ea3f Update translations from Crowdin 2021-10-28 00:34:16 +02:00
Patrick Goldinger
36d7122f71 Update FlorisBoard CI to ignore certain repo meta files 2021-10-27 23:43:20 +02:00
Patrick Goldinger
6daec753c3 Add Crowdin GitHub Actions Workflow 2021-10-27 23:02:56 +02:00
Patrick Goldinger
2c1ad1f305 Merge pull request #1328 from florisboard/prefs-rework-5
Preference Rework Part 5: Bug fixes for spell checker, Devtools, Correction prefs
2021-10-27 19:34:04 +02:00
Patrick Goldinger
e9961059e0 Add Snygg stylesheet backend edit support / Fix and rearrange a lot of Snygg code 2021-10-27 01:11:13 +02:00
Patrick Goldinger
d65c2a582e Move SpellingConfig from json file to companion object 2021-10-26 20:29:42 +02:00
Patrick Goldinger
e19ce47dbb Add unit test for SnyggSizeValue 2021-10-26 17:14:37 +02:00
Patrick Goldinger
f67acac9f8 Fix build.gradle NDK ABI filters 2021-10-25 23:59:53 +02:00
Patrick Goldinger
1f152cf596 Add SnyggImageRefValue to theme base 2021-10-25 23:43:23 +02:00
Patrick Goldinger
b668f79231 Improve Snygg implementation / Add docstrings to some Snygg components 2021-10-24 23:31:44 +02:00
Patrick Goldinger
eed50e3fac Add base implementation for new Snygg theme engine 2021-10-24 20:19:36 +02:00
Patrick Goldinger
c3845c304a Add Snygg property names 2021-10-23 20:47:59 +02:00
Patrick Goldinger
510e7f3514 Add isBorderless flag to theme extension 2021-10-22 14:39:12 +02:00
Patrick Goldinger
48c5be1a8c Fix step layout content not scrollable 2021-10-21 19:44:31 +02:00
Patrick Goldinger
1633521393 Add auto-return from system IME enabler activity
(Idea by @ sabzo)
2021-10-21 19:29:52 +02:00
Patrick Goldinger
6a81267bf0 Improve observer code / Fix FlorisCard padding issues 2021-10-20 22:55:29 +02:00
Patrick Goldinger
88b6f5b7d6 Remove API 30 specific method.xml and unify with main method.xml 2021-10-20 17:53:18 +02:00
Patrick Goldinger
1420a256e8 Fix setup screen sometimes showing on launch even though it shouldn't 2021-10-20 00:50:50 +02:00
Patrick Goldinger
a6c829ef6c Rework implementation of app icon 2021-10-20 00:47:26 +02:00
Patrick Goldinger
9f8c775bdb Finish moving home screen Ui / Remove unused old settings code 2021-10-19 20:19:58 +02:00
Patrick Goldinger
41d3042704 Fix minor issues with AndroidSettings observers 2021-10-18 23:18:13 +02:00
Patrick Goldinger
97b170f55b Rework Android Settings observe implementation
Fixes the delay some devices experienced
2021-10-18 22:13:21 +02:00
Patrick Goldinger
f34a2917f0 Add internal splash screen
Fixes the short setup screen flash which sometimes occurs
2021-10-18 01:06:08 +02:00
Patrick Goldinger
4c554d1361 Upgrade JetPref to 0.1.0-alpha11 2021-10-18 00:43:47 +02:00
Patrick Goldinger
1c9110188d Fix spelling screen allowing config changes when disabled in system 2021-10-17 23:19:16 +02:00
Patrick Goldinger
e18ecb7529 Add devtools screen / Add Android system debug tools 2021-10-17 23:09:16 +02:00
Patrick Goldinger
cccd0b8bca Fix FileObserver using new constructor(file,mask) for API <= 28 (#1326) 2021-10-17 18:45:06 +02:00
Patrick Goldinger
febc37e02c Upgrade to JetPref 0.1.0-alpha10 & JetPack Compose 1.1.0-alpha06 2021-10-17 15:51:15 +02:00
Patrick Goldinger
1ef7656c6b Release v0.3.14-beta04 2021-10-15 19:47:36 +02:00
Patrick Goldinger
7a71d191a1 Update translations from Crowdin 2021-10-15 19:29:27 +02:00
pnppl
d44e7cc621 Remove slurs from glide dictionary (#1306)
* Remove slurs from glide dictionary

Last thing you want to do is accidentally text someone the n-word.

* Missed a spot

removed "dyke"

* Couple more

"gaylord", "homo"
2021-10-15 19:21:09 +02:00
Rex_sa
cf755abdc0 Change name of Rial currency symbol (﷼) (#1323)
* Update config.json

The ﷼ currency is more then one country currency.

* Last Update config.json

* Update config.json

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-10-15 19:09:52 +02:00
Patrick Goldinger
40f7ad6254 Fix German uppercase letter ẞ being displayed as SS (#1321) 2021-10-14 23:53:06 +02:00
Mangu Purty
c3342595b1 Update warang_citi.json for upper case 𑣖 (#1288)
* Update config.json

* Update config.json

* Create ho.json

* Update ho.json

* Create warang_citi

* Update ho.json

* Rename warang_citi to warang_citi.json

* Update config.json

* Update and rename ho.json to warang_citi.json

* Add numericRow preferred for hoc language

* Update warang_citi.json for uper case 𑣖

Added the missing line "$": "auto_text_key" for the letter 𑣖.

* Update warang_citi.json

Added popups.

* Update warang_citi.json

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-10-14 23:48:18 +02:00
Mubashir Rehman
7985492729 Add ur-PK in phonetic layout (#1278)
* Added Urud(ur-PK)

id 3500. added Urdu with qwerty and pakistani_rupee

* Update characters type in ur-PK

* Created Urdu Primary keys

Thanks to @mirfatif

* Updated Typo in characters name in ur-PK

* Created ur-PK extended-PopUp

Thanks https://github.com/mirfatif/AnySoftKeyboard/blob/Urdu-keyboard-and-dictionary/addons/languages/urdu/pack/src/main/res/xml/urdu_with_symbols.xml

* Update ur-PK.json

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-10-14 23:44:18 +02:00
Patrick Goldinger
5fd5a103a7 Merge pull request #1290 from florisboard/prefs-rework-4
Preference Rework Part 4: Splash Screen, Theme manager/editor
2021-10-14 23:34:27 +02:00
Patrick Goldinger
0b96902c8e Fix glide typing data initialization not working 2021-10-14 23:27:38 +02:00
Patrick Goldinger
b992151d60 Fix state/loading bugs in spell checker logic 2021-10-14 23:22:05 +02:00
Patrick Goldinger
cf5dcca689 Improve spelling manager Ui 2021-10-14 20:56:33 +02:00
Patrick Goldinger
cbbf54e9d8 Add Ui for viewing current system spell checker configuration 2021-10-14 20:09:35 +02:00
Patrick Goldinger
8ee127c32f Add dictionary loader function
Spell checker is technically working again, but bug fixes and
polishing is still needed.
2021-10-13 21:43:16 +02:00
Patrick Goldinger
d1cddafa32 Add detection for system spell checker settings 2021-10-13 00:46:39 +02:00
Patrick Goldinger
5b68589b7a Add proper extension index logic 2021-10-12 23:09:33 +02:00
Patrick Goldinger
f7e31ca752 Add basic spelling dictionary import Ui 2021-10-12 01:12:27 +02:00
Patrick Goldinger
236b555f07 Improve ZipUtils code readability / Add zip() to ZipUtils 2021-10-11 23:19:01 +02:00
Patrick Goldinger
c66d6f5a20 Remove old spelling manager Ui implementation 2021-10-11 22:42:18 +02:00
Patrick Goldinger
bdc45d6e28 Add FlorisDropdownMenu composable component 2021-10-11 21:03:04 +02:00
Patrick Goldinger
53edce6917 Upgrade Gradle build tools to 7.0.3 2021-10-11 21:02:42 +02:00
Patrick Goldinger
c78f50781b Animate FlorisStepLayout and add option to change primary color 2021-10-11 15:39:36 +02:00
Patrick Goldinger
04dacbc060 Add FlorisStepLayout and adapt setup screen to use it 2021-10-11 01:29:49 +02:00
Patrick Goldinger
db0c2c1880 Add internal codebase for extension editor 2021-10-10 23:56:14 +02:00
Patrick Goldinger
aaf7d6d557 Add preview text field visibility control in code 2021-10-10 15:48:13 +02:00
Patrick Goldinger
ec9a7882ae Add extension indexing and improve loading 2021-10-09 20:53:10 +02:00
Patrick Goldinger
9d3d763cec Add spelling manager Ui base 2021-10-08 21:26:36 +02:00
Patrick Goldinger
f6a686a79d Add ExtensionAuthor unit test, fix bugs 2021-10-08 01:00:57 +02:00
Patrick Goldinger
ba712a5417 Add ExtensionViewerScreen Ui 2021-10-07 23:47:10 +02:00
Patrick Goldinger
02de2411e1 Fix launchUrl handling of URLs without a schema 2021-10-07 20:13:45 +02:00
Patrick Goldinger
a76e354a6c Add ExtensionAuthor Ui 2021-10-07 01:39:09 +02:00
Patrick Goldinger
ecda55094f Add ExtensionAuthor data class 2021-10-06 23:57:49 +02:00
Patrick Goldinger
6fb003099b Upgrade JetPack Compose to 1.1.0-alpha05 2021-10-06 23:53:44 +02:00
Patrick Goldinger
626caff0aa Add base for new Snygg theme engine
This is a step normally planned for after 0.3.14, but due to the fact
that the whole theme manager UI has to be rewritten anyways, some parts
of the planned theme rework will be done sooner than planned, saves some
work afterwards.
2021-10-05 23:09:27 +02:00
Patrick Goldinger
ecb8773391 Rework base application asset management
Temporarily disables spell checking, gide typing and possibly some other
features.
2021-10-04 21:50:10 +02:00
Patrick Goldinger
a60873099c Rework extension structure once again for better loading support 2021-10-03 23:56:18 +02:00
Patrick Goldinger
e6a36a0d97 Rework extension config implementation 2021-10-02 20:47:58 +02:00
Patrick Goldinger
ddac177bf2 Rework extension base structure for serialization 2021-10-01 20:40:11 +02:00
Patrick Goldinger
8f1c99b75b Move app.ui.res package to app.res 2021-09-30 23:51:40 +02:00
Patrick Goldinger
1389d06d23 Add new ExtensionConfig as base for full extension support 2021-09-30 23:04:36 +02:00
Patrick Goldinger
da58cef7f8 Add String.curlyFormat unit test 2021-09-30 00:41:43 +02:00
Patrick Goldinger
9f3907eab4 Add kotest testing library / Temporarily remove old unit tests
Removal because some of them have not been updated for ages and
because the old Junit and Mockito code messes with kotest.

The old unit tests will be reimplemented in kotest as best as possible.
2021-09-30 00:27:33 +02:00
Patrick Goldinger
8ccaf388d9 Add curlyFormat String extension function 2021-09-29 23:42:20 +02:00
Patrick Goldinger
3b1ce29288 Add "Purposely crash app" debug action 2021-09-28 22:15:24 +02:00
Patrick Goldinger
e768af02e2 Upgrade KotlinX Coroutine Library to 1.5.2 (#1295) 2021-09-28 20:58:53 +02:00
Patrick Goldinger
c579c1f2be Allow dialog preference strings to be translated 2021-09-28 19:25:04 +02:00
Patrick Goldinger
dcd311d3b2 Fix FlorisBoard settings not accessible through system prefs 2021-09-28 19:11:34 +02:00
Patrick Goldinger
ba12ec882a Improve InputFeedbackScreen vibration/audio units and ranges (#1291) 2021-09-28 18:52:06 +02:00
Patrick Goldinger
e4714c47e7 Fix moving gestures firing too rapidly 2021-09-28 18:47:47 +02:00
Patrick Goldinger
2c57aecd65 Add background-only splash screen
This is only temporary until the SplashScreen Compat API evolves.
2021-09-27 21:30:40 +02:00
Patrick Goldinger
bed94f8100 Add ThemeScreen (overview) to new Settings UI
ThemeManager/Editor still in old UI
2021-09-27 00:28:13 +02:00
Patrick Goldinger
da0f881f7c Upgrade to JetPref 0.1.0-alpha08 2021-09-26 22:45:57 +02:00
Patrick Goldinger
fa96a239b4 Release v0.3.14-beta03 2021-09-26 20:39:42 +02:00
Mangu Purty
a7b6f06b38 Add Warang Citi layout (#1274)
* Update config.json

* Update config.json

* Create ho.json

* Update ho.json

* Create warang_citi

* Update ho.json

* Rename warang_citi to warang_citi.json

* Update config.json

* Update and rename ho.json to warang_citi.json

* Add numericRow preferred for hoc language

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-09-26 20:07:52 +02:00
Patrick Goldinger
aa37a3e80a Merge pull request #1276 from florisboard/prefs-rework-3
Preference Rework Part 3: Setup screen, Gesture prefs
2021-09-26 19:46:33 +02:00
Patrick Goldinger
9158afaf3e Fix GitHub workflow failing due to OSS license plugin issue 2021-09-24 20:08:20 +02:00
Patrick Goldinger
b6580adb94 Implement separate keyboard height prefs for portrait/landscape (#360) 2021-09-24 19:36:45 +02:00
Patrick Goldinger
1109a3efb1 Add third-party license screen in new UI 2021-09-24 18:58:40 +02:00
Patrick Goldinger
b02c780dd7 Remove systemLanguage property from FlorisApplication 2021-09-23 18:45:18 +02:00
Patrick Goldinger
fc8557d19b Remove Timber Logcat library 2021-09-23 00:19:11 +02:00
Patrick Goldinger
1733c10ce2 Implement gesture screen UI and logic 2021-09-22 19:58:36 +02:00
Patrick Goldinger
ae516bf18a Improve setup screen based on feedback (#996) 2021-09-22 18:00:33 +02:00
Patrick Goldinger
e4cba358bb Upgrade AndroidX Navigation Compose to 2.4.0-alpha09 2021-09-21 19:13:07 +02:00
Patrick Goldinger
51d07270be Fix duplicate vibration duration label (#1272) 2021-09-21 19:03:36 +02:00
Patrick Goldinger
67a0d19776 Add new setup screen UI (#996) 2021-09-21 18:55:30 +02:00
Patrick Goldinger
fdbe790a96 Add custom string resource methods 2021-09-20 19:11:32 +02:00
Patrick Goldinger
dcee5dbf2d Release v0.3.14-beta02 2021-09-19 18:37:50 +02:00
Patrick Goldinger
0392342384 Update translations from Crowdin 2021-09-19 18:23:09 +02:00
nd500
6744a9fc87 Add Igbo layout 1 (#1251)
* igbo.json

Igbo language character layout

* Update config.json

Updated config.json to add 'Igbo' default subType

* Update config.json

format tweak...

* Updated config.json - added igbo section

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-09-18 18:02:28 +02:00
Aman9das
a48b95127c Fix redundant % symbol (#1267)
* fix > symbol in symbols-additional layout putting ?

* double % symbols was redundant
2021-09-18 17:18:58 +02:00
Hayleia
c35a282d88 Add Basic Telex for Vietnamese (#978)
* Add Basic Telex composer

* Add vi-VN popups

* Declare vietnamese language

Not sure about currencies

* Composer with rules supports uppercase and lowercase

* Fix composer composition in Firefox URL bar (again)

* Add fallback Telex rules

Warning, uw needs uuww

* Save a bit of visual space on Telex rule declarations

* Add missing popup

* Add z-rules
2021-09-18 17:11:19 +02:00
Patrick Goldinger
0a9ee749c1 Merge pull request #1261 from florisboard/prefs-rework-2
Preference Rework Part 2: Clipboard preferences + other prefs
2021-09-18 17:01:47 +02:00
Patrick Goldinger
92da7b74a0 Change LifecycleInputMethodService to provide uiScope 2021-09-18 16:40:47 +02:00
Patrick Goldinger
940baa00ae Remove old about activity / Remove other old unused code 2021-09-18 01:55:09 +02:00
Patrick Goldinger
4ec91e5415 Implement input feedback preferences / Clean up unused old settings 2021-09-17 19:54:07 +02:00
Patrick Goldinger
03b01b58de Add input feedback preference screen 2021-09-17 19:40:11 +02:00
Patrick Goldinger
58a4ae2bc9 Implement new keyboard preferences in the keyboard logic 2021-09-17 18:29:01 +02:00
Patrick Goldinger
f5c08164a4 Upgrade to JetPref 0.1.0-alpha07 2021-09-17 17:55:24 +02:00
Patrick Goldinger
4e794cd05c Add descriptions to key hint mode options (#955) 2021-09-16 23:49:21 +02:00
Patrick Goldinger
936c671a7f Add Keyboard preferences screen / Clean up strings.xml 2021-09-16 23:33:57 +02:00
Patrick Goldinger
1e29b1683b Temporarily remove translations to avoid string IDs to mismatch
Translations are saved in Crowdin and will be re-fetched later
2021-09-16 21:07:26 +02:00
Patrick Goldinger
1321bfc9c9 Add LifecycleInputMethodService 2021-09-16 19:27:31 +02:00
Patrick Goldinger
8c79e633a0 Upgrade to JetPref 0.1.0-alpha05 2021-09-16 19:19:03 +02:00
Patrick Goldinger
98790485d1 Improve InputMethodUtils and picker button onClick 2021-09-15 23:54:19 +02:00
Patrick Goldinger
d784472d3d Fix system back button/gesture not working in Settings UI 2021-09-15 23:40:38 +02:00
Patrick Goldinger
d4a845c3a0 Adapt new clipboard prefs in ClipboardManager 2021-09-15 23:28:29 +02:00
Aman9das
5237458c21 Fix > symbol in western-additional layout using incorrect code (#1254) 2021-09-15 22:23:09 +02:00
Patrick Goldinger
b8e6bd5f40 Add clipboard settings screen 2021-09-15 22:08:04 +02:00
Patrick Goldinger
5881f42820 Add new unit strings (#692) 2021-09-15 21:54:30 +02:00
Patrick Goldinger
cae620da02 Add InputMethodUtils 2021-09-15 20:27:47 +02:00
Patrick Goldinger
2c6ed33f38 Update README.md to fix incorrect release links 2021-09-14 19:06:36 +02:00
Patrick Goldinger
a71c89d5d3 Release v0.3.14-beta01 2021-09-14 18:58:09 +02:00
Patrick Goldinger
408716f4c4 Fix custom app language setter bug 2021-09-14 18:48:22 +02:00
Patrick Goldinger
005040df66 Update translations from Crowdin 2021-09-14 18:41:20 +02:00
Patrick Goldinger
527b3b293e Fix glide typing preview not working (#1191) 2021-09-14 00:59:43 +02:00
mrdeck4rd
dec39e8bd9 Add Thai layout (#1226)
* Add Thai Kedmanee layout.

* Add Thai layout

-Thai Kedmanee
-Thai Manoonchai

* Added Thai Numerals

* Fix syntax issue in config file

* Add new line to thai_manoonchai.json

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-09-14 00:34:33 +02:00
Patrick Goldinger
eaa630b219 Merge pull request #1237 from florisboard/prefs-rework-1
Preference Rework Part 1: JetPref lib + base preparation
2021-09-14 00:25:22 +02:00
Patrick Goldinger
4217594dd4 Update JetPref to 0.1.0-alpha03 2021-09-14 00:16:24 +02:00
Patrick Goldinger
96d01a28fb Implement live preview for advanced preferences 2021-09-13 22:14:28 +02:00
Patrick Goldinger
ec9f4a6654 Add keyboard preview in Settings (#82) 2021-09-13 21:30:39 +02:00
Patrick Goldinger
1990916851 Change home card to be collapsible 2021-09-12 23:51:36 +02:00
Patrick Goldinger
9ab49ff1c9 Add Settings language option feature 2021-09-12 23:03:47 +02:00
Patrick Goldinger
b4f08c38b3 Add home screen beta tester note 2021-09-11 14:05:29 +02:00
Patrick Goldinger
5a375ec30f Implement devtools and force-private-mode 2021-09-11 13:33:46 +02:00
Patrick Goldinger
efded915c3 Implement show/hide app icon feature / Fix theme issues 2021-09-11 13:14:46 +02:00
Patrick Goldinger
4bf335f4af Implement Jetpack Theme + Settings Theme pref functionality 2021-09-11 12:20:12 +02:00
Patrick Goldinger
643920c094 Add advanced preferences 2021-09-10 19:46:44 +02:00
Patrick Goldinger
172eb54909 Add license screen / Improve internal UI code 2021-09-10 17:56:15 +02:00
Patrick Goldinger
3d3d8f74c4 Re-add app icon on about screen 2021-09-10 00:39:04 +02:00
Patrick Goldinger
cf77038336 Re-implement version copy feature 2021-09-10 00:15:59 +02:00
Patrick Goldinger
619e06be1b Rename MainAppActivity to FlorisAppActivity 2021-09-09 23:59:39 +02:00
Patrick Goldinger
36dde9f7e0 Add about screen structure 2021-09-09 23:51:38 +02:00
Patrick Goldinger
58d0954fe4 Add base skeleton for implementing new Settings UI 2021-09-08 19:29:40 +02:00
Patrick Goldinger
17d28c9d9d Clean up and sort Gradle dependencies 2021-09-08 18:48:28 +02:00
Patrick Goldinger
46fb33b2a0 Rename package settings to oldsettings 2021-09-08 18:25:32 +02:00
Patrick Goldinger
e36aa80cc0 Add JetPref library import into gradle dependencies 2021-09-07 23:59:03 +02:00
Patrick Goldinger
3ce323596c Update Gradle version to 7.0.2 2021-09-07 23:58:41 +02:00
Hèctor Godoy
abe67c2a6f Add ñ as popup on catalan layout (#1236) 2021-09-07 23:50:02 +02:00
Aman9das
5c1768a924 Add additonal Western layout with more symbols (#1214)
* Add files via upload

* Contributing guidelines hyperlink

* Rename western.json to western-numrow.json

* western keyboard-unchanged

* Update and rename western-numrow.json to western-additional-symbols.json

Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
2021-09-02 19:33:44 +02:00
Patrick Goldinger
92086954de Update README.md to make it less cluttered (#1195) 2021-08-28 18:58:00 +02:00
871 changed files with 50086 additions and 42655 deletions

2
.github/FUNDING.yml vendored
View File

@@ -1,2 +1,2 @@
github: [patrickgold]
custom: ["https://paypal.me/devpatrickgold", "https://explorer.bitcoin.com/btc/address/1GKPJuRTZbVM7L8Kd3wtrqzc259Sjmoh9x"]
custom: ["https://paypal.me/devpatrickgold"]

View File

@@ -2,9 +2,18 @@ name: FlorisBoard CI
on:
push:
branches: [master]
branches: [ master ]
paths-ignore:
- ".github/ISSUE_TEMPLATE/**"
- ".github/FUNDING.yml"
- ".editorconfig"
- "fastlane/**"
- "CONTRIBUTING.md"
- "LICENSE"
- "README.md"
- "ROADMAP.md"
pull_request:
branches: [master]
branches: [ master ]
jobs:
build:
@@ -29,7 +38,9 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-
- name: Build with Gradle
run: ./gradlew clean assembleDebug
# MUST call gradlew separately because of an OSS license plugin issue.
# See https://github.com/google/play-services-plugins/issues/199
run: ./gradlew clean && ./gradlew assembleDebug
- uses: actions/upload-artifact@v2
with:
name: app-debug.apk

27
.github/workflows/crowdin-upload.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: Crowdin Upload Sources
on:
push:
branches: [ master ]
paths:
- "app/src/main/res/values/strings.xml"
- ".github/workflows/crowdin-upload.yml"
jobs:
upload-to-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Upload
uses: crowdin/github-action@1.4.0
with:
config: "crowdin.yml"
upload_sources: true
upload_translations: false
download_translations: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FSEC_CROWDIN_PROJECT_ID: ${{ secrets.FSEC_CROWDIN_PROJECT_ID }}
FSEC_CROWDIN_PERSONAL_TOKEN: ${{ secrets.FSEC_CROWDIN_PERSONAL_TOKEN }}

147
README.md
View File

@@ -7,121 +7,70 @@ src="fastlane/metadata/android/en-US/images/icon.png" alt="App icon">
devices. It aims at being modern, user-friendly and customizable while
fully respecting your privacy. Currently in early-beta state.
### Stable [![Latest stable release](https://img.shields.io/github/v/release/florisboard/florisboard)](https://github.com/florisboard/florisboard/releases/latest)
<table>
<tr>
<th align="center" width="50%">
<h3>Stable <a href="https://github.com/florisboard/florisboard/releases/latest"><img alt="Latest stable release" src="https://img.shields.io/github/v/release/florisboard/florisboard"></a></h3>
</th>
<th align="center" width="50%">
<h3>Beta <a href="https://github.com/florisboard/florisboard/releases"><img alt="Latest beta release" src="https://img.shields.io/github/v/release/florisboard/florisboard?include_prereleases"></a></h3>
</th>
</tr>
<tr>
<td valign="top">
<p><i>Major versions only, 1 release per 1-5 months</i><br><br>Updates are more polished, new features are matured and tested through to ensure a stable experience.</p>
</td>
<td valign="top">
<p><i>Beta versions, up to 1-2 releases per week</i><br><br>Updates contain new features that may not be fully matured yet and bugs are more likely to occur. Allows you to give early feedback.</p>
</td>
</tr>
<tr>
<td valign="top">
<p><a href="https://f-droid.org/packages/dev.patrickgold.florisboard"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="64" alt="F-Droid badge"></a></p>
<p>
Releases on this track are in general stable and ready for everyday use, except for features marked as experimental. Use one of the following options to receive FlorisBoard's stable releases:
**Google Play**: Join the [FlorisBoard Test Group](https://groups.google.com/g/florisboard-public-alpha-test), then visit the [testing page](https://play.google.com/apps/testing/dev.patrickgold.florisboard). Once joined and installed, updates will be delivered like for any other app. ([Store entry](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard))
_A. Get it on F-Droid_:
</p>
<p>
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="64" alt="F-Droid badge">](https://f-droid.org/packages/dev.patrickgold.florisboard)
**Manual**: Download and install the APK from the release page.
_B. Google Play Public Alpha Test_:
</p>
</td>
<td valign="top">
<p><a href="https://apt.izzysoft.de/fdroid/index/apk/dev.patrickgold.florisboard.beta"><img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" height="64" alt="IzzySoft repo badge"></a></p>
<p>
You can join the public alpha test programme on Google Play. To become a
tester, follow these steps:
1. Join the
[FlorisBoard Public Alpha Test](https://groups.google.com/g/florisboard-public-alpha-test)
Google Group to be able to access the testing programme.
2. Go to the
[FlorisBoard Testing Page](https://play.google.com/apps/testing/dev.patrickgold.florisboard),
then click "Become a tester". Now you are enrolled in the testing
programme.
3. To try out FlorisBoard, download it via Google Play. To do so, click
on "Download it on Google Play", which takes you to the [PlayStore
listing](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard).
4. Finished! You will receive future versions of FlorisBoard via Google
Play.
**Google Play**: Join the [FlorisBoard Test Group](https://groups.google.com/g/florisboard-public-alpha-test), then visit the [beta testing page](https://play.google.com/apps/testing/dev.patrickgold.florisboard.beta). Once joined and installed, updates will be delivered like for any other app. ([Store entry](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard.beta))
With the v0.4.0 release FlorisBoard will enter the public beta in GPlay, allowing to directly search
for and download FlorisBoard without prior joining the alpha group.
</p>
<p>
_C. Use the APK provided in the release section of this repo_
**Manual**: Download and install the APK from the release page.
### Beta [![Latest beta release](https://img.shields.io/github/v/release/florisboard/florisboard?include_prereleases)](https://github.com/florisboard/florisboard/releases)
</p>
</td>
</tr>
</table>
Releases on this track are also in general stable and should be ready for everyday use, though crashes and bugs are more likely to occur. Use releases from this track if you want to get new features faster and give feedback for brand-new stuff. Options to get beta releases:
Beginning with v0.4.0 FlorisBoard will follow [SemVer](https://semver.org/#summary) versioning scheme and enter the public beta on Google Play.
_A. IzzySoft's repo for F-Droid_:
## Highlighted features
- Spell checking service
- Word suggestions (currently English only and may not work on all devices)
- Glide typing (currently English only)
- Advanced theming support and customization
- Integrated clipboard manager / history
- Emoji keyboard (although lacking some features)
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" height="64" alt="IzzySoft repo badge">](https://apt.izzysoft.de/fdroid/index/apk/dev.patrickgold.florisboard.beta)
_B. Google Play_:
Follow the same steps as for the stable track, the app can then be accessed [here](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard.beta).
_C. Use the APK provided in the release section of this repo_
### Giving feedback
If you want to give feedback to FlorisBoard, there are several ways to
do so, as listed [here](CONTRIBUTING.md#giving-general-feedback).
---
<img align="right" height="256"
src="https://patrickgold.dev/media/previews/florisboard-preview-day.png"
alt="Preview image">
## Implemented features
This list contains all implemented and fully functional features
FlorisBoard currently has to offer. For planned features and its
milestones, please refer to the [Feature roadmap](ROADMAP.md).
### Basics
* [x] Implementation of the keyboard core (InputMethodService)
* [x] Custom implementation of deprecated KeyboardView (base only)
* [x] Caps + Caps Lock
* [x] Key popups
* [x] Extended key popups (e.g. a -> á, à, ä, ...)
* [x] Audio/haptic feedback for keyboard touch interaction
* [x] Portrait orientation support
* [x] Landscape orientation support (needs tweaks)
### Layouts
* [x] Latin character layouts (QWERTY, QWERTZ, AZERTY, Swiss, Spanish, Norwegian, Swedish/Finnish, Icelandic, Danish,
Hungarian, Croatian, Polish, Romanian, Colemak, Dvorak, Turkish-Q, Turkish-F, and more...)
* [x] Non-latin character layouts (Arabic, Persian, Kurdish, Greek, Russian (JCUKEN), Japanese JIS, and more...)
* [x] Adapt to situation in app (password, url, text, etc. )
* [x] Special character layout(s)
* [x] Numeric layout
* [x] Numeric layout (advanced)
* [x] Phone number layout
* [x] Emoji layout
* [x] Emoticon layout
### Preferences
* [x] Setup wizard
* [x] Preferences screen
* [x] Customize look and behaviour of keyboard
* [x] Theme presets (currently only day/night theme + borderless)
* [x] Theme customization
* [x] Subtype selection (language/layout)
* [x] Keyboard behaviour preferences
* [x] Gesture preferences
* [x] User dictionary manager (system and internal)
### Other useful features
* [x] Support for Android 11+ inline autofill API
* [x] One-handed mode
* [x] Clipboard/cursor tools
* [x] Clipboard manager/history
* [x] Integrated number row / symbols in character layouts
* [x] Gesture support
* [x] System-wide spell checker with spell results from FlorisBoard
* [x] Full support for the system user dictionary (shared dictionary
between all keyboards) and a private, internal user dictionary
* [x] Full integration in IME service list of Android (xml/method)
(integration is internal-only, because Android's default subtype
implementation not really allows for dynamic language/layout
pairs, only compile-time defined ones)
* [x] Description and settings reference in System Language & Input
* [ ] (dev only) Generate well-structured documentation of code
* [ ] ...
Feature roadmap: See [ROADMAP.md](ROADMAP.md)
## Contributing
Wanna contribute to FlorisBoard? That's great to hear! There are lots of
different ways to help out. Bug reporting, making pull requests,
translating FlorisBoard to make it more accessible, etc. For more
information see the ![contributing guidelines](CONTRIBUTING.md). Thank
information see the [contributing guidelines](CONTRIBUTING.md). Thank
you for your help!
## List of permissions FlorisBoard requests

View File

@@ -10,20 +10,13 @@ If you are interested in following the development more closely, make sure to
follow along the beta track releases! These are generally more unstable but
you get new stuff faster and can provide early feedback, which helps a lot!
## 0.3.x and 0.4.0
## 0.3.x
Releases in this section still follow the old versioning scheme, meaning the
patch number is a feature upgrade. As this naming convention is more confusing
than useful, after the v0.4.0 release a new release/development cycle will be
than useful, beginning with v0.4.0 development a new release/development cycle will be
introduced.
### 0.3.13 (currently in development and soon done)
- Spell checking (mainly completed and relatively well working, Smartbar integration still missing)
- Performance improvements in keyboard rendering
- Audio/haptic feedback rework
- Lots and lots of bug fixing in all areas, really fix some annoying bugs
- New layouts added by contributors
### 0.3.14
### 0.3.14 (currently in progress, much is already implemented and working well)
- Re-write of the Preference core
- Reduce redundancy in key/default value definitions
- Avoid having to manually add redundant code for adding a new pref
@@ -39,38 +32,38 @@ introduced.
- Implement base-UI for extensions and further continue development
of existing Flex (FlorisBoard extension) format
- Allows for a continuous experience of customizing FlorisBoard in different areas
- Planned in the future (not in this version though) what will use Flex:
- Planned what will use Flex:
- Themes
- Layouts (Characters, symbols, numeric, ...)
- Composers for non-Latin script languages
- Word suggestion dictionaries
- Word suggestion dictionaries (in 0.4.0)
- Spell check dictionaries
- User dictionaries
- Other features that require only data and no logic
- User dictionaries (not in 0.3.14)
- Other features that require only data and no logic (not in 0.3.14)
- Maybe full backup of preferences? Not 100% confirmed though and may be pushed back
- Theme rework part I:
- Custom key corner radius
- Custom key border color (not shadow!!)
- Re-work theme internals so they use Flex extension format and FlexCSS
- Improvement of the Smartbar
- Allow to have multiple Smartbars
- Better candidate view (in prep for 0.4.0)
### 0.3.15
- Hotfix release for possible bugs in the preference rework, may be skipped and 0.4.0 is directly released.
## 0.4.0
- Re-adding word suggestions (at least for Latin-based languages at first)
- Importing the dictionaries as well as management relies on the Flex extension core and UI in Kotlin
- Actually parsing and generating suggestions happens in C++ to avoid another OOM catastrophe like in 0.3.9/10
- The actual format of the dictionary and word list source is not decided yet
- Improvement of the candidate view in Smartbar (for word suggestions)
- Theme rework part I:
- Custom key corner radius
- Custom key border color (not shadow!!)
- Re-work theme internals so they use Flex format
- Community repository on GitHub for theme sharing across users (when Theme Flex format is ready)
### 0.4.0
- Prepare FlorisBoard repository and app store presence for public beta release
on Google Play
- Rework branding images and texts of FlorisBoard for the app stores
- Focus on polishing the app and fixing bugs/crashes
- Community repository on GitHub for theme sharing across users (may be 0.5.0)
With this release the versioning scheme changes: the second number now indicates new features,
changes in the third "patch" number now indicates bug fixes for the stable track. The development
cycle for each 0.x release will have -betaXX and -rcXX (release candidate) releases on the beta
track for interested people to follow along the development.
cycle for each 0.x release will have `-alphaXX`, `-betaXX` and `-rcXX` (release candidate) releases on the beta
track for interested people to follow along the development. The first release to follow the new scheme will be `0.4.0-alpha01`
on the beta track.
## 0.5.0
- Complete rework of the Emoji panel
@@ -78,17 +71,19 @@ track for interested people to follow along the development.
- Emoji search
- Emoji suggestions when using :emoji_name: syntax
- Kaomoji panel implementation (the third tab which currently has "not yet implemented")
- Full Smartbar customization
- Includes internal rework how Smartbar is build and assembled
- Allow for more than one Smartbar / Stackable and Collapsible Smartbars
- Customizable quick actions, clipboard row
- Smartbar customization improvements
- Quick actions customization (order and which buttons to show)
- Prepare FlorisBoard repository and app store presence for public beta release
on Google Play (will go live with stable 0.5.0!!)
- Rework branding images and texts of FlorisBoard for the app stores
- Focus on stability and experience improvements of the app and keyboard
## 0.6.0
- Full on-board layout editor which allows users to create their own layouts
without writing a JSON file
- Import/Export of custom layout files packed in Flex extensions
## Backlog / Features that MAY be added
## Backlog / Features that MAY be added, even in versions not mentioned above if the feature implementation fits perfectly with another feature
- Theme rework part II
- Adaptive themes v2
- Voice-to-text with Mozilla's open-source voice service

View File

@@ -1,13 +1,15 @@
plugins {
id("com.android.application") version "7.0.1"
kotlin("android") version "1.5.20"
kotlin("kapt") version "1.5.20"
kotlin("plugin.serialization") version "1.5.20"
id("com.android.application")
kotlin("android")
kotlin("kapt")
kotlin("plugin.serialization")
id("com.google.android.gms.oss-licenses-plugin")
id("de.mannodermaus.android-junit5")
}
android {
compileSdk = 30
buildToolsVersion = "30.0.3"
compileSdk = 31
buildToolsVersion = "31.0.0"
ndkVersion = "22.1.7171670"
compileOptions {
@@ -17,15 +19,20 @@ android {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
freeCompilerArgs = listOf("-Xallow-result-return-type", "-Xopt-in=kotlin.RequiresOptIn", "-Xopt-in=kotlin.contracts.ExperimentalContracts")
freeCompilerArgs = listOf(
"-Xallow-result-return-type",
"-Xopt-in=kotlin.RequiresOptIn",
"-Xopt-in=kotlin.contracts.ExperimentalContracts",
"-Xjvm-default=compatibility",
)
}
defaultConfig {
applicationId = "dev.patrickgold.florisboard"
minSdk = 23
targetSdk = 30
versionCode = 56
versionName = "0.3.13"
targetSdk = 31
versionCode = 66
versionName = "0.3.14"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
@@ -48,7 +55,6 @@ android {
}
ndk {
//abiFilters += listOf("x86", "x86_64", "armeabi-v7a", "arm64-v8a")
abiFilters += listOf("armeabi-v7a", "arm64-v8a")
}
@@ -65,7 +71,11 @@ android {
}
buildFeatures {
viewBinding = true
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.1.0-rc03"
}
externalNativeBuild {
@@ -82,19 +92,26 @@ android {
isDebuggable = true
isJniDebuggable = true
ndk {
// For running FlorisBoard on the emulator
abiFilters += listOf("x86", "x86_64")
}
resValue("mipmap", "floris_app_icon", "@mipmap/ic_app_icon_debug")
resValue("mipmap", "floris_app_icon_round", "@mipmap/ic_app_icon_debug_round")
resValue("drawable", "floris_app_icon_foreground", "@drawable/ic_app_icon_debug_foreground")
resValue("string", "floris_app_name", "FlorisBoard Debug")
}
create("beta") // Needed because by default the "beta" BuildType does not exist
named("beta").configure {
applicationIdSuffix = ".beta"
versionNameSuffix = "-beta12"
versionNameSuffix = "-beta10"
proguardFiles.add(getDefaultProguardFile("proguard-android-optimize.txt"))
resValue("mipmap", "floris_app_icon", "@mipmap/ic_app_icon_beta")
resValue("mipmap", "floris_app_icon_round", "@mipmap/ic_app_icon_beta_round")
resValue("drawable", "floris_app_icon_foreground", "@drawable/ic_app_icon_beta_foreground")
resValue("string", "floris_app_name", "FlorisBoard Beta")
}
@@ -103,6 +120,7 @@ android {
resValue("mipmap", "floris_app_icon", "@mipmap/ic_app_icon_release")
resValue("mipmap", "floris_app_icon_round", "@mipmap/ic_app_icon_release_round")
resValue("drawable", "floris_app_icon_foreground", "@drawable/ic_app_icon_release_foreground")
resValue("string", "floris_app_name", "@string/app_name")
}
}
@@ -111,36 +129,43 @@ android {
unitTests {
isIncludeAndroidResources = true
}
}
lint {
isAbortOnError = false
unitTests.all {
it.useJUnitPlatform()
}
}
}
dependencies {
implementation("androidx.activity", "activity-ktx", "1.2.1")
implementation("androidx.appcompat", "appcompat", "1.2.0")
implementation("androidx.autofill", "autofill", "1.1.0")
implementation("androidx.core", "core-ktx", "1.3.2")
implementation("androidx.fragment", "fragment-ktx", "1.3.0")
implementation("androidx.preference", "preference-ktx", "1.1.1")
implementation("androidx.constraintlayout", "constraintlayout", "2.0.4")
implementation("androidx.lifecycle", "lifecycle-service", "2.2.0")
implementation("com.google.android.flexbox", "flexbox", "3.0.0")
implementation("com.google.android.material", "material", "1.3.0")
implementation("org.jetbrains.kotlinx", "kotlinx-coroutines-android", "1.4.2")
implementation("org.jetbrains.kotlinx", "kotlinx-serialization-json", "1.1.0")
implementation("com.jaredrummler", "colorpicker", "1.1.0")
implementation("com.jakewharton.timber", "timber", "4.7.1")
implementation("com.nambimobile.widgets", "expandable-fab", "1.0.2")
implementation("androidx.room", "room-runtime", "2.2.6")
kapt("androidx.room", "room-compiler","2.2.6")
tasks.withType<Test> {
useJUnitPlatform()
}
testImplementation(kotlin("test"))
testImplementation("androidx.test", "core", "1.3.0")
testImplementation("org.mockito", "mockito-inline", "3.7.7")
testImplementation("org.robolectric", "robolectric", "4.5.1")
dependencies {
implementation("androidx.activity:activity-compose:1.4.0")
implementation("androidx.activity:activity-ktx:1.4.0")
implementation("androidx.autofill:autofill:1.1.0")
implementation("androidx.collection:collection-ktx:1.2.0")
implementation("androidx.compose.material:material:1.1.0-rc03")
implementation("androidx.compose.runtime:runtime-livedata:1.1.0-rc03")
implementation("androidx.compose.ui:ui:1.1.0-rc03")
implementation("androidx.compose.ui:ui-tooling-preview:1.1.0-rc03")
implementation("androidx.core:core-ktx:1.7.0")
implementation("androidx.core:core-splashscreen:1.0.0-beta01")
implementation("androidx.navigation:navigation-compose:2.4.0")
implementation("com.google.accompanist:accompanist-flowlayout:0.20.2")
implementation("com.google.accompanist:accompanist-systemuicontroller:0.20.2")
implementation("dev.patrickgold.jetpref:jetpref-datastore-model:0.1.0-beta06")
implementation("dev.patrickgold.jetpref:jetpref-datastore-ui:0.1.0-beta06")
implementation("dev.patrickgold.jetpref:jetpref-material-ui:0.1.0-beta06")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2")
implementation("androidx.room:room-runtime:2.4.1")
kapt("androidx.room:room-compiler:2.4.1")
testImplementation("io.kotest:kotest-runner-junit5:5.1.0")
testImplementation("io.kotest:kotest-assertions-core:5.1.0")
testImplementation("io.kotest:kotest-property:5.1.0")
testImplementation("io.kotest.extensions:kotest-extensions-robolectric:0.5.0")
testImplementation("nl.jqno.equalsverifier:equalsverifier:3.8.3")
androidTestImplementation("androidx.test.ext", "junit", "1.1.2")
androidTestImplementation("androidx.test.espresso", "espresso-core", "3.3.0")

View File

@@ -15,19 +15,36 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="dev.patrickgold.florisboard">
<!-- Permission needed to vibrate if the user has key press vibration enabled -->
<uses-permission android:name="android.permission.VIBRATE"/>
<!-- Android 11+ only: Define that FlorisBoard requests to see all apps that
ship with an IME or Spell Check service. This is used to guide the user
in the Settings Ui why FlorisBoard may not be working.
-->
<queries>
<intent>
<action android:name="android.view.InputMethod"/>
</intent>
<intent>
<action android:name="android.service.textservice.SpellCheckerService"/>
</intent>
</queries>
<application
android:name="dev.patrickgold.florisboard.FlorisApplication"
android:allowBackup="false"
android:allowBackup="true"
android:dataExtractionRules="@xml/backup_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/floris_app_icon"
android:label="@string/floris_app_name"
android:roundIcon="@mipmap/floris_app_icon_round"
android:supportsRtl="true"
android:theme="@style/SettingsTheme">
android:theme="@style/FlorisAppTheme"
tools:targetApi="s">
<!-- IME service -->
<service
@@ -35,7 +52,8 @@
android:label="@string/floris_app_name"
android:permission="android.permission.BIND_INPUT_METHOD"
android:directBootAware="true"
android:exported="true">
android:exported="true"
tools:targetApi="n">
<intent-filter>
<action android:name="android.view.InputMethod"/>
</intent-filter>
@@ -54,14 +72,20 @@
<meta-data android:name="android.view.textservice.scs" android:resource="@xml/spellchecker"/>
</service>
<!-- Settings Activity -->
<!-- Main App Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.SettingsMainActivity"
android:name="dev.patrickgold.florisboard.app.FlorisAppActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__title"
android:launchMode="singleTask"
android:roundIcon="@mipmap/floris_app_icon_round"
android:theme="@style/SettingsTheme"/>
android:windowSoftInputMode="adjustResize"
android:theme="@style/FlorisAppTheme"
android:exported="false">
<intent-filter>
<data android:scheme="florisboard" android:host="app-ui"/>
</intent-filter>
</activity>
<!-- Using an activity alias to disable/enable the app icon in the launcher -->
<activity-alias
@@ -70,7 +94,8 @@
android:label="@string/floris_app_name"
android:launchMode="singleTask"
android:roundIcon="@mipmap/floris_app_icon_round"
android:targetActivity="dev.patrickgold.florisboard.setup.SetupActivity"
android:targetActivity="dev.patrickgold.florisboard.app.FlorisAppActivity"
android:theme="@style/FlorisAppTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@@ -78,58 +103,23 @@
</intent-filter>
</activity-alias>
<!-- User Dictionary Manager Activity -->
<!-- Import File Bridging Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.UdmActivity"
android:name="dev.patrickgold.florisboard.app.ui.ext.ImportFileActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__title"
android:theme="@style/SettingsTheme"/>
<!-- Theme Selector Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.ThemeManagerActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__title"
android:theme="@style/SettingsTheme"/>
<!-- Theme Editor Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.ThemeEditorActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__theme_editor__title"
android:theme="@style/SettingsTheme"/>
<!-- Spelling Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.spelling.SpellingActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__spelling__title_overview"
android:launchMode="singleTask"
android:roundIcon="@mipmap/floris_app_icon_round"
android:theme="@style/SettingsTheme"/>
<!-- About Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.AboutActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/about__title"
android:roundIcon="@mipmap/floris_app_icon_round"
android:theme="@style/SettingsTheme"/>
<!-- Advanced Activity -->
<activity
android:name="dev.patrickgold.florisboard.settings.AdvancedActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/settings__advanced__title"
android:roundIcon="@mipmap/floris_app_icon_round"
android:theme="@style/SettingsTheme"/>
<!-- Setup Activity -->
<activity
android:name="dev.patrickgold.florisboard.setup.SetupActivity"
android:icon="@mipmap/floris_app_icon"
android:label="@string/setup__title"
android:roundIcon="@mipmap/floris_app_icon_round"
android:theme="@style/SettingsTheme"/>
android:windowSoftInputMode="adjustResize"
android:theme="@style/FlorisAppTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="*" android:host="*" android:pathPattern=".*\\.flex"/>
<data android:scheme="*" android:host="*" android:pathPattern=".*\\.xpi"/>
</intent-filter>
</activity>
<!-- Crash Dialog Activity -->
<activity
@@ -139,12 +129,23 @@
android:theme="@style/CrashDialogTheme"/>
<provider
android:name="dev.patrickgold.florisboard.ime.clip.provider.FlorisContentProvider"
android:name="dev.patrickgold.florisboard.ime.clipboard.provider.FlorisContentProvider"
android:authorities="${applicationId}.provider.clip"
android:grantUriPermissions="true"
android:exported="false">
</provider>
<!-- Default file provider to share files from the "files" or "cache" dir -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider.file"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
</application>
</manifest>

View File

@@ -3,707 +3,55 @@
"composers": [
{ "$": "appender" },
{ "$": "hangul-unicode" },
{ "$": "kana-unicode" }
],
"currencySets": [
{
"name": "azerbaijani_manat",
"label": "Azerbaijani manat (₼)",
"slots": [
{ "code": 8380, "label": "" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "bitcoin",
"label": "Bitcoin (₿)",
"slots": [
{ "code": 8383, "label": "₿" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "dollar",
"label": "Dollar ($)",
"slots": [
{ "code": 36, "label": "$" },
{ "code": 162, "label": "¢" },
{ "code": 8364, "label": "" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"name": "euro",
"label": "Euro (€)",
"slots": [
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 36, "label": "$" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"name": "indian_rupee",
"label": "Indian rupee (₹)",
"slots": [
{ "code": 8377, "label": "₹" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "iranian_rial",
"label": "Iranian rial (﷼)",
"slots": [
{ "code":65020, "label": "﷼" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "israeli_new_shekel",
"label": "Israeli new shekel (₪)",
"slots": [
{ "code": 8362, "label": "₪" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "kazakhstani_tenge",
"label": "Kazakhstani tenge (₸)",
"slots": [
{ "code": 8380, "label": "₸" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "lao_kip",
"label": "Lao kip (₭)",
"slots": [
{ "code": 8365, "label": "₭" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "mongolian_togrog",
"label": "Mongolian tögrög (₮)",
"slots": [
{ "code": 8366, "label": "₮" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "nigerian_naira",
"label": "Nigerian naira (₦)",
"slots": [
{ "code": 8358, "label": "₦" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "pakistani_rupee",
"label": "Pakistani rupee (₨)",
"slots": [
{ "code": 8360, "label": "₨" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "paraguayan_guarani",
"label": "Paraguayan guaraní (₲)",
"slots": [
{ "code": 8370, "label": "₲" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "peso",
"label": "Peso (₱)",
"slots": [
{ "code": 8369, "label": "₱" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "pound",
"label": "Pound (£)",
"slots": [
{ "code": 163, "label": "£" },
{ "code": 162, "label": "¢" },
{ "code": 8364, "label": "€" },
{ "code": 36, "label": "$" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"name": "russian_ruble",
"label": "Russian ruble (₽)",
"slots": [
{ "code": 8381, "label": "₽" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "south_korean_won",
"label": "South Korean won (₩)",
"slots": [
{ "code": 8361, "label": "₩" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "turkish_lira",
"label": "Turkish lira (₺)",
"slots": [
{ "code": 8378, "label": "₺" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "ukrainian_hryvnia",
"label": "Ukrainian hryvnia (₴)",
"slots": [
{ "code": 8372, "label": "₴" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"name": "yen",
"label": "Yen (¥)",
"slots": [
{ "code": 165, "label": "¥" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 8369, "label": "₱" }
]
{ "$": "kana-unicode" },
{ "$": "with-rules",
"name": "basic-telex",
"label": "Basic Telex",
"rules": {
"aw": "ă", "aa": "â", "dd": "đ", "ee": "ê", "oo": "ô", "ow": "ơ", "uw": "ư", "w": ",
"uow": "ươ",
"af": "à", "ar": "ả", "ax": "ã", "as": "á", "aj": "ạ",
"ăf": "ằ", "ăr": "ẳ", "ăx": "ẵ", "ăs": "", "ăj": "ặ",
"âf": "ầ", "âr": "ẩ", "âx": "ẫ", "âs": "ấ", "âj": "ậ",
"ef": "è", "er": "ẻ", "ex": "ẽ", "es": "é", "ej": "ẹ",
"êf": "ề", "êr": "ể", "êx": "ễ", "ês": "ế", "êj": "ệ",
"if": "ì", "ir": "ỉ", "ix": "ĩ", "is": "í", "ij": "ị",
"of": "ò", "or": "ỏ", "ox": "õ", "os": "ó", "oj": "ọ",
"ôf": "ồ", "ôr": "ổ", "ôx": "ỗ", "ôs": "ố", "ôj": "ộ",
"ơf": "ờ", "ơr": "ở", "ơx": "ỡ", "ơs": "ớ", "ơj": "ợ",
"uf": "ù", "ur": "ủ", "ux": "ũ", "us": "ú", "uj": "ụ",
"ưf": "ừ", "ưr": "ử", "ưx": "ữ", "ưs": "ứ", "ưj": "ự",
"yf": "ỳ", "yr": "ỷ", "yx": "ỹ", "ys": "ý", "yj": "ỵ",
"ăw": "aw", "âa": "aa", "đd": "dd", e": "ee", "ôo": "oo", "ơw": "ow", "ưw": "w",
"ươw": "uow",
"àf": "af", "ảr": "ar", "ãx": "ax", "ás": "as", "ạj": "aj",
"ằf": "ăf", "ẳr": "ăr", "ẵx": "ăx", "ắs": "ăs", "ặj": "ăj",
"ầf": "âf", "ẩr": "âr", "ẫx": "âx", "ấs": "âs", "ậj": "âj",
"èf": "ef", "ẻr": "er", "ẽx": "ex", "és": "es", "ẹj": "ej",
"ềf": "êf", "ểr": "êr", "ễx": "êx", "ếs": "ês", "ệj": "êj",
"ìf": "if", "ỉr": "ir", "ĩx": "ix", "ís": "is", "ịj": "ij",
"òf": "of", "ỏr": "or", "õx": "ox", "ós": "os", "ọj": "oj",
"ồf": "ôf", "ổr": "ôr", "ỗx": "ôx", "ốs": "ôs", "ộj": "ôj",
"ờf": "ơf", "ởr": "ơr", "ỡx": "ơx", "ớs": "ơs", "ợj": "ơj",
"ùf": "uf", "ủr": "ur", "ũx": "ux", "ús": "us", "ụj": "uj",
"ừf": "ưf", "ửr": "ưr", "ữx": "ưx", "ứs": "ưs", "ựj": "ưj",
"ỳf": "yf", "ỷr": "yr", "ỹx": "yx", "ýs": "ys", "ỵj": "yj",
"àz": "a", "ảz": "a", "ãz": "a", "áz": "a", "ạz": "a",
"ằz": "ă", "ẳz": "ă", "ẵz": "ă", "ắz": "ă", "ặz": "ă",
"ầz": "â", "ẩz": "â", "ẫz": "â", "ấz": "â", "ậz": "â",
"èz": "e", "ẻz": "e", "ẽz": "e", "éz": "e", "ẹz": "e",
"ềz": "ê", "ểz": "ê", "ễz": "ê", "ếz": "ê", "ệz": "ê",
"ìz": "i", "ỉz": "i", "ĩz": "i", "íz": "i", "ịz": "i",
"òz": "o", "ỏz": "o", "õz": "o", "óz": "o", "ọz": "o",
"ồz": "ô", "ổz": "ô", "ỗz": "ô", "ốz": "ô", "ộz": ",
"ờz": "ơ", "ởz": "ơ", "ỡz": "ơ", "ớz": "ơ", "ợz": ",
"ùz": "u", "ủz": "u", "ũz": "u", "úz": "u", "ụz": "u",
"ừz": "ư", "ửz": "ư", "ữz": "ư", "ứz": "ư", "ựz": "ư",
"ỳz": "y", "ỷz": "y", "ỹz": "y", "ýz": "y", "ỵz": "y"
}
}
],
"currencySets": [],
"defaultSubtypes": [
{
"id": 101,
"languageTag": "en-US",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 102,
"languageTag": "en-UK",
"composer": "appender",
"currencySet": "pound",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 103,
"languageTag": "en-CA",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 104,
"languageTag": "en-AU",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 201,
"languageTag": "de-DE",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwertz"
}
},
{
"id": 202,
"languageTag": "de-AT",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwertz"
}
},
{
"id": 203,
"languageTag": "de-CH",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "swiss_german"
}
},
{
"id": 204,
"languageTag": "de-DE-neobone",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "neo2",
"symbols": "neo2",
"numericRow": "neo2"
}
},
{
"id": 301,
"languageTag": "fr-FR",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "azerty"
}
},
{
"id": 302,
"languageTag": "fr-CA",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "canadian_french"
}
},
{
"id": 303,
"languageTag": "fr-CH",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "swiss_french"
}
},
{
"id": 401,
"languageTag": "it-IT",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 402,
"languageTag": "it-CH",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "swiss_italian"
}
},
{
"id": 501,
"languageTag": "es-ES",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "spanish"
}
},
{
"id": 502,
"languageTag": "es-US",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "spanish"
}
},
{
"id": 503,
"languageTag": "es-419",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "spanish"
}
},
{
"id": 601,
"languageTag": "pt-PT",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 602,
"languageTag": "pt-BR",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 701,
"languageTag": "nb-NO",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "norwegian"
}
},
{
"id": 702,
"languageTag": "nn-NO",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "norwegian"
}
},
{
"id": 711,
"languageTag": "sv-SE",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "swedish_finnish"
}
},
{
"id": 721,
"languageTag": "fi-FI",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "swedish_finnish"
}
},
{
"id": 731,
"languageTag": "da-DK",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "danish"
}
},
{
"id": 741,
"languageTag": "is-IS",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "icelandic"
}
},
{
"id": 751,
"languageTag": "fo",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "faroese"
}
},
{
"id": 801,
"languageTag": "fa-FA",
"composer": "appender",
"currencySet": "iranian_rial",
"preferred": {
"characters": "persian",
"symbols": "persian",
"symbols2": "persian",
"numericRow": "persian"
}
},
{
"id": 901,
"languageTag": "ar",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "arabic",
"symbols": "eastern",
"symbols2": "eastern",
"numericRow": "eastern_arabic"
}
},
{
"id": 1001,
"languageTag": "hu",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "hungarian"
}
},
{
"id": 1101,
"languageTag": "eo",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "esperanto"
}
},
{
"id": 1201,
"languageTag": "hr",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwertz"
}
},
{
"id": 1301,
"languageTag": "ru",
"composer": "appender",
"currencySet": "russian_ruble",
"preferred": {
"characters": "jcuken_russian"
}
},
{
"id": 1351,
"languageTag": "uk",
"composer": "appender",
"currencySet": "ukrainian_hryvnia",
"preferred": {
"characters": "jcuken_ukrainian"
}
},
{
"id": 1401,
"languageTag": "el",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "greek"
}
},
{
"id": 1501,
"languageTag": "ro",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 1601,
"languageTag": "pl",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 1701,
"languageTag": "bg-bg",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "bulgarian_phonetic"
}
},
{
"id": 1801,
"languageTag": "tr",
"composer": "appender",
"currencySet": "turkish_lira",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 1901,
"languageTag": "iw-IL",
"composer": "appender",
"currencySet": "israeli_new_shekel",
"preferred": {
"characters": "hebrew"
}
},
{
"id": 2001,
"languageTag": "ckb",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "kurdish",
"symbols": "eastern",
"symbols2": "eastern",
"numericRow": "eastern_arabic"
}
},
{
"id": 2101,
"languageTag": "sr-RS",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "serbian_cyrillic"
}
},
{
"id": 2201,
"languageTag": "lv-LV",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 2301,
"languageTag": "ku",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "kurdish_kurmanci"
}
},
{
"id": 2501,
"languageTag": "ca",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "catalan"
}
},
{
"id": 2601,
"languageTag": "IPA-IPA",
"composer": "appender",
"currencySet": "dollar",
"preferred": {
"characters": "ipa",
"symbols": "ipa",
"symbols2": "ipa"
}
},
{
"id": 2701,
"languageTag": "sk",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwertz"
}
},
{
"id": 2801,
"languageTag": "cs",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwertz"
}
},
{
"id": 2900,
"languageTag": "ko",
"composer": "hangul-unicode",
"currencySet": "south_korean_won",
"preferred": {
"characters": "korean"
}
},
{
"id": 3000,
"languageTag": "lt-LT",
"composer": "appender",
"currencySet": "euro",
"preferred": {
"characters": "qwerty"
}
},
{
"id": 3100,
"languageTag": "ja-JP-jis",
"composer": "kana-unicode",
"currencySet": "yen",
"preferred": {
"characters": "jis",
"symbols": "cjk",
"symbols2": "cjk",
"numericRow": "cjk"
}
}
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,277 @@
{
"$": "ime.extension.keyboard",
"meta": {
"id": "org.florisboard.currencysets",
"version": "0.1.0",
"title": "Default currency sets",
"description": "Default currency sets which are always available.",
"maintainers": [ "patrickgold <patrick@patrickgold.dev>" ],
"license": "apache-2.0"
},
"currencySets": [
{
"id": "azerbaijani_manat",
"label": "Azerbaijani manat (₼)",
"slots": [
{ "code": 8380, "label": "₼" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "bitcoin",
"label": "Bitcoin (₿)",
"slots": [
{ "code": 8383, "label": "₿" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "dollar",
"label": "Dollar ($)",
"slots": [
{ "code": 36, "label": "$" },
{ "code": 162, "label": "¢" },
{ "code": 8364, "label": "€" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"id": "euro",
"label": "Euro (€)",
"slots": [
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 36, "label": "$" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"id": "indian_rupee",
"label": "Indian rupee (₹)",
"slots": [
{ "code": 8377, "label": "₹" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "israeli_new_shekel",
"label": "Israeli new shekel (₪)",
"slots": [
{ "code": 8362, "label": "₪" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "kazakhstani_tenge",
"label": "Kazakhstani tenge (₸)",
"slots": [
{ "code": 8380, "label": "₸" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "lao_kip",
"label": "Lao kip (₭)",
"slots": [
{ "code": 8365, "label": "₭" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "mongolian_togrog",
"label": "Mongolian tögrög (₮)",
"slots": [
{ "code": 8366, "label": "₮" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "nigerian_naira",
"label": "Nigerian naira (₦)",
"slots": [
{ "code": 8358, "label": "₦" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "pakistani_rupee",
"label": "Pakistani rupee (₨)",
"slots": [
{ "code": 8360, "label": "₨" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "paraguayan_guarani",
"label": "Paraguayan guaraní (₲)",
"slots": [
{ "code": 8370, "label": "₲" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "peso",
"label": "Peso (₱)",
"slots": [
{ "code": 8369, "label": "₱" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "pound",
"label": "Pound (£)",
"slots": [
{ "code": 163, "label": "£" },
{ "code": 162, "label": "¢" },
{ "code": 8364, "label": "€" },
{ "code": 36, "label": "$" },
{ "code": 165, "label": "¥" },
{ "code": 8369, "label": "₱" }
]
},
{
"id": "rial",
"label": "Rial (﷼)",
"slots": [
{ "code":65020, "label": "﷼" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "russian_ruble",
"label": "Russian ruble (₽)",
"slots": [
{ "code": 8381, "label": "₽" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "south_korean_won",
"label": "South Korean won (₩)",
"slots": [
{ "code": 8361, "label": "₩" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "thai_baht",
"label": "Thai baht (฿)",
"slots": [
{ "code": 3647, "label": "฿" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "turkish_lira",
"label": "Turkish lira (₺)",
"slots": [
{ "code": 8378, "label": "₺" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "ukrainian_hryvnia",
"label": "Ukrainian hryvnia (₴)",
"slots": [
{ "code": 8372, "label": "₴" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "vietnamese_dong",
"label": "Vietnamese đồng (₫)",
"slots": [
{ "code": 8363, "label": "₫" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 165, "label": "¥" }
]
},
{
"id": "yen",
"label": "Yen (¥)",
"slots": [
{ "code": 165, "label": "¥" },
{ "code": 36, "label": "$" },
{ "code": 8364, "label": "€" },
{ "code": 162, "label": "¢" },
{ "code": 163, "label": "£" },
{ "code": 8369, "label": "₱" }
]
}
]
}

View File

@@ -0,0 +1,656 @@
{
"$": "ime.extension.keyboard",
"meta": {
"id": "org.florisboard.layouts",
"version": "0.1.0",
"title": "Default layouts",
"description": "Default layouts which are always available.",
"maintainers": [ "patrickgold <patrick@patrickgold.dev>" ],
"license": "apache-2.0"
},
"layouts": {
"characters": [
{
"id": "arabic",
"label": "Arabic",
"authors": [ "HeiWiper" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:arabic"
},
{
"id": "azerty",
"label": "AZERTY",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "bepo",
"label": "BÉPO",
"authors": [ "salamandar" ],
"direction": "ltr"
},
{
"id": "bone",
"label": "Bone",
"authors": [ "ostrya" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:neo2"
},
{
"id": "bulgarian_bds",
"label": "Bulgarian (BDS)",
"authors": [ "iorvethe" ],
"direction": "ltr"
},
{
"id": "bulgarian_phonetic",
"label": "Bulgarian (Phonetic)",
"authors": [ "iorvethe" ],
"direction": "ltr"
},
{
"id": "canadian_french",
"label": "Canadian French (QWERTY)",
"authors": [ "The-Quantum-Alpha" ],
"direction": "ltr"
},
{
"id": "catalan",
"label": "Catalan (QWERTY)",
"authors": [ "mikelloc" ],
"direction": "ltr"
},
{
"id": "catalan_accents",
"label": "Catalan (Accents)",
"authors": [ "mikelloc" ],
"direction": "ltr"
},
{
"id": "colemak",
"label": "Colemak",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "danish",
"label": "Danish (QWERTY)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "dvorak",
"label": "Dvorak",
"authors": [ "patrickgold" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:dvorak"
},
{
"id": "esperanto",
"label": "Esperanto",
"authors": [ "jeremiah-miller", "patrickgold" ],
"direction": "ltr"
},
{
"id": "esperanto_with_hx",
"label": "Esperanto with 'ĥ'",
"authors": [ "jeremiah-miller", "patrickgold" ],
"direction": "ltr"
},
{
"id": "faroese",
"label": "Faroese (QWERTY)",
"authors": [ "BinFlush" ],
"direction": "ltr"
},
{
"id": "german",
"label": "German (QWERTZ)",
"authors": [ "mahmoudk1000" ],
"direction": "ltr"
},
{
"id": "greek",
"label": "Ελληνικά",
"authors": [ "tsiflimagas" ],
"direction": "ltr"
},
{
"id": "halmak",
"label": "Halmak",
"authors": [ "dessalines" ],
"direction": "ltr"
},
{
"id": "hebrew",
"label": "עברית",
"authors": [ "Antony" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:hebrew"
},
{
"id": "hungarian",
"label": "Hungarian",
"authors": [ "zoli111, gabik65", "patrickgold" ],
"direction": "ltr"
},
{
"id": "icelandic",
"label": "Icelandic (QWERTY)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "igbo",
"label": "Igbo",
"authors": [ "nd500" ],
"direction": "ltr"
},
{
"id": "ipa",
"label": "International Phonetic Alphabet",
"authors": [ "Huy-Ngo" ],
"direction": "ltr"
},
{
"id": "jcuken_russian",
"label": "Russian (JCUKEN)",
"authors": [ "williamtheaker" ],
"direction": "ltr"
},
{
"id": "jcuken_ukrainian",
"label": "Ukrainian (JCUKEN)",
"authors": [ "williamtheaker", "33kk" ],
"direction": "ltr"
},
{
"id": "jis",
"label": "JIS",
"authors": [ "waelwindows" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:jis"
},
{
"id": "korean",
"label": "South Korean standard",
"authors": [ "patrickgold", "Hayleia" ],
"direction": "ltr"
},
{
"id": "kurdish",
"label": "کوردی (قوەرتی نوێ)",
"authors": [ "GoRaN" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:kurdish"
},
{
"id": "kurdish_kurmanci",
"label": "Kurdî",
"authors": [ "GoRaN" ],
"direction": "ltr"
},
{
"id": "kurdish_standard",
"label": "کوردی (ق‌ڤ‌ف‌غ)",
"authors": [ "GoRaN" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:kurdish"
},
{
"id": "nalmy",
"label": "NALMY",
"authors": [ "jeremiah-mille", "jasmcole" ],
"direction": "ltr"
},
{
"id": "neo2",
"label": "Neo2",
"authors": [ "ostrya" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:neo2"
},
{
"id": "norwegian",
"label": "Norwegian (QWERTY)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "persian",
"label": "Persian",
"authors": [ "PHELAT" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:persian"
},
{
"id": "qwerty",
"label": "QWERTY",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "qwertz",
"label": "QWERTZ",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "rusyn",
"label": "Rusyn",
"authors": [ "svvvst" ],
"direction": "ltr"
},
{
"id": "rusyn_us",
"label": "Rusyn (Phonetic)",
"authors": [ "svvvst" ],
"direction": "ltr"
},
{
"id": "sangaline",
"label": "Sangaline",
"authors": [ "jeremiah-miller", "sangaline" ],
"direction": "ltr"
},
{
"id": "serbian_cyrillic",
"label": "Serbian (ЉЊЕРТЗ)",
"authors": ["GrbavaCigla"],
"direction": "ltr"
},
{
"id": "serbian_latin",
"label": "Serbian (QWERTZ)",
"authors": ["GrbavaCigla"],
"direction": "ltr"
},
{
"id": "spanish",
"label": "Spanish (QWERTY)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "swedish_finnish",
"label": "Swedish/Finnish (QWERTY)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "swiss_french",
"label": "Swiss French (QWERTZ)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "swiss_german",
"label": "Swiss German (QWERTZ)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "swiss_italian",
"label": "Swiss Italian (QWERTZ)",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "thai_kedmanee",
"label": "Thai Kedmanee",
"authors": [ "mrdeck4rd" ],
"direction": "ltr"
},
{
"id": "thai_manoonchai",
"label": "Thai Manoonchai",
"authors": [ "mrdeck4rd" ],
"direction": "ltr"
},
{
"id": "turkish_f",
"label": "Turkish-F",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "turkish_q",
"label": "Turkish-Q",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "urdu_phonetic",
"label": "Urdu Phonetic",
"authors": [ "mubashir-rehman", "mirfatif" ],
"direction": "rtl",
"modifier": "org.florisboard.layouts:arabic"
},
{
"id": "warang_citi",
"label": "𑢹𑣗𑣁𑣜𑣁𑣊 𑢯𑣂𑣕𑣂",
"authors": [ "Singkiring57" ],
"direction": "ltr"
},
{
"id": "workman",
"label": "Workman",
"authors": [ "icyphox" ],
"direction": "ltr"
}
],
"charactersMod": [
{
"id": "default",
"label": "Default character modifier layout",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "arabic",
"label": "Arabic",
"authors": [ "HeiWiper" ],
"direction": "rtl"
},
{
"id": "dvorak",
"label": "Dvorak",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "hebrew",
"label": "עברית",
"authors": [ "Antony" ],
"direction": "rtl"
},
{
"id": "jis",
"label": "JIS",
"authors": [ "waelwindows" ],
"direction": "ltr"
},
{
"id": "kurdish",
"label": "کوردی",
"authors": [ "GoRaN" ],
"direction": "rtl"
},
{
"id": "neo2",
"label": "Neo2",
"authors": [ "ostrya" ],
"direction": "ltr"
},
{
"id": "persian",
"label": "Persian",
"authors": [ "PHELAT" ],
"direction": "rtl"
}
],
"extension": [
{
"id": "clipboard_cursor_row",
"label": "Clipboard Cursor Row",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"numeric": [
{
"id": "western_arabic",
"label": "Western Arabic",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "western_arabic_pc",
"label": "Western Arabic (PC)",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"numericAdvanced": [
{
"id": "western_arabic",
"label": "Western Arabic",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "western_arabic_pc",
"label": "Western Arabic (PC)",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"numericRow": [
{
"id": "bengali",
"label": "Bengali",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "cjk",
"label": "CJK",
"authors": [ "waelwindows" ],
"direction": "ltr"
},
{
"id": "devanagari",
"label": "Devanagari",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "eastern_arabic",
"label": "Eastern Arabic",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "gujarati",
"label": "Gujarati",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "gurmukhi",
"label": "Gurmukhi",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "kannada",
"label": "Kannada",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "malayalam",
"label": "Malayalam",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "neo2",
"label": "Neo2",
"authors": [ "ostrya" ],
"direction": "ltr"
},
{
"id": "oriya",
"label": "Odia",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "persian",
"label": "Persian",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "tamil",
"label": "Tamil",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "telugu",
"label": "Telugu",
"authors": [ "yashpalgoyal1304" ],
"direction": "ltr"
},
{
"id": "thai",
"label": "Thai",
"authors": [ "mrdeck4rd" ],
"direction": "ltr"
},
{
"id": "warang_citi",
"label": "Warang Citi",
"authors": [ "Singkiring57" ],
"direction": "ltr"
},
{
"id": "western_arabic",
"label": "Western Arabic",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"phone": [
{
"id": "telpad",
"label": "Simple telpad input",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"phone2": [
{
"id": "telpad",
"label": "Simple telpad input (advanced controls)",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"symbols": [
{
"id": "cjk",
"label": "CJK",
"authors": [ "waelwindows" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:cjk"
},
{
"id": "eastern",
"label": "Eastern",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "ipa",
"label": "International Phonetic Alphabet",
"authors": [ "Huy-Ngo" ],
"direction": "ltr"
},
{
"id": "neo2",
"label": "Neo2",
"authors": [ "ostrya" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:neo2"
},
{
"id": "persian",
"label": "Persian",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "western",
"label": "Western",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "western_additional_symbols",
"label": "Western (Additional symbols)",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"symbolsMod": [
{
"id": "default",
"label": "Default",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "cjk",
"label": "CJK",
"authors": [ "waelwindows" ],
"direction": "ltr"
},
{
"id": "neo2",
"label": "Neo2",
"authors": [ "ostrya" ],
"direction": "ltr"
}
],
"symbols2": [
{
"id": "cjk",
"label": "CJK",
"authors": [ "waelwindows" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:cjk"
},
{
"id": "eastern",
"label": "Eastern",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "ipa",
"label": "International Phonetic Alphabet",
"authors": [ "Huy-Ngo" ],
"direction": "ltr"
},
{
"id": "persian",
"label": "Persian",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "western",
"label": "Western",
"authors": [ "patrickgold" ],
"direction": "ltr"
}
],
"symbols2Mod": [
{
"id": "default",
"label": "Default",
"authors": [ "patrickgold" ],
"direction": "ltr"
},
{
"id": "cjk",
"label": "CJK",
"authors": [ "waelwindows" ],
"direction": "ltr"
}
]
}
}

View File

@@ -0,0 +1,40 @@
[
[
{ "code": 1590, "label": "ض" },
{ "code": 1589, "label": "ص" },
{ "code": 1579, "label": "ث" },
{ "code": 1602, "label": "ق" },
{ "code": 1601, "label": "ف" },
{ "code": 1594, "label": "غ" },
{ "code": 1593, "label": "ع" },
{ "code": 1607, "label": "ه" },
{ "code": 1582, "label": "خ" },
{ "code": 1581, "label": "ح" },
{ "code": 1580, "label": "ج" }
],
[
{ "code": 1588, "label": "ش" },
{ "code": 1587, "label": "س" },
{ "code": 1610, "label": "ي" },
{ "code": 1576, "label": "ب" },
{ "code": 1604, "label": "ل" },
{ "code": 1575, "label": "ا" },
{ "code": 1578, "label": "ت" },
{ "code": 1606, "label": "ن" },
{ "code": 1605, "label": "م" },
{ "code": 1603, "label": "ك" },
{ "code": 1591, "label": "ط" }
],
[
{ "code": 1584, "label": "ذ" },
{ "code": 1569, "label": "ء" },
{ "code": 1572, "label": "ؤ" },
{ "code": 1585, "label": "ر" },
{ "code": 1609, "label": "ى" },
{ "code": 1577, "label": "ة" },
{ "code": 1608, "label": "و" },
{ "code": 1586, "label": "ز" },
{ "code": 1592, "label": "ظ" },
{ "code": 1583, "label": "د" }
]
]

View File

@@ -0,0 +1,43 @@
[
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
],
[
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "code": 39, "label": "'", "popup": {
"relevant": [
{ "code": 8218, "label": "" },
{ "code": 8216, "label": "" },
{ "code": 8217, "label": "" },
{ "code": 8249, "label": "" },
{ "code": 8250, "label": "" }
]
} }
]
]

View File

@@ -0,0 +1,47 @@
[
[
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 233, "label": "é" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 232, "label": "è" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 119, "label": "w" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 231, "label": "ç" }
],
[
{ "$": "auto_text_key", "code": 234, "label": "ê" },
{ "$": "auto_text_key", "code": 224, "label": "à" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 113, "label": "q", "popup": {
"relevant": [
{ "code": 8218, "label": "" },
{ "code": 8216, "label": "" },
{ "code": 8217, "label": "" },
{ "code": 8249, "label": "" },
{ "code": 8250, "label": "" }
]
} },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 102, "label": "f" }
]
]

View File

@@ -0,0 +1,53 @@
[
[
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "case_selector",
"lower": {
"code": 223, "label": "ß", "popup": {
"relevant": [
{ "code": 180, "label": "´" }
]
}
},
"upper": {
"code": 7838, "label": "ẞ", "popup": {
"relevant": [
{ "code": 180, "label": "´" }
]
}
}
}
],
[
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 113, "label": "q" }
],
[
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 252, "label": "ü" },
{ "$": "auto_text_key", "code": 228, "label": "ä" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 107, "label": "k" }
]
]

View File

@@ -0,0 +1,40 @@
[
[
{ "$": "auto_text_key", "code": 1099, "label": "ы" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1080, "label": "и" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1089, "label": "с" },
{ "$": "auto_text_key", "code": 1076, "label": "д" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" }
],
[
{ "$": "auto_text_key", "code": 1100, "label": "ь" },
{ "$": "auto_text_key", "code": 1103, "label": "я" },
{ "$": "auto_text_key", "code": 1072, "label": "а" },
{ "$": "auto_text_key", "code": 1086, "label": "о" },
{ "$": "auto_text_key", "code": 1078, "label": "ж" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1090, "label": "т" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1074, "label": "в" },
{ "$": "auto_text_key", "code": 1084, "label": "м" },
{ "$": "auto_text_key", "code": 1095, "label": "ч" }
],
[
{ "$": "auto_text_key", "code": 1102, "label": "ю" },
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1098, "label": "ъ" },
{ "$": "auto_text_key", "code": 1101, "label": "э" },
{ "$": "auto_text_key", "code": 1092, "label": "ф" },
{ "$": "auto_text_key", "code": 1093, "label": "х" },
{ "$": "auto_text_key", "code": 1087, "label": "п" },
{ "$": "auto_text_key", "code": 1088, "label": "р" },
{ "$": "auto_text_key", "code": 1083, "label": "л" },
{ "$": "auto_text_key", "code": 1073, "label": "б" }
]
]

View File

@@ -0,0 +1,38 @@
[
[
{ "$": "auto_text_key", "code": 1103, "label": "я" },
{ "$": "auto_text_key", "code": 1074, "label": "в" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1088, "label": "р" },
{ "$": "auto_text_key", "code": 1090, "label": "т" },
{ "$": "auto_text_key", "code": 1098, "label": "ъ" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1080, "label": "и" },
{ "$": "auto_text_key", "code": 1086, "label": "о" },
{ "$": "auto_text_key", "code": 1087, "label": "п" },
{ "$": "auto_text_key", "code": 1095, "label": "ч" }
],
[
{ "$": "auto_text_key", "code": 1072, "label": "а" },
{ "$": "auto_text_key", "code": 1089, "label": "с" },
{ "$": "auto_text_key", "code": 1076, "label": "д" },
{ "$": "auto_text_key", "code": 1092, "label": "ф" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1093, "label": "х" },
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1083, "label": "л" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" }
],
[
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1100, "label": "ь" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
{ "$": "auto_text_key", "code": 1078, "label": "ж" },
{ "$": "auto_text_key", "code": 1073, "label": "б" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1084, "label": "м" },
{ "$": "auto_text_key", "code": 1102, "label": "ю" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 232, "label": "è" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 233, "label": "é" },
{ "$": "auto_text_key", "code": 224, "label": "à" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,35 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 231, "label": "ç" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 768, "label": "◌̀" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 231, "label": "ç" },
{ "$": "auto_text_key", "code": 769, "label": "◌́" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "case_selector",
"lower": { "code": 59, "label": ";", "popup": {
"relevant": [
{ "code": 58, "label": ":" }
]
} },
"upper": { "code": 58, "label": ":", "popup": {
"relevant": [
{ "code": 59, "label": ";" }
]
} }
}
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 229, "label": "å" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 230, "label": "æ" },
{ "$": "auto_text_key", "code": 248, "label": "ø" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,76 @@
[
[
{ "$": "variation_selector",
"default": { "$": "case_selector",
"lower": { "code": 39, "label": "'", "popup": {
"relevant": [
{ "code": 33, "label": "!" },
{ "code": 34, "label": "\"" }
]
} },
"upper": { "code": 34, "label": "\"", "popup": {
"relevant": [
{ "code": 33, "label": "!" },
{ "code": 39, "label": "'"}
]
} }
},
"email": { "code": 64, "label": "@" },
"uri": { "code": 47, "label": "/" }
},
{ "$": "case_selector",
"lower": { "code": 44, "label": ",", "popup": {
"relevant": [
{ "code": 60, "label": "<" },
{ "code": 63, "label": "?" }
]
} },
"upper": { "code": 60, "label": "<", "popup": {
"relevant": [
{ "code": 44, "label": "," },
{ "code": 63, "label": "?" }
]
} }
},
{ "$": "case_selector",
"lower": { "code": 46, "label": ".", "popup": {
"relevant": [
{ "code": 62, "label": ">" }
]
} },
"upper": { "code": 62, "label": ">", "popup": {
"relevant": [
{ "code": 46, "label": "." }
]
} }
},
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 108, "label": "l" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 115, "label": "s" }
],
[
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 118, "label": "v" }
]
]

View File

@@ -0,0 +1,43 @@
[
[
{ "$": "auto_text_key", "code": 349, "label": "ŝ", "popup": {
"main": { "$": "auto_text_key", "code": 113, "label": "q" }
} },
{ "$": "auto_text_key", "code": 285, "label": "ĝ", "popup": {
"main": { "$": "auto_text_key", "code": 119, "label": "w" }
} },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 365, "label": "ŭ", "popup": {
"main": { "$": "auto_text_key", "code": 121, "label": "y" }
} },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 309, "label": "ĵ" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 265, "label": "ĉ", "popup": {
"main": { "$": "auto_text_key", "code": 120, "label": "x" }
} },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,44 @@
[
[
{ "$": "auto_text_key", "code": 349, "label": "ŝ", "popup": {
"main": { "$": "auto_text_key", "code": 113, "label": "q" }
} },
{ "$": "auto_text_key", "code": 285, "label": "ĝ", "popup": {
"main": { "$": "auto_text_key", "code": 119, "label": "w" }
} },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 365, "label": "ŭ", "popup": {
"main": { "$": "auto_text_key", "code": 121, "label": "y" }
} },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 309, "label": "ĵ" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 265, "label": "ĉ", "popup": {
"main": { "$": "auto_text_key", "code": 120, "label": "x" }
} },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 293, "label": "ĥ" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 240, "label": "ð" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 230, "label": "æ" },
{ "$": "auto_text_key", "code": 248, "label": "ø" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,41 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 252, "label": "ü" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 228, "label": "ä" }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "case_selector",
"lower": { "code": 223, "label": "ß" },
"upper": { "code": 7838, "label": "ẞ" }
}
]
]

View File

@@ -0,0 +1,34 @@
[
[
{ "$": "auto_text_key", "code": 894, "label": ";" },
{ "$": "auto_text_key", "code": 962, "label": "ς" },
{ "$": "auto_text_key", "code": 949, "label": "ε" },
{ "$": "auto_text_key", "code": 961, "label": "ρ" },
{ "$": "auto_text_key", "code": 964, "label": "τ" },
{ "$": "auto_text_key", "code": 965, "label": "υ" },
{ "$": "auto_text_key", "code": 952, "label": "θ" },
{ "$": "auto_text_key", "code": 953, "label": "ι" },
{ "$": "auto_text_key", "code": 959, "label": "ο" },
{ "$": "auto_text_key", "code": 960, "label": "π" }
],
[
{ "$": "auto_text_key", "code": 945, "label": "α" },
{ "$": "auto_text_key", "code": 963, "label": "σ" },
{ "$": "auto_text_key", "code": 948, "label": "δ" },
{ "$": "auto_text_key", "code": 966, "label": "φ" },
{ "$": "auto_text_key", "code": 947, "label": "γ" },
{ "$": "auto_text_key", "code": 951, "label": "η" },
{ "$": "auto_text_key", "code": 958, "label": "ξ" },
{ "$": "auto_text_key", "code": 954, "label": "κ" },
{ "$": "auto_text_key", "code": 955, "label": "λ" }
],
[
{ "$": "auto_text_key", "code": 950, "label": "ζ" },
{ "$": "auto_text_key", "code": 967, "label": "χ" },
{ "$": "auto_text_key", "code": 968, "label": "ψ" },
{ "$": "auto_text_key", "code": 969, "label": "ω" },
{ "$": "auto_text_key", "code": 946, "label": "β" },
{ "$": "auto_text_key", "code": 957, "label": "ν" },
{ "$": "auto_text_key", "code": 956, "label": "μ" }
]
]

View File

@@ -0,0 +1,70 @@
[
[
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "case_selector",
"lower": { "code": 59, "label": ";", "popup": {
"relevant": [
{ "code": 58, "label": ":" }
]
} },
"upper": { "code": 58, "label": ":", "popup": {
"relevant": [
{ "code": 59, "label": ";" }
]
} }
},
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 106, "label": "j" }
],
[
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "case_selector",
"lower": { "code": 44, "label": ",", "popup": {
"relevant": [
{ "code": 40, "label": "(" }
]
} },
"upper": { "code": 40, "label": "(", "popup": {
"relevant": [
{ "code": 44, "label": "," }
]
} }
},
{ "$": "case_selector",
"lower": { "code": 46, "label": ".", "popup": {
"relevant": [
{ "code": 41, "label": ")" }
]
} },
"upper": { "code": 41, "label": ")", "popup": {
"relevant": [
{ "code": 46, "label": "." }
]
} }
},
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 105, "label": "i" }
],
[
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 121, "label": "y" }
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "code": 39, "label": "'", "popup": {
"relevant": [
{ "code": 34, "label": "\"" },
{ "code": 96, "label": "`" }
]
} },
{ "code": 45, "label": "-", "popup": {
"relevant": [
{ "code": 95, "label": "_" }
]
} },
{ "code": 1511, "label": "ק" },
{ "code": 1512, "label": "ר" },
{ "code": 1488, "label": "א" },
{ "code": 1496, "label": "ט" },
{ "code": 1493, "label": "ו" },
{ "code": 1503, "label": "ן" },
{ "code": 1501, "label": "ם" },
{ "code": 1508, "label": "פ" }
],
[
{ "code": 1513, "label": "ש" },
{ "code": 1491, "label": "ד" },
{ "code": 1490, "label": "ג" },
{ "code": 1499, "label": "כ" },
{ "code": 1506, "label": "ע" },
{ "code": 1497, "label": "י" },
{ "code": 1495, "label": "ח" },
{ "code": 1500, "label": "ל" },
{ "code": 1498, "label": "ך" },
{ "code": 1507, "label": "ף" }
],
[
{ "code": 1494, "label": "ז" },
{ "code": 1505, "label": "ס" },
{ "code": 1489, "label": "ב" },
{ "code": 1492, "label": "ה" },
{ "code": 1504, "label": "נ" },
{ "code": 1502, "label": "מ" },
{ "code": 1510, "label": "צ" },
{ "code": 1514, "label": "ת" },
{ "code": 1509, "label": "ץ" }
]
]

View File

@@ -0,0 +1,38 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 246, "label": "ö" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 233, "label": "é" },
{ "$": "auto_text_key", "code": 225, "label": "á" }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 252, "label": "ü" }
]
]

View File

@@ -0,0 +1,38 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 240, "label": "ð" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 230, "label": "æ" },
{ "$": "auto_text_key", "code": 246, "label": "ö" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 254, "label": "þ" }
]
]

View File

@@ -0,0 +1,48 @@
[
[
{ "$": "case_selector",
"lower": { "code": 7909, "label": "ụ" },
"upper": { "code": 7908, "label": "Ụ" }
},
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "case_selector",
"lower": { "code": 7883, "label": "ị" },
"upper": { "code": 7882, "label": "Ị" }
}
],
[
{ "$": "case_selector",
"lower": { "code": 7749, "label": "ṅ" },
"upper": { "code": 7748, "label": "Ṅ" }
},
{ "$": "case_selector",
"lower": { "code": 7885, "label": "ọ" },
"upper": { "code": 7884, "label": "Ọ" }
},
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,276 @@
[
[
{
"$": "auto_text_key", "code": 113, "label": "q"
},
{
"$": "auto_text_key", "code": 119, "label": "w",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 695, "label": "◌ʷ" },
{ "$": "auto_text_key", "code": 653, "label": "ʍ" }
]
}
},
{
"$": "auto_text_key", "code": 101, "label": "e",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 600, "label": "ɘ" },
{ "$": "auto_text_key", "code": 604, "label": "ɜ" },
{ "$": "auto_text_key", "code": 601, "label": "ə" },
{ "$": "auto_text_key", "code": 602, "label": "ɚ" },
{ "$": "auto_text_key", "code": 7498, "label": "◌ᵊ" },
{ "$": "auto_text_key", "code": 603, "label": "ɛ" }
]
}
},
{
"$": "auto_text_key", "code": 114, "label": "r",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 637, "label": "ɽ" },
{ "$": "auto_text_key", "code": 633, "label": "ɹ" },
{ "$": "auto_text_key", "code": 638, "label": "ɾ" },
{ "$": "auto_text_key", "code": 635, "label": "ɻ" },
{ "$": "auto_text_key", "code": 641, "label": "ʁ" },
{ "$": "auto_text_key", "code": 734, "label": "◌˞" },
{ "$": "auto_text_key", "code": 640, "label": "ʀ" }
]
}
},
{
"$": "auto_text_key", "code": 116, "label": "t",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 648, "label": "ʈ" },
{ "$": "auto_text_key", "code": 7615, "label": "◌ᶿ" },
{ "$": "auto_text_key", "code": 952, "label": "θ" }
]
}
},
{
"$": "auto_text_key", "code": 121, "label": "y",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 612, "label": "ɤ" },
{ "$": "auto_text_key", "code": 655, "label": "ʏ" }
]
}
},
{
"$": "auto_text_key", "code": 117, "label": "u",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 7551, "label": "ᵿ" },
{ "$": "auto_text_key", "code": 649, "label": "ʉ" },
{ "$": "auto_text_key", "code": 650, "label": "ʊ" }
]
}
},
{
"$": "auto_text_key", "code": 105, "label": "i",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 7547, "label": "ᵻ" },
{ "$": "auto_text_key", "code": 616, "label": "ɨ" },
{ "$": "auto_text_key", "code": 618, "label": "ɪ" }
]
}
},
{
"$": "auto_text_key", "code": 111, "label": "o",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 664, "label": "ʘ" },
{ "$": "auto_text_key", "code": 248, "label": "ø" },
{ "$": "auto_text_key", "code": 606, "label": "ɞ" },
{ "$": "auto_text_key", "code": 339, "label": "œ" },
{ "$": "auto_text_key", "code": 629, "label": "ɵ" },
{ "$": "auto_text_key", "code": 630, "label": "ɶ" },
{ "$": "auto_text_key", "code": 596, "label": "ɔ" }
]
}
},
{
"$": "auto_text_key", "code": 112, "label": "p"
}
],
[
{
"$": "auto_text_key", "code": 97, "label": "a",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 230, "label": "æ" },
{ "$": "auto_text_key", "code": 594, "label": "ɒ" },
{ "$": "auto_text_key", "code": 592, "label": "ɐ" },
{ "$": "auto_text_key", "code": 593, "label": "ɑ" }
]
}
},
{
"$": "auto_text_key", "code": 115, "label": "s",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 642, "label": "ʂ" },
{ "$": "auto_text_key", "code": 597, "label": "ɕ" },
{ "$": "auto_text_key", "code": 643, "label": "ʃ" }
]
}
},
{
"$": "auto_text_key", "code": 100, "label": "d",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 598, "label": "ɖ" },
{ "$": "auto_text_key", "code": 599, "label": "ɗ" },
{ "$": "auto_text_key", "code": 240, "label": "ð" }
]
}
},
{
"$": "auto_text_key", "code": 102, "label": "f",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 632, "label": "ɸ" }
]
}
},
{
"$": "auto_text_key", "code": 609, "label": "ɡ",
"popup": {
"main": { "$": "auto_text_key", "code": 103, "label": "g" },
"relevant": [
{ "$": "auto_text_key", "code": 608, "label": "ɠ" },
{ "$": "auto_text_key", "code": 610, "label": "ɢ" },
{ "$": "auto_text_key", "code": 667, "label": "ʛ" },
{ "$": "auto_text_key", "code": 667, "label": "ʛ" },
{ "$": "auto_text_key", "code": 736, "label": "◌ˠ" },
{ "$": "auto_text_key", "code": 611, "label": "ɣ" }
]
}
},
{
"$": "auto_text_key", "code": 104, "label": "h",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 614, "label": "ɦ" },
{ "$": "auto_text_key", "code": 615, "label": "ɧ" },
{ "$": "auto_text_key", "code": 295, "label": "ħ" },
{ "$": "auto_text_key", "code": 613, "label": "ɥ" },
{ "$": "auto_text_key", "code": 688, "label": "◌ʰ" },
{ "$": "auto_text_key", "code": 668, "label": "ʜ" }
]
}
},
{
"$": "auto_text_key", "code": 106, "label": "j",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 669, "label": "ʝ" },
{ "$": "auto_text_key", "code": 607, "label": "ɟ" },
{ "$": "auto_text_key", "code": 690, "label": "◌ʲ" },
{ "$": "auto_text_key", "code": 644, "label": "ʄ" }
]
}
},
{
"$": "auto_text_key", "code": 107, "label": "k"
},
{
"$": "auto_text_key", "code": 108, "label": "l",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 620, "label": "ɬ" },
{ "$": "auto_text_key", "code": 634, "label": "ɺ" },
{ "$": "auto_text_key", "code": 671, "label": "ʟ" },
{ "$": "auto_text_key", "code": 654, "label": "ʎ" },
{ "$": "auto_text_key", "code": 737, "label": "◌ˡ" },
{ "$": "auto_text_key", "code": 622, "label": "ɮ" }
]
}
},
{
"$": "auto_text_key", "code": 660, "label": "ʔ",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 661, "label": "ʕ" },
{ "$": "auto_text_key", "code": 674, "label": "ʢ" },
{ "$": "auto_text_key", "code": 740, "label": "◌ˤ" },
{ "$": "auto_text_key", "code": 673, "label": "ʡ" }
]
}
}
],
[
{
"$": "auto_text_key", "code": 122, "label": "z",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 656, "label": "ʐ" },
{ "$": "auto_text_key", "code": 657, "label": "ʑ" },
{ "$": "auto_text_key", "code": 658, "label": "ʒ" }
]
}
},
{
"$": "auto_text_key", "code": 120, "label": "x",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 739, "label": "◌ˣ" },
{ "$": "auto_text_key", "code": 967, "label": "χ" }
]
}
},
{
"$": "auto_text_key", "code": 99, "label": "c",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 231, "label": "ç" }
]
}
},
{
"$": "auto_text_key", "code": 118, "label": "v",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 651, "label": "ʋ" },
{ "$": "auto_text_key", "code": 652, "label": "ʌ" }
]
}
},
{
"$": "auto_text_key", "code": 98, "label": "b",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 595, "label": "ɓ" },
{ "$": "auto_text_key", "code": 665, "label": "ʙ" },
{ "$": "auto_text_key", "code": 946, "label": "β" }
]
}
},
{
"$": "auto_text_key", "code": 110, "label": "n",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 626, "label": "ɲ" },
{ "$": "auto_text_key", "code": 627, "label": "ɳ" },
{ "$": "auto_text_key", "code": 628, "label": "ɴ" },
{ "$": "auto_text_key", "code": 8319, "label": "◌ⁿ" },
{ "$": "auto_text_key", "code": 771, "label": "◌̃" },
{ "$": "auto_text_key", "code": 331, "label": "ŋ" }
]
}
},
{
"$": "auto_text_key", "code": 109, "label": "m",
"popup": {
"relevant": [
{ "$": "auto_text_key", "code": 625, "label": "ɱ" },
{ "$": "auto_text_key", "code": 624, "label": "ɰ" },
{ "$": "auto_text_key", "code": 623, "label": "ɯ" }
]
}
}
]
]

View File

@@ -0,0 +1,39 @@
[
[
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1093, "label": "х" }
],
[
{ "$": "auto_text_key", "code": 1092 , "label": "ф" },
{ "$": "auto_text_key", "code": 1099 , "label": "ы" },
{ "$": "auto_text_key", "code": 1074 , "label": "в" },
{ "$": "auto_text_key", "code": 1072 , "label": "а" },
{ "$": "auto_text_key", "code": 1087 , "label": "п" },
{ "$": "auto_text_key", "code": 1088 , "label": "р" },
{ "$": "auto_text_key", "code": 1086 , "label": "о" },
{ "$": "auto_text_key", "code": 1083 , "label": "л" },
{ "$": "auto_text_key", "code": 1076 , "label": "д" },
{ "$": "auto_text_key", "code": 1078 , "label": "ж" },
{ "$": "auto_text_key", "code": 1101 , "label": "э" }
],
[
{ "$": "auto_text_key", "code": 1103 , "label": "я" },
{ "$": "auto_text_key", "code": 1095 , "label": "ч" },
{ "$": "auto_text_key", "code": 1089 , "label": "с" },
{ "$": "auto_text_key", "code": 1084 , "label": "м" },
{ "$": "auto_text_key", "code": 1080 , "label": "и" },
{ "$": "auto_text_key", "code": 1090 , "label": "т" },
{ "$": "auto_text_key", "code": 1100 , "label": "ь" },
{ "$": "auto_text_key", "code": 1073 , "label": "б" },
{ "$": "auto_text_key", "code": 1102 , "label": "ю" }
]
]

View File

@@ -0,0 +1,39 @@
[
[
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1093, "label": "х" }
],
[
{ "$": "auto_text_key", "code": 1092 , "label": "ф" },
{ "$": "auto_text_key", "code": 1110 , "label": "і" },
{ "$": "auto_text_key", "code": 1074 , "label": "в" },
{ "$": "auto_text_key", "code": 1072 , "label": "а" },
{ "$": "auto_text_key", "code": 1087 , "label": "п" },
{ "$": "auto_text_key", "code": 1088 , "label": "р" },
{ "$": "auto_text_key", "code": 1086 , "label": "о" },
{ "$": "auto_text_key", "code": 1083 , "label": "л" },
{ "$": "auto_text_key", "code": 1076 , "label": "д" },
{ "$": "auto_text_key", "code": 1078 , "label": "ж" },
{ "$": "auto_text_key", "code": 1108 , "label": "є" }
],
[
{ "$": "auto_text_key", "code": 1103 , "label": "я" },
{ "$": "auto_text_key", "code": 1095 , "label": "ч" },
{ "$": "auto_text_key", "code": 1089 , "label": "с" },
{ "$": "auto_text_key", "code": 1084 , "label": "м" },
{ "$": "auto_text_key", "code": 1080 , "label": "и" },
{ "$": "auto_text_key", "code": 1090 , "label": "т" },
{ "$": "auto_text_key", "code": 1100 , "label": "ь" },
{ "$": "auto_text_key", "code": 1073 , "label": "б" },
{ "$": "auto_text_key", "code": 1102 , "label": "ю" }
]
]

View File

@@ -0,0 +1,346 @@
[
[
{ "$": "kana_selector",
"hira": { "code": 12396, "label": "ぬ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12492, "label": "ヌ" },
"half": { "code": 65415, "label": "ヌ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12405, "label": "ふ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12501, "label": "フ" },
"half": { "code": 65420, "label": "フ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12354, "label": "あ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12450, "label": "ア" },
"half": { "code": 65393, "label": "ア" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12358, "label": "う" },
"kata": { "$": "char_width_selector",
"full": { "code": 12454, "label": "ウ" },
"half": { "code": 65395, "label": "ウ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12360, "label": "え" },
"kata": { "$": "char_width_selector",
"full": { "code": 12456, "label": "エ" },
"half": { "code": 65396, "label": "エ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12362, "label": "お" },
"kata": { "$": "char_width_selector",
"full": { "code": 12458, "label": "オ" },
"half": { "code": 65397, "label": "オ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12420, "label": "や" },
"kata": { "$": "char_width_selector",
"full": { "code": 12516, "label": "ヤ" },
"half": { "code": 65428, "label": "ヤ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12422, "label": "ゆ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12518, "label": "ユ" },
"half": { "code": 65429, "label": "ユ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12424, "label": "よ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12520, "label": "ヨ" },
"half": { "code": 65430, "label": "ヨ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12431, "label": "わ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12527, "label": "ワ" },
"half": { "code": 65436, "label": "ワ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12411, "label": "ほ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12507, "label": "ホ" },
"half": { "code": 65422, "label": "ホ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12408, "label": "へ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12504, "label": "ヘ" },
"half": { "code": 65421, "label": "ヘ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12540, "label": "ー" },
"kata": { "$": "char_width_selector",
"full": { "code": 12540, "label": "ー" },
"half": { "code": 65392, "label": "ー" }
}
}
],
[
{ "$": "kana_selector",
"hira": { "code": 12383, "label": "た" },
"kata": { "$": "char_width_selector",
"full": { "code": 12479, "label": "タ" },
"half": { "code": 65408, "label": "タ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12390, "label": "て" },
"kata": { "$": "char_width_selector",
"full": { "code": 12486, "label": "テ" },
"half": { "code": 65411, "label": "テ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12356, "label": "い" },
"kata": { "$": "char_width_selector",
"full": { "code": 12452, "label": "イ" },
"half": { "code": 65394, "label": "イ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12377, "label": "す" },
"kata": { "$": "char_width_selector",
"full": { "code": 12473, "label": "ス" },
"half": { "code": 65405, "label": "ス" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12363, "label": "か" },
"kata": { "$": "char_width_selector",
"full": { "code": 12459, "label": "カ" },
"half": { "code": 65398, "label": "カ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12435, "label": "ん" },
"kata": { "$": "char_width_selector",
"full": { "code": 12531, "label": "ン" },
"half": { "code": 65437, "label": "ン" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12394, "label": "な" },
"kata": { "$": "char_width_selector",
"full": { "code": 12490, "label": "ナ" },
"half": { "code": 65413, "label": "ナ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12395, "label": "に" },
"kata": { "$": "char_width_selector",
"full": { "code": 12491, "label": "ニ" },
"half": { "code": 65414, "label": "ニ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12425, "label": "ら" },
"kata": { "$": "char_width_selector",
"full": { "code": 12521, "label": "ラ" },
"half": { "code": 65431, "label": "ラ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12379, "label": "せ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12475, "label": "セ" },
"half": { "code": 65406, "label": "セ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12441, "label": "゛" },
"kata": { "$": "char_width_selector",
"full": { "code": 12441, "label": "゛" },
"half": { "code": 65438, "label": "゙" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12442, "label": "゜" },
"kata": { "$": "char_width_selector",
"full": { "code": 12442, "label": "゜" },
"half": { "code": 65439, "label": "゚" }
}
}
],
[
{ "$": "kana_selector",
"hira": { "code": 12385, "label": "ち" },
"kata": { "$": "char_width_selector",
"full": { "code": 12481, "label": "チ" },
"half": { "code": 65409, "label": "チ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12392, "label": "と" },
"kata": { "$": "char_width_selector",
"full": { "code": 12488, "label": "ト" },
"half": { "code": 65412, "label": "ト" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12375, "label": "し" },
"kata": { "$": "char_width_selector",
"full": { "code": 12471, "label": "シ" },
"half": { "code": 65410, "label": "シ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12399, "label": "は" },
"kata": { "$": "char_width_selector",
"full": { "code": 12495, "label": "ハ" },
"half": { "code": 65418, "label": "ハ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12365, "label": "き" },
"kata": { "$": "char_width_selector",
"full": { "code": 12461, "label": "キ" },
"half": { "code": 65399, "label": "キ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12367, "label": "く" },
"kata": { "$": "char_width_selector",
"full": { "code": 12463, "label": "ク" },
"half": { "code": 65400, "label": "ク" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12414, "label": "ま" },
"kata": { "$": "char_width_selector",
"full": { "code": 12510, "label": "マ" },
"half": { "code": 65423, "label": "マ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12398, "label": "の" },
"kata": { "$": "char_width_selector",
"full": { "code": 12494, "label": "" },
"half": { "code": 65417, "label": "ノ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12426, "label": "り" },
"kata": { "$": "char_width_selector",
"full": { "code": 12522, "label": "リ" },
"half": { "code": 65432, "label": "リ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12428, "label": "れ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12524, "label": "レ" },
"half": { "code": 65434, "label": "レ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12369, "label": "け" },
"kata": { "$": "char_width_selector",
"full": { "code": 12465, "label": "ケ" },
"half": { "code": 65401, "label": "ケ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12416, "label": "む" },
"kata": { "$": "char_width_selector",
"full": { "code": 12512, "label": "ム" },
"half": { "code": 65425, "label": "ム" }
}
}
],
[
{ "$": "kana_selector",
"hira": { "code": 12388, "label": "つ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12484, "label": "ツ" },
"half": { "code": 65410, "label": "ツ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12373, "label": "さ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12469, "label": "サ" },
"half": { "code": 65403, "label": "サ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12381, "label": "そ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12477, "label": "ソ" },
"half": { "code": 65407, "label": "ソ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12402, "label": "ひ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12498, "label": "ヒ" },
"half": { "code": 65419, "label": "ヒ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12371, "label": "こ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12467, "label": "コ" },
"half": { "code": 65402, "label": "コ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12415, "label": "み" },
"kata": { "$": "char_width_selector",
"full": { "code": 12511, "label": "ミ" },
"half": { "code": 65424, "label": "ミ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12418, "label": "も" },
"kata": { "$": "char_width_selector",
"full": { "code": 12514, "label": "モ" },
"half": { "code": 65427, "label": "モ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12397, "label": "ね" },
"kata": { "$": "char_width_selector",
"full": { "code": 12493, "label": "ネ" },
"half": { "code": 65416, "label": "ネ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12427, "label": "る" },
"kata": { "$": "char_width_selector",
"full": { "code": 12523, "label": "ル" },
"half": { "code": 65433, "label": "ル" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12417, "label": "め" },
"kata": { "$": "char_width_selector",
"full": { "code": 12513, "label": "メ" },
"half": { "code": 65426, "label": "メ" }
}
},
{ "$": "kana_selector",
"hira": { "code": 12429, "label": "ろ" },
"kata": { "$": "char_width_selector",
"full": { "code": 12525, "label": "ロ" },
"half": { "code": 65435, "label": "ロ" }
}
}
]
]

View File

@@ -0,0 +1,55 @@
[
[
{ "$": "case_selector",
"lower": { "code": 12610, "label": "ㅂ" },
"upper": { "code": 12611, "label": "ㅃ" }
},
{ "$": "case_selector",
"lower": { "code": 12616, "label": "ㅈ" },
"upper": { "code": 12617, "label": "ㅉ" }
},
{ "$": "case_selector",
"lower": { "code": 12599, "label": "ㄷ" },
"upper": { "code": 12600, "label": "ㄸ" }
},
{ "$": "case_selector",
"lower": { "code": 12593, "label": "ㄱ" },
"upper": { "code": 12594, "label": "ㄲ" }
},
{ "$": "case_selector",
"lower": { "code": 12613, "label": "ㅅ" },
"upper": { "code": 12614, "label": "ㅆ" }
},
{ "$": "auto_text_key", "code": 12635, "label": "ㅛ"},
{ "$": "auto_text_key", "code": 12629, "label": "ㅕ"},
{ "$": "auto_text_key", "code": 12625, "label": "ㅑ"},
{ "$": "case_selector",
"lower": { "code": 12624, "label": "ㅐ" },
"upper": { "code": 12626, "label": "ㅒ" }
},
{ "$": "case_selector",
"lower": { "code": 12628, "label": "ㅔ" },
"upper": { "code": 12630, "label": "ㅖ" }
}
],
[
{ "$": "auto_text_key", "code": 12609, "label": "ㅁ"},
{ "$": "auto_text_key", "code": 12596, "label": "ㄴ"},
{ "$": "auto_text_key", "code": 12615, "label": "ㅇ"},
{ "$": "auto_text_key", "code": 12601, "label": "ㄹ"},
{ "$": "auto_text_key", "code": 12622, "label": "ㅎ"},
{ "$": "auto_text_key", "code": 12631, "label": "ㅗ"},
{ "$": "auto_text_key", "code": 12627, "label": "ㅓ"},
{ "$": "auto_text_key", "code": 12623, "label": "ㅏ"},
{ "$": "auto_text_key", "code": 12643, "label": "ㅣ"}
],
[
{ "$": "auto_text_key", "code": 12619, "label": "ㅋ"},
{ "$": "auto_text_key", "code": 12620, "label": "ㅌ"},
{ "$": "auto_text_key", "code": 12618, "label": "ㅊ"},
{ "$": "auto_text_key", "code": 12621, "label": "ㅍ"},
{ "$": "auto_text_key", "code": 12640, "label": "ㅠ"},
{ "$": "auto_text_key", "code": 12636, "label": "ㅜ"},
{ "$": "auto_text_key", "code": 12641, "label": "ㅡ"}
]
]

View File

@@ -0,0 +1,65 @@
[
[
{ "code": 1602, "label": "ق", "popup": {
"main": { "code": 1647, "label": "ٯ" }
} },
{ "code": 1608, "label": "و", "popup": {
"main": { "code": -255, "label": "وو" }
} },
{ "code": 1749, "label": "ە", "popup": {
"main": { "code": 1577, "label": "ة" }
} },
{ "code": 1585, "label": "ر", "popup": {
"main": { "code": 1685, "label": "ڕ" }
} },
{ "code": 1578, "label": "ت", "popup": {
"main": { "code": 1591, "label": "ط" }
} },
{ "code": 1740, "label": "ی" },
{ "code": 1742, "label": "ێ" },
{ "code": 1574, "label": "ﺋ", "popup": {
"main": { "code": 1569, "label": "ء" }
} },
{ "code": 1734, "label": "ۆ" },
{ "code": 1662, "label": "پ", "popup": {
"main": { "code": 1579, "label": "ث" }
} }
],
[
{ "code": 1575, "label": "ا"},
{ "code": 1587, "label": "س" },
{ "code": 1588, "label": "ش" },
{ "code": 1583, "label": "د", "popup": {
"main": {"code": 1584, "label": "ذ" }
} },
{ "code": 1601, "label": "ف" , "popup": {
"main": {"code": 1700, "label": "ڤ" }
} },
{ "code": 1726, "label": "ھ" },
{ "code": 1688, "label": "ژ", "popup": {
"main": { "code": 1600, "label": "━" }
} },
{ "code": 1604, "label": "ل", "popup": {
"main": { "code": 1717, "label": "ڵ" }
} },
{ "code": 1705, "label": "ک" },
{ "code": 1711, "label": "گ" , "popup": {
"main": { "code": 1594, "label": "غ" }
} }
],
[
{ "code": 1586, "label": "ز", "popup": {
"main": {"code": 1592, "label": "ظ" }
} },
{ "code": 1582, "label": "خ" },
{ "code": 1580, "label": "ج" },
{ "code": 1670, "label": "چ" },
{ "code": 1581, "label": "ح" },
{ "code": 1593, "label": "ع", "popup": {
"main": { "code": 1551, "label": "؏" }
} },
{ "code": 1576, "label": "ب" },
{ "code": 1606, "label": "ن" },
{ "code": 1605, "label": "م" }
]
]

View File

@@ -0,0 +1,39 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 251, "label": "û" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 234, "label": "ê" },
{ "$": "auto_text_key", "code": 238, "label": "î" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 231, "label": "ç" },
{ "$": "auto_text_key", "code": 351, "label": "ş" }
]
]

View File

@@ -0,0 +1,66 @@
[
[
{ "code": 1602, "label": "ق", "popup": {
"main": { "code": 1647, "label": "ٯ" }
} },
{ "code": 1700, "label": "ڤ" },
{ "code": 1601, "label": "ف" },
{ "code": 1594, "label": "غ" },
{ "code": 1593, "label": "ع"},
{ "code": 1607, "label": "ھ" },
{ "code": 1749, "label": "", "popup": {
"main": { "code": 1577, "label": "ة" }
} },
{ "code": 1578, "label": "ت", "popup": {
"main": { "code": 1591, "label": "ط" }
} },
{ "code": 1581, "label": "ح" },
{ "code": 1582, "label": "خ" }
],
[
{ "code": 1588, "label": "ش" },
{ "code": 1587, "label": "س" },
{ "code": 1740, "label": "ی" },
{ "code": 1742, "label": "ێ" },
{ "code": 1604, "label": "ل" },
{ "code": 1717, "label": "ڵ" },
{ "code": 1575, "label": "ا" },
{ "code": 1606, "label": "ن" },
{ "code": 1580, "label": "ج" },
{ "code": 1670, "label": "چ" }
],
[
{ "code": 1576, "label": "ب" },
{ "code": 1586, "label": "ز", "popup": {
"main": {"code": 1592, "label": "ظ" }
} },
{ "code": 1585, "label": "ر" },
{ "code": 1685, "label": "ڕ" },
{ "code": 1583, "label": "د", "popup": {
"main": {"code": 1584, "label": "ذ" }
} },
{ "code": -255, "label": "وو" },
{ "code": 1608, "label": "و" },
{ "code": 1734, "label": "ۆ" },
{ "code": 1705, "label": "ک" },
{ "code": 1711, "label": "گ" }
],
[
{ "code": 1574, "label": "ﺋ", "popup": {
"main": { "code": 1569, "label": "ء" }
} },
{ "code": 1662, "label": "پ", "popup": {
"main": { "code": 1579, "label": "ث" }
} },
{ "code": 1688, "label": "ژ" },
{ "code": 1605, "label": "م" },
{ "code": 1567, "label": "؟" },
{ "code": 1548, "label": "،" },
{ "code": 46, "label": "." }
]
]

View File

@@ -0,0 +1,34 @@
[
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 106, "label": "j" }
],
[
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 113, "label": "q" }
],
[
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 102, "label": "f" }
]
]

View File

@@ -0,0 +1,53 @@
[
[
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "case_selector",
"lower": {
"code": 223, "label": "ß", "popup": {
"relevant": [
{ "code": 180, "label": "´" }
]
}
},
"upper": {
"code": 7838, "label": "ẞ", "popup": {
"relevant": [
{ "code": 180, "label": "´" }
]
}
}
}
],
[
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 121, "label": "y" }
],
[
{ "$": "auto_text_key", "code": 252, "label": "ü" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 228, "label": "ä" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 106, "label": "j" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 229, "label": "å" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 248, "label": "ø" },
{ "$": "auto_text_key", "code": 230, "label": "æ" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,39 @@
[
[
{ "code": 1590, "label": "ض" },
{ "code": 1589, "label": "ص" },
{ "code": 1579, "label": "ث" },
{ "code": 1602, "label": "ق" },
{ "code": 1601, "label": "ف" },
{ "code": 1594, "label": "غ" },
{ "code": 1593, "label": "ع" },
{ "code": 1607, "label": "ه" },
{ "code": 1582, "label": "خ" },
{ "code": 1581, "label": "ح" },
{ "code": 1580, "label": "ج" }
],
[
{ "code": 1588, "label": "ش" },
{ "code": 1587, "label": "س" },
{ "code": 1740, "label": "ی" },
{ "code": 1576, "label": "ب" },
{ "code": 1604, "label": "ل" },
{ "code": 1575, "label": "ا" },
{ "code": 1578, "label": "ت" },
{ "code": 1606, "label": "ن" },
{ "code": 1605, "label": "م" },
{ "code": 1705, "label": "ک" },
{ "code": 1711, "label": "گ" }
],
[
{ "code": 1592, "label": "ظ" },
{ "code": 1591, "label": "ط" },
{ "code": 1586, "label": "ز" },
{ "code": 1585, "label": "ر" },
{ "code": 1584, "label": "ذ" },
{ "code": 1583, "label": "د" },
{ "code": 1662, "label": "پ" },
{ "code": 1608, "label": "و" },
{ "code": 1670, "label": "چ" }
]
]

View File

@@ -0,0 +1,34 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,34 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -1,10 +1,4 @@
{
"type": "characters",
"name": "jcuken_ukrainian",
"label": "Ukrainian (JCUKEN)",
"authors": [ "williamtheaker", "33kk" ],
"direction": "ltr",
"arrangement": [
[
[
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
@@ -16,22 +10,29 @@
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1093, "label": "х" }
{ "$": "auto_text_key", "code": 1093, "label": "х" },
{ "$": "auto_text_key", "code": 1031, "label": "ї" }
],
[
{ "$": "auto_text_key", "code": 1092 , "label": "ф" },
{ "$": "auto_text_key", "code": 1110 , "label": "і" },
{ "$": "auto_text_key", "code": 1074 , "label": "в" },
{ "$": "auto_text_key", "code": 1072 , "label": "а" },
{ "$": "auto_text_key", "code": 1087 , "label": "п" },
{ "$": "auto_text_key", "code": 1088 , "label": "р" },
{ "$": "auto_text_key", "code": 1086 , "label": "о" },
{ "$": "auto_text_key", "code": 1083 , "label": "л" },
{ "$": "auto_text_key", "code": 1076 , "label": "д" },
{ "$": "auto_text_key", "code": 1078 , "label": "ж" },
{ "$": "auto_text_key", "code": 1108 , "label": "є" }
{ "$": "auto_text_key", "code": 1108 , "label": "є" },
{ "$": "auto_text_key", "code": 1067 , "label": "ы" }
],
[
{ "$": "auto_text_key", "code": 1169 , "label": "ґ" },
{ "$": "auto_text_key", "code": 1103 , "label": "я" },
{ "$": "auto_text_key", "code": 1095 , "label": "ч" },
{ "$": "auto_text_key", "code": 1089 , "label": "с" },
@@ -40,7 +41,7 @@
{ "$": "auto_text_key", "code": 1090 , "label": "т" },
{ "$": "auto_text_key", "code": 1100 , "label": "ь" },
{ "$": "auto_text_key", "code": 1073 , "label": "б" },
{ "$": "auto_text_key", "code": 1102 , "label": "ю" }
{ "$": "auto_text_key", "code": 1102 , "label": "ю" },
{ "$": "auto_text_key", "code": 1025 , "label": "ё" }
]
]
}

View File

@@ -1,46 +1,46 @@
{
"type": "characters",
"name": "jcuken_russian",
"label": "Russian (JCUKEN)",
"authors": [ "williamtheaker" ],
"direction": "ltr",
"arrangement": [
[
[
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1108 , "label": "є" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1093, "label": "х" }
],
[
{ "$": "auto_text_key", "code": 1092 , "label": "ф" },
{ "$": "auto_text_key", "code": 1099 , "label": "ы" },
{ "$": "auto_text_key", "code": 1074 , "label": "в" },
{ "$": "auto_text_key", "code": 1072 , "label": "а" },
{ "$": "auto_text_key", "code": 1087 , "label": "п" },
{ "$": "auto_text_key", "code": 1088 , "label": "р" },
{ "$": "auto_text_key", "code": 1090 , "label": "т" },
{ "$": "auto_text_key", "code": 1081, "label": "й" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1102 , "label": "ю" },
{ "$": "auto_text_key", "code": 1110 , "label": "і" },
{ "$": "auto_text_key", "code": 1031, "label": "ї" },
{ "$": "auto_text_key", "code": 1086 , "label": "о" },
{ "$": "auto_text_key", "code": 1083 , "label": "л" },
{ "$": "auto_text_key", "code": 1076 , "label": "д" },
{ "$": "auto_text_key", "code": 1078 , "label": "ж" },
{ "$": "auto_text_key", "code": 1101 , "label": "э" }
{ "$": "auto_text_key", "code": 1025 , "label": "ё" },
{ "$": "auto_text_key", "code": 1087 , "label": "п" }
],
[
{ "$": "auto_text_key", "code": 1103 , "label": "я" },
{ "$": "auto_text_key", "code": 1095 , "label": "ч" },
{ "$": "auto_text_key", "code": 1072 , "label": "а" },
{ "$": "auto_text_key", "code": 1089 , "label": "с" },
{ "$": "auto_text_key", "code": 1076 , "label": "д" },
{ "$": "auto_text_key", "code": 1092 , "label": "ф" },
{ "$": "auto_text_key", "code": 1169 , "label": "ґ" },
{ "$": "auto_text_key", "code": 1067 , "label": "ы" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1078 , "label": "ж" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1083 , "label": "л" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" },
{ "$": "auto_text_key", "code": 1097, "label": "щ" }
],
[
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1093, "label": "х" },
{ "$": "auto_text_key", "code": 1095 , "label": "ч" },
{ "$": "auto_text_key", "code": 1074 , "label": "в" },
{ "$": "auto_text_key", "code": 1073 , "label": "б" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1084 , "label": "м" },
{ "$": "auto_text_key", "code": 1080 , "label": "и" },
{ "$": "auto_text_key", "code": 1090 , "label": "т" },
{ "$": "auto_text_key", "code": 1100 , "label": "ь" },
{ "$": "auto_text_key", "code": 1073 , "label": "б" },
{ "$": "auto_text_key", "code": 1102 , "label": "ю" }
{ "$": "auto_text_key", "code": 1100 , "label": "ь" }
]
]
}

View File

@@ -0,0 +1,34 @@
[
[
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 110, "label": "n" }
],
[
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
],
[
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 111, "label": "o" }
]
]

View File

@@ -0,0 +1,38 @@
[
[
{ "$": "auto_text_key", "code": 1113, "label": "љ" },
{ "$": "auto_text_key", "code": 1114, "label": "њ" },
{ "$": "auto_text_key", "code": 1077, "label": "е" },
{ "$": "auto_text_key", "code": 1088, "label": "р" },
{ "$": "auto_text_key", "code": 1090, "label": "т" },
{ "$": "auto_text_key", "code": 1079, "label": "з" },
{ "$": "auto_text_key", "code": 1091, "label": "у" },
{ "$": "auto_text_key", "code": 1080, "label": "и" },
{ "$": "auto_text_key", "code": 1086, "label": "о" },
{ "$": "auto_text_key", "code": 1087, "label": "п" },
{ "$": "auto_text_key", "code": 1096, "label": "ш" }
],
[
{ "$": "auto_text_key", "code": 1072, "label": "а" },
{ "$": "auto_text_key", "code": 1089, "label": "с" },
{ "$": "auto_text_key", "code": 1076, "label": "д" },
{ "$": "auto_text_key", "code": 1092, "label": "ф" },
{ "$": "auto_text_key", "code": 1075, "label": "г" },
{ "$": "auto_text_key", "code": 1093, "label": "х" },
{ "$": "auto_text_key", "code": 1112, "label": "ј" },
{ "$": "auto_text_key", "code": 1082, "label": "к" },
{ "$": "auto_text_key", "code": 1083, "label": "л" },
{ "$": "auto_text_key", "code": 1095, "label": "ч" },
{ "$": "auto_text_key", "code": 1115, "label": "ћ" }
],
[
{ "$": "auto_text_key", "code": 1119, "label": "џ" },
{ "$": "auto_text_key", "code": 1094, "label": "ц" },
{ "$": "auto_text_key", "code": 1074, "label": "в" },
{ "$": "auto_text_key", "code": 1073, "label": "б" },
{ "$": "auto_text_key", "code": 1085, "label": "н" },
{ "$": "auto_text_key", "code": 1084, "label": "м" },
{ "$": "auto_text_key", "code": 1106, "label": "ђ" },
{ "$": "auto_text_key", "code": 1078, "label": "ж" }
]
]

View File

@@ -0,0 +1,39 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 353, "label": "š" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 269, "label": "č" },
{ "$": "auto_text_key", "code": 263, "label": "ć" }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 273, "label": "đ" },
{ "$": "auto_text_key", "code": 382, "label": "ž" }
]
]

View File

@@ -0,0 +1,35 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 241, "label": "ñ" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,37 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 229, "label": "å" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 228, "label": "ä" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,49 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 232, "label": "è", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 252, "label": "ü" }
]
} }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 233, "label": "é", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 246, "label": "ö" }
]
} },
{ "$": "auto_text_key", "code": 224, "label": "à", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 228, "label": "ä" }
]
} }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,49 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 252, "label": "ü", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 232, "label": "è" }
]
} }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 246, "label": "ö", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 233, "label": "é" }
]
} },
{ "$": "auto_text_key", "code": 228, "label": "ä", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 224, "label": "à" }
]
} }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,49 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 105, "label": "i" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 252, "label": "ü", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 232, "label": "è" }
]
} }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 246, "label": "ö", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 233, "label": "é" }
]
} },
{ "$": "auto_text_key", "code": 228, "label": "ä", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 224, "label": "à" }
]
} }
],
[
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" }
]
]

View File

@@ -0,0 +1,194 @@
[
[
{ "$": "case_selector",
"lower": { "code": 3653, "label": "ๅ" },
"upper": { "code": 43, "label": "+" }
},
{ "$": "case_selector",
"lower": { "code": 47, "label": "/" },
"upper": { "code": 3665, "label": "๑" }
},
{ "$": "case_selector",
"lower": { "code": 95, "label": "_" },
"upper": { "code": 3666, "label": "๒" }
},
{ "$": "case_selector",
"lower": { "code": 3616, "label": "ภ" },
"upper": { "code": 3667, "label": "๓" }
},
{ "$": "case_selector",
"lower": { "code": 3606, "label": "ถ" },
"upper": { "code": 3668, "label": "๔" }
},
{ "$": "case_selector",
"lower": { "code": 3640, "label": "ุ" },
"upper": { "code": 3641, "label": "ู" }
},
{ "$": "case_selector",
"lower": { "code": 3638, "label": "ึ" },
"upper": { "code": 3647, "label": "฿" }
},
{ "$": "case_selector",
"lower": { "code": 3588, "label": "ค" },
"upper": { "code": 3669, "label": "๕" }
},
{ "$": "case_selector",
"lower": { "code": 3605, "label": "ต" },
"upper": { "code": 3670, "label": "๖" }
},
{ "$": "case_selector",
"lower": { "code": 3592, "label": "จ" },
"upper": { "code": 3671, "label": "๗" }
},
{ "$": "case_selector",
"lower": { "code": 3586, "label": "ข" },
"upper": { "code": 3672, "label": "๘" }
},
{ "$": "case_selector",
"lower": { "code": 3594, "label": "ช" },
"upper": { "code": 3673, "label": "๙" }
}
],
[
{ "$": "case_selector",
"lower": { "code": 3654, "label": "ๆ" },
"upper": { "code": 3664, "label": "" }
},
{ "$": "case_selector",
"lower": { "code": 3652, "label": "ไ" },
"upper": { "code": 34, "label": "\"" }
},
{ "$": "case_selector",
"lower": { "code": 3635, "label": "ำ" },
"upper": { "code": 3598, "label": "ฎ" }
},
{ "$": "case_selector",
"lower": { "code": 3614, "label": "พ" },
"upper": { "code": 3601, "label": "ฑ" }
},
{ "$": "case_selector",
"lower": { "code": 3632, "label": "ะ" },
"upper": { "code": 3608, "label": "ธ" }
},
{ "$": "case_selector",
"lower": { "code": 3633, "label": "ั" },
"upper": { "code": 3661, "label": "ํ" }
},
{ "$": "case_selector",
"lower": { "code": 3637, "label": "ี" },
"upper": { "code": 3658, "label": "๊" }
},
{ "$": "case_selector",
"lower": { "code": 3619, "label": "ร" },
"upper": { "code": 3603, "label": "ณ" }
},
{ "$": "case_selector",
"lower": { "code": 3609, "label": "น" },
"upper": { "code": 3631, "label": "ฯ" }
},
{ "$": "case_selector",
"lower": { "code": 3618, "label": "ย" },
"upper": { "code": 3597, "label": "ญ" }
},
{ "$": "case_selector",
"lower": { "code": 3610, "label": "บ" },
"upper": { "code": 3600, "label": "ฐ" }
},
{ "$": "case_selector",
"lower": { "code": 3621, "label": "ล" },
"upper": { "code": 44, "label": "," }
}
],
[
{ "$": "case_selector",
"lower": { "code": 3615, "label": "ฟ" },
"upper": { "code": 3620, "label": "ฤ" }
},
{ "$": "case_selector",
"lower": { "code": 3627, "label": "ห" },
"upper": { "code": 3590, "label": "ฆ" }
},
{ "$": "case_selector",
"lower": { "code": 3585, "label": "ก" },
"upper": { "code": 3599, "label": "ฏ" }
},
{ "$": "case_selector",
"lower": { "code": 3604, "label": "ด" },
"upper": { "code": 3650, "label": "โ" }
},
{ "$": "case_selector",
"lower": { "code": 3648, "label": "เ" },
"upper": { "code": 3596, "label": "ฌ" }
},
{ "$": "case_selector",
"lower": { "code": 3657, "label": "้" },
"upper": { "code": 3655, "label": "็" }
},
{ "$": "case_selector",
"lower": { "code": 3656, "label": "่" },
"upper": { "code": 3659, "label": "๋" }
},
{ "$": "case_selector",
"lower": { "code": 3634, "label": "า" },
"upper": { "code": 3625, "label": "ษ" }
},
{ "$": "case_selector",
"lower": { "code": 3626, "label": "ส" },
"upper": { "code": 3624, "label": "ศ" }
},
{ "$": "case_selector",
"lower": { "code": 3623, "label": "ว" },
"upper": { "code": 3595, "label": "ซ" }
},
{ "$": "case_selector",
"lower": { "code": 3591, "label": "ง" },
"upper": { "code": 46, "label": "." }
},
{ "$": "case_selector",
"lower": { "code": 3587, "label": "ฃ" },
"upper": { "code": 3589, "label": "ฅ" }
}
],
[
{ "$": "case_selector",
"lower": { "code": 3612, "label": "ผ" },
"upper": { "code": 40, "label": "(" }
},
{ "$": "case_selector",
"lower": { "code": 3611, "label": "ป" },
"upper": { "code": 41, "label": ")" }
},
{ "$": "case_selector",
"lower": { "code": 3649, "label": "แ" },
"upper": { "code": 3593, "label": "ฉ" }
},
{ "$": "case_selector",
"lower": { "code": 3629, "label": "อ" },
"upper": { "code": 3630, "label": "ฮ" }
},
{ "$": "case_selector",
"lower": { "code": 3636, "label": "ิ" },
"upper": { "code": 3642, "label": "ฺ" }
},
{ "$": "case_selector",
"lower": { "code": 3639, "label": "ื" },
"upper": { "code": 3660, "label": "์" }
},
{ "$": "case_selector",
"lower": { "code": 3607, "label": "ท" },
"upper": { "code": 63, "label": "?" }
},
{ "$": "case_selector",
"lower": { "code": 3617, "label": "ม" },
"upper": { "code": 3602, "label": "ฒ" }
},
{ "$": "case_selector",
"lower": { "code": 3651, "label": "ใ" },
"upper": { "code": 3628, "label": "ฬ" }
},
{ "$": "case_selector",
"lower": { "code": 3613, "label": "ฝ" },
"upper": { "code": 3622, "label": "ฦ" }
}
]
]

View File

@@ -0,0 +1,144 @@
[
[
{ "$": "case_selector",
"lower": { "code": 3651, "label": "ใ" },
"upper": { "code": 3602, "label": "ฒ" }
},
{ "$": "case_selector",
"lower": { "code": 3605, "label": "ต" },
"upper": { "code": 3599, "label": "ฏ" }
},
{ "$": "case_selector",
"lower": { "code": 3627, "label": "ห" },
"upper": { "code": 3595, "label": "ซ" }
},
{ "$": "case_selector",
"lower": { "code": 3621, "label": "ล" },
"upper": { "code": 3597, "label": "ญ" }
},
{ "$": "case_selector",
"lower": { "code": 3626, "label": "ส" },
"upper": { "code": 3615, "label": "ฟ" }
},
{ "$": "case_selector",
"lower": { "code": 3611, "label": "ป" },
"upper": { "code": 3593, "label": "ฉ" }
},
{ "$": "case_selector",
"lower": { "code": 3633, "label": "ั" },
"upper": { "code": 3638, "label": "ึ" }
},
{ "$": "case_selector",
"lower": { "code": 3585, "label": "ก" },
"upper": { "code": 3608, "label": "ธ" }
},
{ "$": "case_selector",
"lower": { "code": 3636, "label": "ิ" },
"upper": { "code": 3600, "label": "ฐ" }
},
{ "$": "case_selector",
"lower": { "code": 3610, "label": "บ" },
"upper": { "code": 3598, "label": "ฎ" }
},
{ "$": "case_selector",
"lower": { "code": 3655, "label": "็" },
"upper": { "code": 3590, "label": "ฆ" }
},
{ "$": "case_selector",
"lower": { "code": 3628, "label": "ฬ" },
"upper": { "code": 3601, "label": "ฑ" }
},
{ "$": "case_selector",
"lower": { "code": 3631, "label": "ฯ" },
"upper": { "code": 3596, "label": "ฌ" }
}
],
[
{ "$": "case_selector",
"lower": { "code": 3591, "label": "ง" },
"upper": { "code": 3625, "label": "ษ" }
},
{ "$": "case_selector",
"lower": { "code": 3648, "label": "เ" },
"upper": { "code": 3606, "label": "ถ" }
},
{ "$": "case_selector",
"lower": { "code": 3619, "label": "ร" },
"upper": { "code": 3649, "label": "แ" }
},
{ "$": "case_selector",
"lower": { "code": 3609, "label": "น" },
"upper": { "code": 3594, "label": "ช" }
},
{ "$": "case_selector",
"lower": { "code": 3617, "label": "ม" },
"upper": { "code": 3614, "label": "พ" }
},
{ "$": "case_selector",
"lower": { "code": 3629, "label": "อ" },
"upper": { "code": 3612, "label": "ผ" }
},
{ "$": "case_selector",
"lower": { "code": 3634, "label": "า" },
"upper": { "code": 3635, "label": "ำ" }
},
{ "$": "case_selector",
"lower": { "code": 3656, "label": "่" },
"upper": { "code": 3586, "label": "ข" }
},
{ "$": "case_selector",
"lower": { "code": 3657, "label": "้" },
"upper": { "code": 3650, "label": "โ" }
},
{ "$": "case_selector",
"lower": { "code": 3623, "label": "ว" },
"upper": { "code": 3616, "label": "ภ" }
},
{ "$": "case_selector",
"lower": { "code": 3639, "label": "ื" },
"upper": { "code": 34, "label": "\"" }
}
],
[
{ "$": "case_selector",
"lower": { "code": 3640, "label": "ุ" },
"upper": { "code": 3620, "label": "ฤ" }
},
{ "$": "case_selector",
"lower": { "code": 3652, "label": "ไ" },
"upper": { "code": 3613, "label": "ฝ" }
},
{ "$": "case_selector",
"lower": { "code": 3607, "label": "ท" },
"upper": { "code": 3654, "label": "ๆ" }
},
{ "$": "case_selector",
"lower": { "code": 3618, "label": "ย" },
"upper": { "code": 3603, "label": "ณ" }
},
{ "$": "case_selector",
"lower": { "code": 3592, "label": "จ" },
"upper": { "code": 3658, "label": "๊" }
},
{ "$": "case_selector",
"lower": { "code": 3588, "label": "ค" },
"upper": { "code": 3659, "label": "๋" }
},
{ "$": "case_selector",
"lower": { "code": 3637, "label": "ี" },
"upper": { "code": 3660, "label": "์" }
},
{ "$": "case_selector",
"lower": { "code": 3604, "label": "ด" },
"upper": { "code": 3624, "label": "ศ" }
},
{ "$": "case_selector",
"lower": { "code": 3632, "label": "ะ" },
"upper": { "code": 3630, "label": "ฮ" }
},
{ "$": "case_selector",
"lower": { "code": 3641, "label": "ู" },
"upper": { "code": 63, "label": "?" }
}
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 287, "label": "ğ" },
{ "$": "case_selector",
"lower": { "code": 305, "label": "ı" },
"upper": { "code": 73, "label": "I" }
},
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" }
],
[
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "case_selector",
"lower": { "code": 105, "label": "i" },
"upper": { "code": 304, "label": "İ" }
},
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 252, "label": "ü" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 351, "label": "ş" }
],
[
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 231, "label": "ç" },
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 120, "label": "x" }
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "case_selector",
"lower": { "code": 305, "label": "ı" },
"upper": { "code": 73, "label": "I" }
},
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "auto_text_key", "code": 287, "label": "ğ" },
{ "$": "auto_text_key", "code": 252, "label": "ü" }
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" },
{ "$": "auto_text_key", "code": 351, "label": "ş" },
{ "$": "case_selector",
"lower": { "code": 105, "label": "i" },
"upper": { "code": 304, "label": "İ" }
}
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 246, "label": "ö" },
{ "$": "auto_text_key", "code": 231, "label": "ç" }
]
]

View File

@@ -0,0 +1,34 @@
[
[
{ "code": 1602, "label": "ق" },
{ "code": 1608, "label": "و" },
{ "code": 1593, "label": "ع" },
{ "code": 1585, "label": "ر" },
{ "code": 1587, "label": "ت" },
{ "code": 1746, "label": "ے" },
{ "code": 1569, "label": "ء" },
{ "code": 1740, "label": "ی" },
{ "code": 1607, "label": "ه" },
{ "code": 1662, "label": "پ" }
],
[
{ "code": 1575, "label": "ا" },
{ "code": 1587, "label": "س" },
{ "code": 1583, "label": "د" },
{ "code": 1601, "label": "ف" },
{ "code": 1711, "label": "گ" },
{ "code": 1581, "label": "ح" },
{ "code": 1580, "label": "ج" },
{ "code": 1705, "label": "ک" },
{ "code": 1604, "label": "ل" }
],
[
{ "code": 1584, "label": "ذ" },
{ "code": 1588, "label": "ش" },
{ "code": 1670, "label": "چ" },
{ "code": 1591, "label": "ط" },
{ "code": 1576, "label": "پ" },
{ "code": 1606, "label": "ن" },
{ "code": 1605, "label": "م" }
]
]

View File

@@ -0,0 +1,50 @@
[
[
{ "$": "auto_text_key", "code": 71876, "label": "𑣄" },
{ "$": "auto_text_key", "code": 71878, "label": "𑣆" },
{ "$": "auto_text_key", "code": 71880, "label": "𑣈" },
{ "$": "auto_text_key", "code": 71900, "label": "𑣜" },
{ "$": "auto_text_key", "code": 71899, "label": "𑣛" },
{ "$": "auto_text_key", "code": 71890, "label": "𑣒" },
{ "$": "auto_text_key", "code": 71877, "label": "𑣅" },
{ "$": "auto_text_key", "code": 71875, "label": "𑣃" },
{ "$": "auto_text_key", "code": 71874, "label": "𑣂" },
{ "$": "auto_text_key", "code": 71881, "label": "𑣉" },
{ "$": "auto_text_key", "code": 71896, "label": "𑣘" }
],
[
{ "$": "auto_text_key", "code": 71873, "label": "𑣁" },
{ "$": "auto_text_key", "code": 71902, "label": "𑣞", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 71901, "label": "𑣝" }
]
} },
{ "$": "auto_text_key", "code": 71889, "label": "𑣑" },
{ "$": "auto_text_key", "code": 71892, "label": "𑣔" },
{ "$": "auto_text_key", "code": 71883, "label": "𑣋" },
{ "$": "auto_text_key", "code": 71882, "label": "𑣊" },
{ "$": "auto_text_key", "code": 71897, "label": "𑣙" },
{ "$": "auto_text_key", "code": 71886, "label": "𑣎" },
{ "$": "auto_text_key", "code": 71884, "label": "𑣌" },
{ "$": "auto_text_key", "code": 71898, "label": "𑣚" }
],
[
{ "$": "auto_text_key", "code": 71893, "label": "𑣕" },
{ "$": "auto_text_key", "code": 71879, "label": "𑣇" },
{ "$": "auto_text_key", "code": 71887, "label": "𑣏" },
{ "$": "auto_text_key", "code": 71872, "label": "𑣀" },
{ "$": "auto_text_key", "code": 71885, "label": "𑣍" },
{ "$": "auto_text_key", "code": 71888, "label": "𑣐" },
{ "$": "auto_text_key", "code": 71895, "label": "𑣗", "popup": {
"relevant": [
{ "$": "auto_text_key", "code": 71903, "label": "𑣟" }
]
} },
{ "$": "auto_text_key", "code": 71891, "label": "𑣓" },
{ "$": "auto_text_key", "code": 71894, "label": "𑣖", "popup": {
"relevant": [
{ "code": 71935, "label": "𑣿" }
]
} }
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "$": "auto_text_key", "code": 113, "label": "q" },
{ "$": "auto_text_key", "code": 100, "label": "d" },
{ "$": "auto_text_key", "code": 114, "label": "r" },
{ "$": "auto_text_key", "code": 119, "label": "w" },
{ "$": "auto_text_key", "code": 98, "label": "b" },
{ "$": "auto_text_key", "code": 106, "label": "j" },
{ "$": "auto_text_key", "code": 102, "label": "f" },
{ "$": "auto_text_key", "code": 117, "label": "u" },
{ "$": "auto_text_key", "code": 112, "label": "p" },
{ "$": "case_selector",
"lower": { "code": 59, "label": ";", "popup": {
"relevant": [
{ "code": 58, "label": ":" }
]
} },
"upper": { "code": 58, "label": ":", "popup": {
"relevant": [
{ "code": 59, "label": ";" }
]
} }
}
],
[
{ "$": "auto_text_key", "code": 97, "label": "a" },
{ "$": "auto_text_key", "code": 115, "label": "s" },
{ "$": "auto_text_key", "code": 104, "label": "h" },
{ "$": "auto_text_key", "code": 116, "label": "t" },
{ "$": "auto_text_key", "code": 103, "label": "g" },
{ "$": "auto_text_key", "code": 121, "label": "y" },
{ "$": "auto_text_key", "code": 110, "label": "n" },
{ "$": "auto_text_key", "code": 101, "label": "e" },
{ "$": "auto_text_key", "code": 111, "label": "o" },
{ "$": "auto_text_key", "code": 105, "label": "i" }
],
[
{ "$": "auto_text_key", "code": 122, "label": "z" },
{ "$": "auto_text_key", "code": 120, "label": "x" },
{ "$": "auto_text_key", "code": 109, "label": "m" },
{ "$": "auto_text_key", "code": 99, "label": "c" },
{ "$": "auto_text_key", "code": 118, "label": "v" },
{ "$": "auto_text_key", "code": 107, "label": "k" },
{ "$": "auto_text_key", "code": 108, "label": "l" }
]
]

View File

@@ -0,0 +1,19 @@
[
[
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "variation_selector",
"default": { "code": 1548, "label": "،", "groupId": 1 },
"email": { "code": 64, "label": "@", "groupId": 1 },
"uri": { "code": 47, "label": "/", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "code": 46, "label": ".", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,20 @@
[
[
{ "code": -11, "label": "shift", "type": "modifier" },
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "variation_selector",
"default": { "code": 44, "label": ",", "groupId": 1 },
"email": { "code": 64, "label": "@", "groupId": 1 },
"uri": { "code": 47, "label": "/", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "code": 46, "label": ".", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,16 @@
[
[
{ "code": -11, "label": "shift", "type": "modifier" },
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "auto_text_key", "code": 113, "label": "q", "groupId": 1 },
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "$": "auto_text_key", "code": 122, "label": "z", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,19 @@
[
[
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "variation_selector",
"default": { "code": 44, "label": ",", "groupId": 1 },
"email": { "code": 64, "label": "@", "groupId": 1 },
"uri": { "code": 47, "label": "/", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "code": 46, "label": ".", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,22 @@
[
[
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "char_width_selector",
"full": { "code": 12289, "label": "、", "groupId": 1 },
"half": { "code": 65380, "label": "、", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 12288, "label": "空白" },
{ "code": -9710, "label": "かな", "groupId": 97, "type": "system_gui" },
{ "$": "char_width_selector",
"full": { "code": 12290, "label": "。", "groupId": 2 },
"half": { "code": 65377, "label": "。", "groupId": 2 }
},
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,23 @@
[
[
{ "code": 1600, "label": "kashida", "popup":
{ "main": { "code": 8204, "label": "half_space" }
} },
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "variation_selector",
"default": { "code": 1548, "label": "،", "groupId": 1 },
"password": { "code": 35, "label": "#", "groupId": 1 },
"email": { "code": 64, "label": "@", "groupId": 1 },
"uri": { "code": 47, "label": "/", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": " " },
{ "code": 46, "label": ".", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,46 @@
[
[
{ "code": -11, "label": "shift", "type": "modifier" },
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "$": "variation_selector",
"default": { "code": 44, "label": ",", "groupId": 1,
"popup": {
"main": { "code": 34, "label": "\"" },
"relevant": [
{ "code": 8211, "label": "" }
]
} },
"email": { "code": 64, "label": "@", "groupId": 1,
"popup": {
"relevant": [
{ "code": 44, "label": "," }
]
} },
"uri": { "code": 47, "label": "/", "groupId": 1,
"popup": {
"relevant": [
{ "code": 44, "label": "," }
]
} }
},
{ "$": "variation_selector",
"default": { "code": 46, "label": ".", "groupId": 2,
"popup": {
"relevant": [
{ "code": 183, "label": "·" },
{ "code": 39, "label": "'" }
]
} },
"email": { "code": 46, "label": ".", "groupId": 2 },
"uri": { "code": 46, "label": ".", "groupId": 2 }
},
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,21 @@
[
[
{ "code": 0, "type": "placeholder" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "$": "variation_selector",
"default": { "code": 1548, "label": "،", "groupId": 1 },
"email": { "code": 64, "label": "@", "groupId": 1 },
"uri": { "code": 47, "label": "/", "groupId": 1 }
},
{ "code": -227, "label": "language_switch", "type": "system_gui" },
{ "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
{ "code": 32, "label": "space" },
{ "code": 8204, "label": "half_space" },
{ "code": 1600, "label": "kashida" },
{ "code": 46, "label": ".", "groupId": 2 },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,12 @@
[
[
{ "code": -35, "label": "clipboard_select_all", "type": "enter_editing" },
{ "code": -31, "label": "clipboard_copy", "type": "enter_editing" },
{ "code": -32, "label": "clipboard_cut", "type": "enter_editing" },
{ "code": -21, "label": "arrow_left", "type": "navigation" },
{ "code": -22, "label": "arrow_right", "type": "navigation" },
{ "code": -33, "label": "clipboard_paste", "type": "enter_editing" },
{ "code": -38, "label": "clipboard_clear_primary_clip", "type": "system_gui"},
{ "code": -213, "label": "ime_ui_mode_clipboard", "type": "system_gui"}
]
]

View File

@@ -0,0 +1,28 @@
[
[
{ "code": 49, "label": "1", "type": "numeric" },
{ "code": 50, "label": "2", "type": "numeric" },
{ "code": 51, "label": "3", "type": "numeric" },
{ "code": 45, "label": "-" }
],
[
{ "code": 52, "label": "4", "type": "numeric" },
{ "code": 53, "label": "5", "type": "numeric" },
{ "code": 54, "label": "6", "type": "numeric" },
{ "code": 32, "label": "space" }
],
[
{ "code": 55, "label": "7", "type": "numeric" },
{ "code": 56, "label": "8", "type": "numeric" },
{ "code": 57, "label": "9", "type": "numeric" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": 44, "label": "," },
{ "code": 48, "label": "0", "type": "numeric", "popup": {
"main": { "code": 43, "label": "+" }
} },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,28 @@
[
[
{ "code": 55, "label": "7", "type": "numeric" },
{ "code": 56, "label": "8", "type": "numeric" },
{ "code": 57, "label": "9", "type": "numeric" },
{ "code": 45, "label": "-" }
],
[
{ "code": 52, "label": "4", "type": "numeric" },
{ "code": 53, "label": "5", "type": "numeric" },
{ "code": 54, "label": "6", "type": "numeric" },
{ "code": 32, "label": "space" }
],
[
{ "code": 49, "label": "1", "type": "numeric" },
{ "code": 50, "label": "2", "type": "numeric" },
{ "code": 51, "label": "3", "type": "numeric" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": 44, "label": "," },
{ "code": 48, "label": "0", "type": "numeric", "popup": {
"main": { "code": 43, "label": "+" }
} },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,48 @@
[
[
{ "code": 43, "label": "+", "popup": {
"relevant": [
{ "code": 45, "label": "-" },
{ "code": 42, "label": "*" },
{ "code": 47, "label": "/" }
]
} },
{ "code": 49, "label": "1", "type": "numeric" },
{ "code": 50, "label": "2", "type": "numeric" },
{ "code": 51, "label": "3", "type": "numeric" },
{ "code": 37, "label": "%" }
],
[
{ "code": 40, "label": "(", "popup": {
"relevant": [
{ "code": 91, "label": "[" },
{ "code": 123, "label": "{" }
]
} },
{ "code": 52, "label": "4", "type": "numeric" },
{ "code": 53, "label": "5", "type": "numeric" },
{ "code": 54, "label": "6", "type": "numeric" },
{ "code": 32, "label": "space" }
],
[
{ "code": 41, "label": ")", "popup": {
"relevant": [
{ "code": 93, "label": "]" },
{ "code": 125, "label": "}" }
]
} },
{ "code": 55, "label": "7", "type": "numeric" },
{ "code": 56, "label": "8", "type": "numeric" },
{ "code": 57, "label": "9", "type": "numeric" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -201, "label": "view_characters", "type": "system_gui" },
{ "code": 44, "label": "," },
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "code": 48, "label": "0", "type": "numeric" },
{ "code": 61, "label": "=" },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,48 @@
[
[
{ "code": 43, "label": "+", "popup": {
"relevant": [
{ "code": 45, "label": "-" },
{ "code": 42, "label": "*" },
{ "code": 47, "label": "/" }
]
} },
{ "code": 55, "label": "7", "type": "numeric" },
{ "code": 56, "label": "8", "type": "numeric" },
{ "code": 57, "label": "9", "type": "numeric" },
{ "code": 37, "label": "%" }
],
[
{ "code": 40, "label": "(", "popup": {
"relevant": [
{ "code": 91, "label": "[" },
{ "code": 123, "label": "{" }
]
} },
{ "code": 52, "label": "4", "type": "numeric" },
{ "code": 53, "label": "5", "type": "numeric" },
{ "code": 54, "label": "6", "type": "numeric" },
{ "code": 32, "label": "space" }
],
[
{ "code": 41, "label": ")", "popup": {
"relevant": [
{ "code": 93, "label": "]" },
{ "code": 125, "label": "}" }
]
} },
{ "code": 49, "label": "1", "type": "numeric" },
{ "code": 50, "label": "2", "type": "numeric" },
{ "code": 51, "label": "3", "type": "numeric" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -201, "label": "view_characters", "type": "system_gui" },
{ "code": 44, "label": "," },
{ "code": -202, "label": "view_symbols", "type": "system_gui" },
{ "code": 48, "label": "0", "type": "numeric" },
{ "code": 61, "label": "=" },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 2535, "label": "১", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 2536, "label": "২", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2537, "label": "৩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 2538, "label": "", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 2539, "label": "৫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 2540, "label": "৬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 2541, "label": "", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2542, "label": "৮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2543, "label": "৯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2534, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,101 @@
[
[
{ "code": 19968, "label": "一", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 22769, "label": "壱" },
{ "code": 22777, "label": "壹" },
{ "code": 24332, "label": "弌" },
{ "code": 65297, "label": "" }
]
} },
{ "code": 20108, "label": "二", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 24336, "label": "弐" },
{ "code": 36019, "label": "貳" },
{ "code": 36014, "label": "貮" },
{ "code": 65298, "label": "" }
]
} },
{ "code": 19977, "label": "三", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 21442, "label": "参" },
{ "code": 21443, "label": "參" },
{ "code": 24334, "label": "弎" },
{ "code": 65299, "label": "" }
]
} },
{ "code": 22235, "label": "四", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 32902, "label": "肆" },
{ "code": 18825, "label": "䦉" },
{ "code": 20118, "label": "亖" },
{ "code": 65300, "label": "" }
]
} },
{ "code": 20116, "label": "五", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 20237, "label": "伍" },
{ "code": 65301, "label": "" }
]
} },
{ "code": 20845, "label": "六", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 38520, "label": "陸" },
{ "code": 65302, "label": "" }
]
} },
{ "code": 19971, "label": "七", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 28422, "label": "漆" },
{ "code": 26578, "label": "柒" },
{ "code": 65303, "label": "" }
]
} },
{ "code": 20843, "label": "八", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 25420, "label": "捌" },
{ "code": 65304, "label": "" }
]
} },
{ "code": 20061, "label": "九", "type": "numeric", "popup": {
"main": {"code": 57, "label": "9" },
"relevant": [
{ "code": 29590, "label": "玖" },
{ "code": 65305, "label": "" }
]
} },
{ "code": 38646, "label": "零", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 12295, "label": "" },
{ "code": 65296, "label": "" }
]
} },
{ "code": 21313, "label": "十", "type": "numeric", "popup": {
"main": { "code": 25342, "label": "拾" },
"relevant": [
{ "code": 20160, "label": "什" }
]
} },
{ "code": 30334, "label": "百", "type": "numeric", "popup": {
"main": { "code": 20336, "label": "佰" },
"relevant": [
{ "code": 38476, "label": "陌" }
]
} },
{ "code": 21315, "label": "千", "type": "numeric", "popup": {
"main": { "code": 20191, "label": "仟" },
"relevant": [
{ "code": 38433, "label": "阡" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 2407, "label": "१", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 2408, "label": "२", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2409, "label": "३", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 2410, "label": "४", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 2411, "label": "५", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 2412, "label": "६", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 2413, "label": "७", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2414, "label": "८", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2415, "label": "९", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2406, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 1633, "label": "١", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 1634, "label": "٢", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 1635, "label": "٣", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 1636, "label": "٤", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 1637, "label": "٥", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 1638, "label": "٦", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 1639, "label": "٧", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 1640, "label": "٨", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 1641, "label": "٩", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 1632, "label": "٠", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 2791, "label": "૧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 2792, "label": "૨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2793, "label": "૩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 2794, "label": "૪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 2795, "label": "૫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 2796, "label": "૬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 2797, "label": "૭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2798, "label": "૮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2799, "label": "૯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2790, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 2663, "label": "", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 2664, "label": "੨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2665, "label": "੩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 2666, "label": "", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 2667, "label": "੫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 2668, "label": "੬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 2669, "label": "੭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2670, "label": "੮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2671, "label": "੯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2662, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 3303, "label": "೧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 3304, "label": "೨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3305, "label": "೩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 3306, "label": "೪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 3307, "label": "೫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3308, "label": "೬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 3309, "label": "೭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3310, "label": "೮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3311, "label": "೯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3302, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 3431, "label": "൧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 3432, "label": "൨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3433, "label": "൩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 3434, "label": "൪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 3435, "label": "൫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3436, "label": "൬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 3437, "label": "", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3438, "label": "൮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3439, "label": "൯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3430, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,73 @@
[
[
{ "code": 49, "label": "1", "type": "numeric", "popup": {
"relevant": [
{ "code": 176, "label": "°" },
{ "code": 185, "label": "¹" }
]
} },
{ "code": 50, "label": "2", "type": "numeric", "popup": {
"relevant": [
{ "code": 167, "label": "§" },
{ "code": 178, "label": "²" }
]
} },
{ "code": 51, "label": "3", "type": "numeric", "popup": {
"relevant": [
{ "code": 8467, "label": "" },
{ "code": 179, "label": "³" }
]
} },
{ "code": 52, "label": "4", "type": "numeric", "popup": {
"relevant": [
{ "code": 187, "label": "»" },
{ "code": 8250, "label": "" }
]
} },
{ "code": 53, "label": "5", "type": "numeric", "popup": {
"relevant": [
{ "code": 171, "label": "«" },
{ "code": 8249, "label": "" }
]
} },
{ "code": 54, "label": "6", "type": "numeric", "popup": {
"relevant": [
{ "code": 36, "label": "$" },
{ "code": 162, "label": "¢" }
]
} },
{ "code": 55, "label": "7", "type": "numeric", "popup": {
"main": { "code": -801, "label": "currency_slot_1" },
"relevant": [
{ "code": -802, "label": "currency_slot_2" },
{ "code": -803, "label": "currency_slot_3" },
{ "code": -804, "label": "currency_slot_4" },
{ "code": -805, "label": "currency_slot_5" },
{ "code": -806, "label": "currency_slot_6" }
]
} },
{ "code": 56, "label": "8", "type": "numeric", "popup": {
"relevant": [
{ "code": 8222, "label": "„" },
{ "code": 8218, "label": "" }
]
} },
{ "code": 57, "label": "9", "type": "numeric", "popup": {
"relevant": [
{ "code": 8220, "label": "“" },
{ "code": 8216, "label": "" }
]
} },
{ "code": 48, "label": "0", "type": "numeric", "popup": {
"relevant": [
{ "code": 8221, "label": "”" },
{ "code": 8217, "label": "" }
]
} },
{ "code": 45, "label": "-", "type": "numeric", "popup": {
"relevant": [
{ "code": 8212, "label": "—" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 2919, "label": "୧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 2920, "label": "", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2921, "label": "୩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 2922, "label": "୪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 2923, "label": "୫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 2924, "label": "୬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 2925, "label": "୭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2926, "label": "୮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2927, "label": "୯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2918, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 1777, "label": "۱", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 1778, "label": "۲", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 1779, "label": "۳", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 1780, "label": "۴", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 1781, "label": "۵", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 1782, "label": "۶", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 1783, "label": "۷", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 1784, "label": "۸", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 1785, "label": "۹", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 1776, "label": "۰", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 3047, "label": "௧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 3048, "label": "௨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3049, "label": "௩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 3050, "label": "௪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 3051, "label": "௫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3052, "label": "௬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 3053, "label": "௭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3054, "label": "௮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3055, "label": "௯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3046, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 3175, "label": "౧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 3176, "label": "౨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3177, "label": "౩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 3178, "label": "౪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 3179, "label": "౫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3180, "label": "౬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 3181, "label": "౭", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3182, "label": "౮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3183, "label": "౯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3174, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,68 @@
[
[
{ "code": 3665, "label": "๑", "type": "numeric", "popup": {
"main": { "code": 185, "label": "¹" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 3666, "label": "๒", "type": "numeric", "popup": {
"main": { "code": 178, "label": "²" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3667, "label": "๓", "type": "numeric", "popup": {
"main": { "code": 179, "label": "³" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 3668, "label": "๔", "type": "numeric", "popup": {
"main": { "code": 8308, "label": "⁴" },
"relevant": [
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3669, "label": "๕", "type": "numeric", "popup": {
"main": { "code": 8309, "label": "⁵" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3670, "label": "๖", "type": "numeric", "popup": {
"main": { "code": 8310, "label": "⁶" }
} },
{ "code": 3671, "label": "๗", "type": "numeric", "popup": {
"main": { "code": 8311, "label": "⁷" },
"relevant": [
{ "code": 8542, "label": "⅞" }
]
} },
{ "code": 3672, "label": "๘", "type": "numeric", "popup": {
"main": { "code": 8312, "label": "⁸" }
} },
{ "code": 3672, "label": "๘", "type": "numeric", "popup": {
"main": { "code": 8313, "label": "⁹" }
} },
{ "code": 3664, "label": "", "type": "numeric", "popup": {
"main": { "code": 8304, "label": "⁰" },
"relevant": [
{ "code": 8709, "label": "∅" },
{ "code": 8319, "label": "ⁿ" }
]
} }
]
]

View File

@@ -0,0 +1,84 @@
[
[
{ "code": 71905, "label": "𑣡", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 71906, "label": "𑣢", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 178, "label": "²" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 71907, "label": "𑣣", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 71908, "label": "𑣤", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "⅘" },
{ "code": 8308, "label": "⁴" }
]
} },
{ "code": 71909, "label": "𑣥", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 71910, "label": "𑣦", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8310, "label": "⁶" }
]
} },
{ "code": 71911, "label": "𑣧", "type": "numeric", "popup": {
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 71912, "label": "𑣨", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 71913, "label": "𑣩", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 71904, "label": "𑣠", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "⁰" }
]
} }
]
]

View File

@@ -0,0 +1,68 @@
[
[
{ "code": 49, "label": "1", "type": "numeric", "popup": {
"main": { "code": 185, "label": "¹" },
"relevant": [
{ "code": 8537, "label": "⅙" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
]
} },
{ "code": 50, "label": "2", "type": "numeric", "popup": {
"main": { "code": 178, "label": "²" },
"relevant": [
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 51, "label": "3", "type": "numeric", "popup": {
"main": { "code": 179, "label": "³" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 8540, "label": "⅜" }
]
} },
{ "code": 52, "label": "4", "type": "numeric", "popup": {
"main": { "code": 8308, "label": "⁴" },
"relevant": [
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 53, "label": "5", "type": "numeric", "popup": {
"main": { "code": 8309, "label": "⁵" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 54, "label": "6", "type": "numeric", "popup": {
"main": { "code": 8310, "label": "⁶" }
} },
{ "code": 55, "label": "7", "type": "numeric", "popup": {
"main": { "code": 8311, "label": "⁷" },
"relevant": [
{ "code": 8542, "label": "⅞" }
]
} },
{ "code": 56, "label": "8", "type": "numeric", "popup": {
"main": { "code": 8312, "label": "⁸" }
} },
{ "code": 57, "label": "9", "type": "numeric", "popup": {
"main": { "code": 8313, "label": "⁹" }
} },
{ "code": 48, "label": "0", "type": "numeric", "popup": {
"main": { "code": 8304, "label": "⁰" },
"relevant": [
{ "code": 8709, "label": "∅" },
{ "code": 8319, "label": "ⁿ" }
]
} }
]
]

View File

@@ -0,0 +1,28 @@
[
[
{ "code": 49, "label": "1", "type": "numeric" },
{ "code": 50, "label": "2", "type": "numeric" },
{ "code": 51, "label": "3", "type": "numeric" },
{ "code": 45, "label": "-" }
],
[
{ "code": 52, "label": "4", "type": "numeric" },
{ "code": 53, "label": "5", "type": "numeric" },
{ "code": 54, "label": "6", "type": "numeric" },
{ "code": 32, "label": "space" }
],
[
{ "code": 55, "label": "7", "type": "numeric" },
{ "code": 56, "label": "8", "type": "numeric" },
{ "code": 57, "label": "9", "type": "numeric" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -207, "label": "view_phone2", "type": "system_gui" },
{ "code": 48, "label": "0", "type": "numeric", "popup": {
"main": { "code": 43, "label": "+" }
} },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,26 @@
[
[
{ "code": 40, "label": "(" },
{ "code": 47, "label": "/" },
{ "code": 41, "label": ")" },
{ "code": 45, "label": "-" }
],
[
{ "code": 78, "label": "N" },
{ "code": 44, "label": "pause", "type": "system_gui" },
{ "code": 44, "label": "," },
{ "code": 32, "label": "space" }
],
[
{ "code": 42, "label": "*" },
{ "code": 59, "label": "wait", "type": "system_gui" },
{ "code": 35, "label": "#" },
{ "code": -7, "label": "delete", "type": "enter_editing" }
],
[
{ "code": -206, "label": "view_phone", "type": "system_gui" },
{ "code": 43, "label": "+" },
{ "code": 46, "label": "." },
{ "code": 10, "label": "enter", "type": "enter_editing" }
]
]

View File

@@ -0,0 +1,275 @@
[
[
{
"$": "char_width_selector",
"full": { "code": 65312, "label": "", "popup": {
"main": { "code": 64, "label": "@" }
}
},
"half": { "code": 64, "label": "@" }
},
{ "code": 12306, "label": "〒", "popup": {
"main": { "code": 12320, "label": "〠" }
}
},
{
"$": "char_width_selector",
"full": { "code": 65283, "label": "", "popup": {
"main": { "code": 35, "label": "#" },
"relevant": [
{ "code": 8470, "label": "№" }
]
}
},
"half": { "code": 35, "label": "#", "popup": {
"main": { "code": 65283, "label": "" },
"relevant": [
{ "code": 8470, "label": "№" }
]
}
}
},
{ "code": -801, "label": "currency_slot_1", "popup": {
"main": { "code": -802, "label": "currency_slot_2" },
"relevant": [
{ "code": -806, "label": "currency_slot_6" },
{ "code": -803, "label": "currency_slot_3" },
{ "code": -804, "label": "currency_slot_4" },
{ "code": -805, "label": "currency_slot_5" }
]
}
},
{
"$": "char_width_selector",
"full": { "code": 65285, "label": "", "popup": {
"main": { "code": 37, "label": "%" },
"relevant": [
{ "code": 8240, "label": "‰" },
{ "code": 8453, "label": "℅" }
]
}
},
"half": { "code": 37, "label": "%", "popup": {
"main": { "code": 65285, "label": "" },
"relevant": [
{ "code": 8240, "label": "‰" },
{ "code": 8453, "label": "℅" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65286, "label": "", "popup": {
"main": { "code": 38, "label": "&" }
}
},
"half": { "code": 38, "label": "&", "popup": {
"main": { "code": 65286, "label": "" }
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65293, "label": "", "popup": {
"main": { "code": 65343, "label": "_" },
"relevant": [
{ "code": 45, "label": "-" },
{ "code": 95, "label": "_" },
{ "code": 8212, "label": "—" },
{ "code": 8211, "label": "" },
{ "code": 183, "label": "·" }
]
}
},
"half": { "code": 45, "label": "-", "popup": {
"main": { "code": 95, "label": "_" },
"relevant": [
{ "code": 65293, "label": "" },
{ "code": 65343, "label": "_" },
{ "code": 8212, "label": "—" },
{ "code": 8211, "label": "" },
{ "code": 183, "label": "·" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65291, "label": "", "popup": {
"main": { "code": 43, "label": "+" },
"relevant": [
{ "code": 177, "label": "±" }
]
}
},
"half": { "code": 43, "label": "+", "popup": {
"main": { "code": 65291, "label": "" },
"relevant": [
{ "code": 177, "label": "±" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 12300, "label": "「", "popup": {
"main": { "code": 12302, "label": "『" },
"relevant": [
{ "code": 12304, "label": "【" },
{ "code": 12310, "label": "〖" }
]
}
},
"half": { "code": 65378, "label": "「", "popup": {
"main": { "code": 12301, "label": "」" },
"relevant": [
{ "code": 12303, "label": "』" },
{ "code": 12304, "label": "【" },
{ "code": 12310, "label": "〖" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 12301, "label": "」", "popup": {
"main": { "code": 12303, "label": "』" },
"relevant": [
{ "code": 12305, "label": "】" },
{ "code": 12311, "label": "〗" }
]
}
},
"half": { "code": 65379, "label": "」", "popup": {
"main": { "code": 12301, "label": "」" },
"relevant": [
{ "code": 12303, "label": "』" },
{ "code": 12305, "label": "】" },
{ "code": 12311, "label": "〗" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65295, "label": "", "popup": {
"main": { "code": 47, "label": "/" }
}
},
"half": { "code": 47, "label": "/", "popup": {
"main": { "code": 65295, "label": "" }
}
}
}
],
[
{
"$": "char_width_selector",
"full": { "code": 65290, "label": "", "popup": {
"main": { "code": 8251, "label": "※" },
"relevant": [
{ "code": 42, "label": "*" },
{ "code": 8224, "label": "†" },
{ "code": 9733, "label": "★" },
{ "code": 8225, "label": "‡" }
]
}
},
"half": { "code": 42, "label": "*", "popup": {
"main": { "code": 65290, "label": "" },
"relevant": [
{ "code": 8251, "label": "※" },
{ "code": 8224, "label": "†" },
{ "code": 9733, "label": "★" },
{ "code": 8225, "label": "‡" }
]
}
}
},
{ "code": 34, "label": "\"", "popup": {
"main": { "code": 8221, "label": "”" },
"relevant": [
{ "code": 8222, "label": "„" },
{ "code": 8220, "label": "“" },
{ "code": 171, "label": "«" },
{ "code": 187, "label": "»" }
]
}
},
{ "code": 39, "label": "'", "popup": {
"main": { "code": 8217, "label": "" },
"relevant": [
{ "code": 8218, "label": "" },
{ "code": 8216, "label": "" },
{ "code": 8249, "label": "" },
{ "code": 8250, "label": "" }
]
}
},
{
"$": "char_width_selector",
"full": { "code": 65306, "label": "", "popup": {
"main": { "code": 58, "label": ":" },
"relevant": [
{ "code": 8942, "label": "⋮" }
]
}
},
"half": { "code": 58, "label": ":", "popup": {
"main": { "code": 65306, "label": "" },
"relevant": [
{ "code": 8942, "label": "⋮" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65307, "label": "", "popup": {
"main": { "code": 59, "label": ";" }
}
},
"half": { "code": 59, "label": ";", "popup": {
"main": { "code": 65307, "label": "" }
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65281, "label": "", "popup": {
"main": { "code": 33, "label": "!" },
"relevant": [
{ "code": 161, "label": "¡" }
]
}
},
"half": { "code": 33, "label": "!", "popup": {
"main": { "code": 65281, "label": "" },
"relevant": [
{ "code": 161, "label": "¡" }
]
}
}
},
{
"$": "char_width_selector",
"full": { "code": 65311, "label": "", "popup": {
"main": { "code": 63, "label": "?" },
"relevant": [
{ "code": 191, "label": "¿" },
{ "code": 8253, "label": "‽" }
]
}
},
"half": { "code": 63, "label": "?", "popup": {
"main": { "code": 65311, "label": "" },
"relevant": [
{ "code": 191, "label": "¿" },
{ "code": 8253, "label": "‽" }
]
}
}
}
]
]

View File

@@ -0,0 +1,95 @@
[
[
{ "code": 64, "label": "@" },
{ "code": 35, "label": "#", "popup": {
"main": { "code": 8470, "label": "№" }
} },
{ "code": -801, "label": "currency_slot_1", "popup": {
"main": { "code": -802, "label": "currency_slot_2" },
"relevant": [
{ "code": -806, "label": "currency_slot_6" },
{ "code": -803, "label": "currency_slot_3" },
{ "code": -804, "label": "currency_slot_4" },
{ "code": -805, "label": "currency_slot_5" }
]
} },
{ "code": 1642, "label": "٪", "popup": {
"main": { "code": 37, "label": "%" },
"relevant": [
{ "code": 8453, "label": "℅" },
{ "code": 8240, "label": "‰" }
]
} },
{ "code": 38, "label": "&" },
{ "code": 45, "label": "-", "popup": {
"main": { "code": 95, "label": "_" },
"relevant": [
{ "code": 8212, "label": "—" },
{ "code": 8211, "label": "" },
{ "code": 183, "label": "·" }
]
} },
{ "code": 43, "label": "+", "popup": {
"main": { "code": 177, "label": "±" }
} },
{ "code": 40, "label": "(", "popup": {
"main": { "code":64830, "label": "" },
"relevant": [
{ "code": 91, "label": "[" },
{ "code": 60, "label": "<" },
{ "code": 123, "label": "{" }
]
} },
{ "code": 41, "label": ")", "popup": {
"main": { "code":64831, "label": "﴿" },
"relevant": [
{ "code": 93, "label": "]" },
{ "code": 62, "label": ">" },
{ "code": 125, "label": "}" }
]
} },
{ "code": 47, "label": "/" }
],
[
{ "code": 42, "label": "*", "popup": {
"main": { "code": 9733, "label": "★" },
"relevant": [
{ "code": 1645, "label": "٭" }
]
} },
{ "code": 34, "label": "\"", "popup": {
"main": { "code": 8221, "label": "”" },
"relevant": [
{ "code": 8222, "label": "„" },
{ "code": 8220, "label": "“" },
{ "code": 171, "label": "«" },
{ "code": 187, "label": "»" }
]
} },
{ "code": 39, "label": "'", "popup": {
"main": { "code": 8217, "label": "" },
"relevant": [
{ "code": 8218, "label": "" },
{ "code": 8216, "label": "" },
{ "code": 8249, "label": "" },
{ "code": 8250, "label": "" }
]
} },
{ "code": 58, "label": ":", "popup": {
"main": { "code": 8942, "label": "⋮" }
} },
{ "code": 1563, "label": "؛", "popup": {
"main": { "code": 59, "label": ";" }
} },
{ "code": 33, "label": "!", "popup": {
"main": { "code": 161, "label": "¡" }
} },
{ "code": 1567, "label": "؟", "popup": {
"main": { "code": 63, "label": "?" },
"relevant": [
{ "code": 191, "label": "¿" },
{ "code": 8253, "label": "‽" }
]
} }
]
]

View File

@@ -0,0 +1,90 @@
[
[
{ "code": 712, "label": "ˈ", "popup": {
"main": { "code": 716, "label": "ˌ" }
} },
{ "code": 720, "label": "ː", "popup": {
"main": { "code": 721, "label": "ˑ" },
"relevant": [
{ "code": 774, "label": "◌̆" }
]
} },
{ "code": 8599, "label": "↗︎", "popup": {
"main": { "code": 42779, "label": "ꜛ" }
} },
{ "code": 8600, "label": "↘︎", "popup": {
"main": { "code": 42780, "label": "ꜜ" }
} },
{ "code": 745, "label": "˩", "popup": {
"main": { "code": 783, "label": "◌̏" }
} },
{ "code": 744, "label": "˨", "popup": {
"main": { "code": 768, "label": "◌̀" },
"relevant": [
{ "code": 780, "label": "◌̌" }
]
} },
{ "code": 743, "label": "˧", "popup": {
"main": { "code": 772, "label": "◌̄" }
} },
{ "code": 742, "label": "˦", "popup": {
"main": { "code": 769, "label": "◌́" },
"relevant": [
{ "code": 770, "label": "◌̂" }
]
} },
{ "code": 741, "label": "˥", "popup": {
"main": { "code": 779, "label": "◌̋" }
} },
{ "code": 865, "label": "◌͡", "popup": {
"main": { "code": 8255, "label": "‿" }
} }
],
[
{ "code": 776, "label": "◌̈" },
{ "code": 825, "label": "◌̹", "popup": {
"main": { "code": 855, "label": "◌͗" },
"relevant": [
{ "code": 796, "label": "◌̜" },
{ "code": 849, "label": "◌͑" }
]
} },
{ "code": 800, "label": "◌̠", "popup": {
"main": { "code": 727, "label": "◌˗" }
} },
{ "code": 771, "label": "◌̃", "popup": {
"main": { "code": 820, "label": "◌̴" },
"relevant": [
{ "code": 734, "label": "◌˞" }
]
} },
{ "code": 91, "label": "[", "popup": {
"relevant": [
{ "code": 40, "label": "(" },
{ "code": 11816, "label": "⸨" },
{ "code": 10214, "label": "⟦" },
{ "code": 10216, "label": "⟨" },
{ "code": 10218, "label": "⟩" },
{ "code": 123, "label": "{" }
]
} },
{ "code": 93, "label": "]", "popup": {
"relevant": [
{ "code": 41, "label": ")" },
{ "code": 11817, "label": "⸩" },
{ "code": 10215, "label": "⟦" },
{ "code": 10217, "label": "⟩" },
{ "code": 10219, "label": "⟫" },
{ "code": 125, "label": "}" }
]
} },
{ "code": 47, "label": "/", "popup": {
"main": { "code": 92, "label": "\\" },
"relevant": [
{ "code": 11005, "label": "⫽" },
{ "code": 8214, "label": "‖" },
{ "code": 124, "label": "|" }
]
} }
]
]

View File

@@ -0,0 +1,38 @@
[
[
{ "code": 8230, "label": "…" },
{ "code": 95, "label": "_" },
{ "code": 91, "label": "[" },
{ "code": 93, "label": "]" },
{ "code": 94, "label": "^" },
{ "code": 33, "label": "!" },
{ "code": 60, "label": "<" },
{ "code": 62, "label": ">" },
{ "code": 61, "label": "=" },
{ "code": 38, "label": "&" },
{ "code": 383, "label": "ſ" }
],
[
{ "code": 92, "label": "\\" },
{ "code": 47, "label": "/" },
{ "code": 123, "label": "{" },
{ "code": 125, "label": "}" },
{ "code": 42, "label": "*" },
{ "code": 63, "label": "?" },
{ "code": 40, "label": "(" },
{ "code": 41, "label": ")" },
{ "code": 45, "label": "-" },
{ "code": 58, "label": ":" },
{ "code": 64, "label": "@" }
],
[
{ "code": 35, "label": "#" },
{ "code": 36, "label": "$" },
{ "code": 124, "label": "|" },
{ "code": 126, "label": "~" },
{ "code": 96, "label": "`" },
{ "code": 43, "label": "+" },
{ "code": 37, "label": "%" },
{ "code": 59, "label": ";" }
]
]

View File

@@ -0,0 +1,95 @@
[
[
{ "code": 64, "label": "@" },
{ "code": 35, "label": "#", "popup": {
"main": { "code": 8470, "label": "№" }
} },
{ "code": -801, "label": "currency_slot_1", "popup": {
"main": { "code": -802, "label": "currency_slot_2" },
"relevant": [
{ "code": -806, "label": "currency_slot_6" },
{ "code": -803, "label": "currency_slot_3" },
{ "code": -804, "label": "currency_slot_4" },
{ "code": -805, "label": "currency_slot_5" }
]
} },
{ "code": 1642, "label": "٪", "popup": {
"main": { "code": 37, "label": "%" },
"relevant": [
{ "code": 8453, "label": "℅" },
{ "code": 8240, "label": "‰" }
]
} },
{ "code": 38, "label": "&" },
{ "code": 45, "label": "-", "popup": {
"main": { "code": 95, "label": "_" },
"relevant": [
{ "code": 8212, "label": "—" },
{ "code": 8211, "label": "" },
{ "code": 183, "label": "·" }
]
} },
{ "code": 43, "label": "+", "popup": {
"main": { "code": 177, "label": "±" }
} },
{ "code": 40, "label": "(", "popup": {
"main": { "code":64830, "label": "" },
"relevant": [
{ "code": 91, "label": "[" },
{ "code": 60, "label": "<" },
{ "code": 123, "label": "{" }
]
} },
{ "code": 41, "label": ")", "popup": {
"main": { "code":64831, "label": "﴿" },
"relevant": [
{ "code": 93, "label": "]" },
{ "code": 62, "label": ">" },
{ "code": 125, "label": "}" }
]
} },
{ "code": 1643, "label": "٫", "popup": {
"main": { "code": 1644, "label": "٬" },
"relevant": [
{ "code": 42, "label": "*" },
{ "code": 34, "label": "\"" },
{ "code": 39, "label": "'" }
]
} }
],
[
{ "code": 47, "label": "/" },
{ "code": 171, "label": "«", "popup": {
"main": { "code": 8249, "label": "" },
"relevant": [
{ "code": 60, "label": "<" },
{ "code": 8804, "label": "≤" },
{ "code":10216, "label": "⟨" }
]
} },
{ "code": 187, "label": "»", "popup": {
"main": { "code": 8250, "label": "" },
"relevant": [
{ "code":10217, "label": "⟩" },
{ "code": 8805, "label": "≥" },
{ "code": 62, "label": ">" }
]
} },
{ "code": 58, "label": ":", "popup": {
"main": { "code": 8942, "label": "⋮" }
} },
{ "code": 1563, "label": "؛", "popup": {
"main": { "code": 59, "label": ";" }
} },
{ "code": 33, "label": "!", "popup": {
"main": { "code": 161, "label": "¡" }
} },
{ "code": 1567, "label": "؟", "popup": {
"main": { "code": 63, "label": "?" },
"relevant": [
{ "code": 191, "label": "¿" },
{ "code": 8253, "label": "‽" }
]
} }
]
]

Some files were not shown because too many files have changed in this diff Show More