Compare commits
	
		
			355 Commits
		
	
	
		
			3.27.1
			...
			wip/jimmac
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 03c2c355cb | ||
|   | ce3555382b | ||
|   | 837a00c3f0 | ||
|   | 132c8e0cf8 | ||
|   | 9c62522419 | ||
|   | 0d5bae3844 | ||
|   | 97f6a35b46 | ||
|   | 43e8dfacb4 | ||
|   | 0221099e7e | ||
|   | 374caade47 | ||
|   | a5937d1d6d | ||
|   | e36ba874a8 | ||
|   | 22392d1328 | ||
|   | 0dee82fb9f | ||
|   | 68f00f397f | ||
|   | 905801b178 | ||
|   | 4a7082bb0f | ||
|   | 2e90c5fa4b | ||
|   | 50e849a186 | ||
|   | e7f2e92410 | ||
|   | b1b455ff1a | ||
|   | ab4c72d758 | ||
|   | 86a520b880 | ||
|   | 4bf033a885 | ||
|   | e3ebc8d0c6 | ||
|   | fc5ab44704 | ||
|   | d5e8f174d4 | ||
|   | d9a1434ae9 | ||
|   | d0bdea3178 | ||
|   | ccadf6aca1 | ||
|   | 266b0e9dd0 | ||
|   | f7355f593d | ||
|   | a301820258 | ||
|   | 47ea10b7c9 | ||
|   | 2c0376c150 | ||
|   | ac58c4280b | ||
|   | e39d7152f2 | ||
|   | e522e2e804 | ||
|   | 2ba26407f1 | ||
|   | 996dd74157 | ||
|   | 878946962d | ||
|   | 84d2d3feb3 | ||
|   | 19e864ed3b | ||
|   | c9bf72c5c4 | ||
|   | 5fe349d5ba | ||
|   | 1f03599d1c | ||
|   | a24999b7a3 | ||
|   | 8237a1f6e0 | ||
|   | f9dec475a1 | ||
|   | 68b01a8f56 | ||
|   | f56ba0877a | ||
|   | 5ac6201d91 | ||
|   | a21a22fdb5 | ||
|   | a0fa50ac31 | ||
|   | b1dd746443 | ||
|   | c15e163eb1 | ||
|   | 7a3927c168 | ||
|   | 6eed4e31d7 | ||
|   | f0557ea05c | ||
|   | 44894262f4 | ||
|   | b03bcc85aa | ||
|   | 70057c6a55 | ||
|   | 86bd5b281d | ||
|   | ad3e9ab205 | ||
|   | 02bbf409ea | ||
|   | f56e4e177e | ||
|   | fc26559f2c | ||
|   | fdaddbd1e0 | ||
|   | 04f61567ba | ||
|   | a0785cdbc1 | ||
|   | 94101e8bb8 | ||
|   | f13dbf2f26 | ||
|   | bae6f06e4e | ||
|   | d8b9e23502 | ||
|   | 7d59eaa67e | ||
|   | c0a453f64f | ||
|   | 5336175736 | ||
|   | 2997e4950b | ||
|   | a49fb90d86 | ||
|   | ffc0eb1de2 | ||
|   | 853c81eb62 | ||
|   | 594cc7cbef | ||
|   | 0932324d39 | ||
|   | 2d6cf236c4 | ||
|   | 642107a28f | ||
|   | 581b38ecf4 | ||
|   | fbc03cc262 | ||
|   | a6ff195893 | ||
|   | f411724064 | ||
|   | 39f43a4cd4 | ||
|   | c82cb918ae | ||
|   | 38cdaa6c20 | ||
|   | 0327069e83 | ||
|   | 7601b029c8 | ||
|   | fb509dfc25 | ||
|   | 874a91968f | ||
|   | 0963ccddba | ||
|   | c4e0f6df08 | ||
|   | 58aafe9520 | ||
|   | a46df7f8ec | ||
|   | 1dd16618d1 | ||
|   | a4190f83ac | ||
|   | a8e17f73ec | ||
|   | 86a741c1ee | ||
|   | 5cc6fef689 | ||
|   | 522a5fe480 | ||
|   | b1239b1257 | ||
|   | 58063d9ee1 | ||
|   | d7aba2dece | ||
|   | 35fced27df | ||
|   | be76b19300 | ||
|   | 376d696b8b | ||
|   | 695d61968d | ||
|   | d6d09fd3c8 | ||
|   | f1b1501f9b | ||
|   | cdbc99e992 | ||
|   | 69afe7785d | ||
|   | b99e304f1e | ||
|   | c29bd46e7a | ||
|   | 5fcf40b973 | ||
|   | a198dfe3d8 | ||
|   | 5b10d157fe | ||
|   | 5cc42b18b0 | ||
|   | cb4252e888 | ||
|   | 09d3cdb023 | ||
|   | 71515a8a11 | ||
|   | 11ca8dd54f | ||
|   | e00f22ebe6 | ||
|   | 13390543b0 | ||
|   | de95ced92c | ||
|   | f6a08472a0 | ||
|   | 9f7b101437 | ||
|   | 9c0707d4dc | ||
|   | 78a92fb6be | ||
|   | 01509cf1a5 | ||
|   | 61e9f51274 | ||
|   | 201bd9d42e | ||
|   | 8a78f08f6c | ||
|   | a5e54f9712 | ||
|   | 526834e39b | ||
|   | bdde2476d2 | ||
|   | 3171f9debe | ||
|   | 0e2aeac5f9 | ||
|   | 788fb5547c | ||
|   | c4d2c0ee64 | ||
|   | 977686a77a | ||
|   | 44b29f210c | ||
|   | 36c7d65ccf | ||
|   | b81d24fdb4 | ||
|   | bfdbee8115 | ||
|   | 4a17c8f4a9 | ||
|   | d4f67a7d42 | ||
|   | d5769ae409 | ||
|   | f356b61e5a | ||
|   | 398768dcbd | ||
|   | 272d5b6e4a | ||
|   | a479aa2594 | ||
|   | f48d620ac5 | ||
|   | 0684b42f67 | ||
|   | 190a31dd5f | ||
|   | cccfc7faca | ||
|   | 5e9e4f8c73 | ||
|   | b28e48094b | ||
|   | 01bad21704 | ||
|   | aab9a20b6a | ||
|   | 201c5b23f3 | ||
|   | b79e11bef8 | ||
|   | 81dfcb85ca | ||
|   | c8e69a2154 | ||
|   | 3ee50adad9 | ||
|   | d1386ee8e4 | ||
|   | 6b994602d5 | ||
|   | 00039bbb47 | ||
|   | 0195b2f7c0 | ||
|   | adc60f3212 | ||
|   | 579f59816f | ||
|   | 9e0df3c5c6 | ||
|   | c6b14ef97e | ||
|   | 59e535244f | ||
|   | 720b9dd3d2 | ||
|   | 60df5b4381 | ||
|   | 94a4dc4576 | ||
|   | dbda223858 | ||
|   | 822875d5c3 | ||
|   | b11b28b83b | ||
|   | ea0770ae22 | ||
|   | bdc9f293be | ||
|   | 922d73a09b | ||
|   | 46292fbdc5 | ||
|   | 3b1330880f | ||
|   | 213e38c2ef | ||
|   | 76f09b1e49 | ||
|   | cff0b81f32 | ||
|   | 23d6c4dcc0 | ||
|   | 66c86109dd | ||
|   | 2e45be96b6 | ||
|   | 5d1626aba1 | ||
|   | b7f083b1da | ||
|   | 2bce1f1510 | ||
|   | 1683f4953e | ||
|   | 1b2c67a726 | ||
|   | e1d9bdbbd6 | ||
|   | 58827ba36d | ||
|   | 9ef1bc7273 | ||
|   | a347ed9912 | ||
|   | 99d32d2add | ||
|   | 2d03e1974a | ||
|   | 07cae5377a | ||
|   | 436cac4134 | ||
|   | 117fcc9743 | ||
|   | 6d969250ca | ||
|   | d68d1d1371 | ||
|   | 7d8b9b257a | ||
|   | f237e42737 | ||
|   | ca095acd34 | ||
|   | 630c70f13c | ||
|   | ebb39bcbe2 | ||
|   | 9cf2ec8bd2 | ||
|   | 5f6745cad0 | ||
|   | d8fd7b5a44 | ||
|   | f8abe073eb | ||
|   | 0608413b96 | ||
|   | 7f8a1ec1fb | ||
|   | e859fc8f16 | ||
|   | 2f9b0f8820 | ||
|   | d66fcb60b1 | ||
|   | 2937cd7e77 | ||
|   | c62e7a6a82 | ||
|   | 92f1aec3dd | ||
|   | bc4462cd0c | ||
|   | 1ce5ed8685 | ||
|   | 433b28b223 | ||
|   | 3fe45e29e4 | ||
|   | fc5b1591ad | ||
|   | d63c0e277c | ||
|   | 06f790d86c | ||
|   | a3918d8c38 | ||
|   | 5122b06839 | ||
|   | f2d12e22b5 | ||
|   | a647445b95 | ||
|   | 9dbe10889b | ||
|   | 5f6aace8aa | ||
|   | f2e2af962d | ||
|   | 6f0c187cf4 | ||
|   | d3a3b7f514 | ||
|   | 80ad471812 | ||
|   | 0206a579c2 | ||
|   | 86b853b23a | ||
|   | cd0af33947 | ||
|   | 0b51ead004 | ||
|   | d6107a60e4 | ||
|   | 194040dcb2 | ||
|   | 8fdf47ea5b | ||
|   | 82cecf2e36 | ||
|   | d7f8a39023 | ||
|   | 083d11a032 | ||
|   | e0852e5991 | ||
|   | 5cec4ae670 | ||
|   | e4ee944d8d | ||
|   | 70bc94946f | ||
|   | 8c3f5b615f | ||
|   | d1bebba77a | ||
|   | 83accce24e | ||
|   | d86b62d1b7 | ||
|   | a2303c5272 | ||
|   | e0910c0f7c | ||
|   | 5b1e705561 | ||
|   | d93037c05e | ||
|   | 73c7441279 | ||
|   | 5914f225a2 | ||
|   | 774930f1a1 | ||
|   | 3dd3c1ac34 | ||
|   | 40db4a6795 | ||
|   | 7fd8fa3478 | ||
|   | 33c3ed68fd | ||
|   | a1ce0da9e7 | ||
|   | 52a779e432 | ||
|   | 6795fb0bd6 | ||
|   | 7544bba0c1 | ||
|   | 2d79ab6c5c | ||
|   | fd034f3724 | ||
|   | 8502be66fa | ||
|   | 626bbeffbf | ||
|   | 4a3c610d70 | ||
|   | bc9e5a4252 | ||
|   | e09f8c87e8 | ||
|   | 9ad7f59cdb | ||
|   | 6e74f987ec | ||
|   | 8c8a7f089f | ||
|   | 9b6a931b43 | ||
|   | c31bd67538 | ||
|   | 5297e86591 | ||
|   | 1d3154a89e | ||
|   | fed5657b40 | ||
|   | 53f4d12566 | ||
|   | 5d20516330 | ||
|   | 69da686fa9 | ||
|   | 35eac697c1 | ||
|   | 705915cd31 | ||
|   | cf23490c37 | ||
|   | d5f081a108 | ||
|   | f2917968ea | ||
|   | 16a1c35e28 | ||
|   | baacd216dd | ||
|   | d71af5e579 | ||
|   | bc5be10d78 | ||
|   | f91fbd7728 | ||
|   | f40ad89c9f | ||
|   | 723c49a8b7 | ||
|   | 3f3e514ff2 | ||
|   | aab7656d88 | ||
|   | 45e756f247 | ||
|   | 027a08804a | ||
|   | e64a482972 | ||
|   | eb4cd57aa2 | ||
|   | 94b96f8d97 | ||
|   | 989c7bf27e | ||
|   | 77ec6a8ea6 | ||
|   | fb9db4e171 | ||
|   | 54013182d4 | ||
|   | 7571f0d59e | ||
|   | 90534afc20 | ||
|   | 29987ae033 | ||
|   | a29ceb31dd | ||
|   | 74683b7ef7 | ||
|   | 6c655a6c71 | ||
|   | 13fdaa80bf | ||
|   | 6e3178d5b6 | ||
|   | ca367e4e26 | ||
|   | 10c602fe95 | ||
|   | ecd9fba514 | ||
|   | 71585f37e4 | ||
|   | 99e53a68b9 | ||
|   | 69e22f849e | ||
|   | 9bad2182dd | ||
|   | 32b2639052 | ||
|   | 35a9c3ec86 | ||
|   | a46af9edf0 | ||
|   | 9dc977e324 | ||
|   | cdc212ff6e | ||
|   | c53557b4c6 | ||
|   | 1af65c616a | ||
|   | feed029ae4 | ||
|   | 93925c99b4 | ||
|   | e765e684c3 | ||
|   | eecbd4dd42 | ||
|   | fa276a3349 | ||
|   | 100d6a7fa7 | ||
|   | 9537bb276b | ||
|   | 891bc45e36 | ||
|   | f90b225eaa | ||
|   | f9569912df | ||
|   | 29eefc06d7 | ||
|   | aa0858529e | ||
|   | fb3070981c | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -8,6 +8,7 @@ ChangeLog | ||||
| INSTALL | ||||
| aclocal.m4 | ||||
| autom4te.cache | ||||
| data/.osk-layout-workbench | ||||
| data/org.gnome.Shell.desktop | ||||
| data/org.gnome.Shell.desktop.in | ||||
| data/gnome-shell-extension-prefs.desktop | ||||
|   | ||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,6 +1,3 @@ | ||||
| [submodule "data/theme/gnome-shell-sass"] | ||||
| 	path = data/theme/gnome-shell-sass | ||||
| 	url = https://git.gnome.org/browse/gnome-shell-sass | ||||
| [submodule "subprojects/gvc"] | ||||
| 	path = subprojects/gvc | ||||
| 	url = https://git.gnome.org/browse/libgnome-volume-control | ||||
|   | ||||
| @@ -1,19 +1,16 @@ | ||||
| Coding guide | ||||
| ============ | ||||
| # Coding guide | ||||
| 
 | ||||
| Our goal is to have all JavaScript code in GNOME follow a consistent style. In | ||||
| a dynamic language like JavaScript, it is essential to be rigorous about style | ||||
| (and unit tests), or you rapidly end up with a spaghetti-code mess. | ||||
| 
 | ||||
| A quick note | ||||
| ------------ | ||||
| ## A quick note | ||||
| 
 | ||||
| Life isn't fun if you can't break the rules. If a rule seems unnecessarily | ||||
| restrictive while you're coding, ignore it, and let the patch reviewer decide | ||||
| what to do. | ||||
| 
 | ||||
| Indentation and whitespace | ||||
| -------------------------- | ||||
| ## Indentation and whitespace | ||||
| 
 | ||||
| Use four-space indents. Braces are on the same line as their associated | ||||
| statements.  You should only omit braces if *both* sides of the statement are | ||||
| @@ -22,7 +19,7 @@ on one line. | ||||
| * One space after the `function` keyword.  No space between the function name | ||||
| * in a declaration or a call.  One space before the parens in the `if` | ||||
| * statements, or `while`, or `for` loops. | ||||
| 
 | ||||
| ```javascript | ||||
|     function foo(a, b) { | ||||
|         let bar; | ||||
| 
 | ||||
| @@ -39,22 +36,20 @@ on one line. | ||||
|             print(20); | ||||
|         } | ||||
|     } | ||||
| ``` | ||||
| 
 | ||||
| Semicolons | ||||
| ---------- | ||||
| ## Semicolons | ||||
| 
 | ||||
| JavaScript allows omitting semicolons at the end of lines, but don't. Always | ||||
| end statements with a semicolon. | ||||
| 
 | ||||
| js2-mode | ||||
| -------- | ||||
| ## js2-mode | ||||
| 
 | ||||
| If using Emacs, do not use js2-mode. It is outdated and hasn't worked for a | ||||
| while. emacs now has a built-in JavaScript mode, js-mode, based on | ||||
| espresso-mode. It is the de facto emacs mode for JavaScript. | ||||
| 
 | ||||
| File naming and creation | ||||
| ------------------------ | ||||
| ## File naming and creation | ||||
| 
 | ||||
| For JavaScript files, use lowerCamelCase-style names, with a `.js` extension. | ||||
| 
 | ||||
| @@ -67,14 +62,13 @@ library name followed by a dash, e.g. `shell-app-system.c`. Create a | ||||
| `-private.h` header when you want to share code internally in the | ||||
| library. These headers are not installed, distributed or introspected. | ||||
| 
 | ||||
| Imports | ||||
| ------- | ||||
| ## Imports | ||||
| 
 | ||||
| Use UpperCamelCase when importing modules to distinguish them from ordinary | ||||
| variables, e.g. | ||||
| 
 | ||||
| ```javascript | ||||
|     const GLib = imports.gi.GLib; | ||||
| 
 | ||||
| ``` | ||||
| Imports should be categorized into one of two places. The top-most import block | ||||
| should contain only "environment imports". These are either modules from | ||||
| gobject-introspection or modules added by gjs itself. | ||||
| @@ -85,7 +79,7 @@ e.g. `imports.ui.popupMenu`. | ||||
| 
 | ||||
| Each import block should be sorted alphabetically. Don't import modules you | ||||
| don't use. | ||||
| 
 | ||||
| ```javascript | ||||
|     const GLib = imports.gi.GLib; | ||||
|     const Gio = imports.gi.Gio; | ||||
|     const Lang = imports.lang; | ||||
| @@ -95,23 +89,22 @@ don't use. | ||||
|     const Params = imports.misc.params; | ||||
|     const Tweener = imports.ui.tweener; | ||||
|     const Util = imports.misc.util; | ||||
| 
 | ||||
| ``` | ||||
| The alphabetical ordering should be done independently of the location of the | ||||
| location. Never reference `imports` in actual code. | ||||
| 
 | ||||
| Constants | ||||
| --------- | ||||
| ## Constants | ||||
| 
 | ||||
| We use CONSTANTS_CASE to define constants. All constants should be directly | ||||
| under the imports: | ||||
| 
 | ||||
| ```javascript | ||||
|     const MY_DBUS_INTERFACE = 'org.my.Interface'; | ||||
| ``` | ||||
| 
 | ||||
| Variable declaration | ||||
| -------------------- | ||||
| ## Variable declaration | ||||
| 
 | ||||
| Always use either `const` or `let` when defining a variable. | ||||
| 
 | ||||
| ```javascript | ||||
|     // Iterating over an array | ||||
|     for (let i = 0; i < arr.length; ++i) { | ||||
|         let item = arr[i]; | ||||
| @@ -121,31 +114,32 @@ Always use either `const` or `let` when defining a variable. | ||||
|     for (let prop in someobj) { | ||||
|         ... | ||||
|     } | ||||
| ``` | ||||
| 
 | ||||
| If you use "var" then the variable is added to function scope, not block scope. | ||||
| See [What's new in JavaScript 1.7](https://developer.mozilla.org/en/JavaScript/New_in_JavaScript/1.7#Block_scope_with_let_%28Merge_into_let_Statement%29) | ||||
| 
 | ||||
| Classes | ||||
| ------- | ||||
| ## Classes | ||||
| 
 | ||||
| There are many approaches to classes in JavaScript. We use our own class framework | ||||
| (sigh), which is built in gjs. The advantage is that it supports inheriting from | ||||
| GObjects, although this feature isn't used very often in the Shell itself. | ||||
| 
 | ||||
| ```javascript | ||||
|     var IconLabelMenuItem = new Lang.Class({ | ||||
|         Name: 'IconLabelMenuItem', | ||||
|         Extends: PopupMenu.PopupMenuBaseItem, | ||||
| 
 | ||||
|         _init: function(icon, label) { | ||||
|         _init(icon, label) { | ||||
|             this.parent({ reactive: false }); | ||||
|             this.actor.add_child(icon); | ||||
|             this.actor.add_child(label); | ||||
|         }, | ||||
| 
 | ||||
|         open: function() { | ||||
|         open() { | ||||
|             log("menu opened!"); | ||||
|         } | ||||
|     }); | ||||
| ``` | ||||
| 
 | ||||
| * 'Name' is required. 'Extends' is optional. If you leave it out, you will | ||||
|   automatically inherit from Object. | ||||
| @@ -162,35 +156,34 @@ GObjects, although this feature isn't used very often in the Shell itself. | ||||
|   still a giant function call, even though it may resemble a more | ||||
|   conventional syntax. | ||||
| 
 | ||||
| GObject Introspection | ||||
| --------------------- | ||||
| ## GObject Introspection | ||||
| 
 | ||||
| GObject Introspection is a powerful feature that allows us to have native | ||||
| bindings for almost any library built around GObject. If a library requires | ||||
| you to inherit from a type to use it, you can do so: | ||||
| 
 | ||||
| ```javascript | ||||
|     var MyClutterActor = new Lang.Class({ | ||||
|         Name: 'MyClutterActor', | ||||
|         Extends: Clutter.Actor, | ||||
| 
 | ||||
|         vfunc_get_preferred_width: function(actor, forHeight) { | ||||
|         vfunc_get_preferred_width(actor, forHeight) { | ||||
|              return [100, 100]; | ||||
|         }, | ||||
| 
 | ||||
|         vfunc_get_preferred_height: function(actor, forWidth) { | ||||
|         vfunc_get_preferred_height(actor, forWidth) { | ||||
|              return [100, 100]; | ||||
|         }, | ||||
| 
 | ||||
|         vfunc_paint: function(actor) { | ||||
|         vfunc_paint(actor) { | ||||
|              let alloc = this.get_allocation_box(); | ||||
|              Cogl.set_source_color4ub(255, 0, 0, 255); | ||||
|              Cogl.rectangle(alloc.x1, alloc.y1, | ||||
|                             alloc.x2, alloc.y2); | ||||
|         } | ||||
|     }); | ||||
| ``` | ||||
| 
 | ||||
| Translatable strings, `environment.js` | ||||
| -------------------------------------- | ||||
| ## Translatable strings, `environment.js` | ||||
| 
 | ||||
| We use gettext to translate the GNOME Shell into all the languages that GNOME | ||||
| supports. The `gettext` function is aliased globally as `_`, you do not need to | ||||
| @@ -204,8 +197,7 @@ and "double quotes" for strings that the user may see. This allows us to | ||||
| quickly find untranslated or mistranslated strings by grepping through the | ||||
| sources for double quotes without a gettext call around them. | ||||
| 
 | ||||
| `actor` and `_delegate` | ||||
| ----------------------- | ||||
| ## `actor` and `_delegate` | ||||
| 
 | ||||
| gjs allows us to set so-called "expando properties" on introspected objects, | ||||
| allowing us to treat them like any other. Because the Shell was built before | ||||
| @@ -214,21 +206,22 @@ that has a property called `actor`. We call this wrapper class the "delegate". | ||||
| 
 | ||||
| We sometimes use expando properties to set a property called `_delegate` on | ||||
| the actor itself: | ||||
| 
 | ||||
| ```javascript | ||||
|     var MyClass = new Lang.Class({ | ||||
|         Name: 'MyClass', | ||||
| 
 | ||||
|         _init: function() { | ||||
|         _init() { | ||||
|             this.actor = new St.Button({ text: "This is a button" }); | ||||
|             this.actor._delegate = this; | ||||
| 
 | ||||
|             this.actor.connect('clicked', Lang.bind(this, this._onClicked)); | ||||
|             this.actor.connect('clicked', this._onClicked.bind(this)); | ||||
|         }, | ||||
| 
 | ||||
|         _onClicked: function(actor) { | ||||
|         _onClicked(actor) { | ||||
|             actor.set_label("You clicked the button!"); | ||||
|         } | ||||
|     }); | ||||
| ``` | ||||
| 
 | ||||
| The 'delegate' property is important for anything which trying to get the | ||||
| delegate object from an associated actor. For instance, the drag and drop | ||||
| @@ -236,57 +229,60 @@ system calls the `handleDragOver` function on the delegate of a "drop target" | ||||
| when the user drags an item over it. If you do not set the `_delegate` | ||||
| property, your actor will not be able to be dropped onto. | ||||
| 
 | ||||
| Functional style | ||||
| ---------------- | ||||
| ## Functional style | ||||
| 
 | ||||
| JavaScript Array objects offer a lot of common functional programming | ||||
| capabilities such as forEach, map, filter and so on. You can use these when | ||||
| they make sense, but please don't have a spaghetti mess of function programming | ||||
| messed in a procedural style. Use your best judgment. | ||||
| 
 | ||||
| Closures | ||||
| -------- | ||||
| ## Closures | ||||
| 
 | ||||
| `this` will not be captured in a closure, it is relative to how the closure is | ||||
| invoked, not to the value of this where the closure is created, because "this" | ||||
| is a keyword with a value passed in at function invocation time, it is not a | ||||
| variable that can be captured in closures. | ||||
| 
 | ||||
| All closures should be wrapped with a Lang.bind. | ||||
| 
 | ||||
| All closures should be wrapped with Function.prototype.bind or use arrow | ||||
| notation. | ||||
| ```javascript | ||||
|     const Lang = imports.lang; | ||||
| 
 | ||||
|     let closure = Lang.bind(this, function() { this._fnorbate(); }); | ||||
|     let closure1 = () => { this._fnorbate(); }; | ||||
|     let closure2 = this._fnorbate.bind(this); | ||||
| ``` | ||||
| 
 | ||||
| A more realistic example would be connecting to a signal on a method of a | ||||
| prototype: | ||||
| 
 | ||||
| ```javascript | ||||
|     const Lang = imports.lang; | ||||
|     const FnorbLib = imports.fborbLib; | ||||
| 
 | ||||
|     var MyClass = new Lang.Class({ | ||||
|         _init: function() { | ||||
|         _init() { | ||||
|             let fnorb = new FnorbLib.Fnorb(); | ||||
|             fnorb.connect('frobate', Lang.bind(this, this._onFnorbFrobate)); | ||||
|             fnorb.connect('frobate', this._onFnorbFrobate.bind(this)); | ||||
|         }, | ||||
| 
 | ||||
|         _onFnorbFrobate: function(fnorb) { | ||||
|         _onFnorbFrobate(fnorb) { | ||||
|             this._updateFnorb(); | ||||
|         } | ||||
|     }); | ||||
| ``` | ||||
| 
 | ||||
| Object literal syntax | ||||
| --------------------- | ||||
| ## Object literal syntax | ||||
| 
 | ||||
| In JavaScript, these are equivalent: | ||||
| 
 | ||||
| ```javascript | ||||
|     foo = { 'bar': 42 }; | ||||
|     foo = { bar: 42 }; | ||||
| ``` | ||||
| 
 | ||||
| and so are these: | ||||
| 
 | ||||
| ```javascript | ||||
|     var b = foo['bar']; | ||||
|     var b = foo.bar; | ||||
| ``` | ||||
| 
 | ||||
| If your usage of an object is like an object, then you're defining "member | ||||
| variables." For member variables, use the no-quotes no-brackets syntax: `{ bar: | ||||
| @@ -296,20 +292,19 @@ If your usage of an object is like a hash table (and thus conceptually the keys | ||||
| can have special chars in them), don't use quotes, but use brackets: `{ bar: 42 | ||||
| }`, `foo['bar']`. | ||||
| 
 | ||||
| Getters, setters, and Tweener | ||||
| ----------------------------- | ||||
| ## Getters, setters, and Tweener | ||||
| 
 | ||||
| Getters and setters should be used when you are dealing with an API that is | ||||
| designed around setting properties, like Tweener. If you want to animate an | ||||
| arbitrary property, create a getter and setter, and use Tweener to animate the | ||||
| property. | ||||
| 
 | ||||
| ```javascript | ||||
|     var ANIMATION_TIME = 2000; | ||||
| 
 | ||||
|     var MyClass = new Lang.Class({ | ||||
|         Name: 'MyClass', | ||||
| 
 | ||||
|         _init: function() { | ||||
|         _init() { | ||||
|             this.actor = new St.BoxLayout(); | ||||
|             this._position = 0; | ||||
|         }, | ||||
| @@ -329,3 +324,4 @@ property. | ||||
|                      { position: 100, | ||||
|                        time: ANIMATION_TIME, | ||||
|                        transition: 'easeOutQuad' }); | ||||
| ``` | ||||
| @@ -1,7 +0,0 @@ | ||||
| Owen Taylor | ||||
| E-mail: otaylor@redhat.com | ||||
| Userid: otaylor | ||||
|  | ||||
| Colin Walters | ||||
| E-mail: walters@verbum.org | ||||
| Userid: walters | ||||
							
								
								
									
										144
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						| @@ -1,3 +1,147 @@ | ||||
| 3.29.4 | ||||
| ====== | ||||
| * Fix "Clear All" for calendar events [Florian; #325] | ||||
| * Allow cancelling direct switch operations [Xavier; #315] | ||||
| * Support being started by systemd --user [Iain; !137, !138] | ||||
| * Support key event forwarding required by some input methods [Carlos; #275] | ||||
| * Misc. bug fixes and cleanups [Jasper, Andrea, Florian; #663461, #372, !112, | ||||
|   #414, !151] | ||||
|  | ||||
| Contributors: | ||||
|   Andrea Azzarone, Carlos Garnacho, Xavier Johnson, Iain Lane, Florian Müllner, | ||||
|   Jasper St. Pierre | ||||
|  | ||||
| Translators: | ||||
|   Stas Solovey [ru] | ||||
|  | ||||
| 3.29.3 | ||||
| ====== | ||||
| * Save creation time in screenshot metadata [Florian; #790481] | ||||
| * Improve consistency between ctrl- and middle-click on app icons [Xavier; #316] | ||||
| * Add support for font-feature-settings CSS property [Ryan; #34] | ||||
| * Adjust to MetaScreen removal [Jonas; #759538] | ||||
| * Misc. bug fixes [Florian, Marco, Sam; #298, #788931, #26, #76, !54, #788882, | ||||
|   #791233] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Ryan Hendrickson, Xavier Johnson, Florian Müllner, Joe Rabinoff, | ||||
|   Sam Spilsbury, Marco Trevisan (Treviño) | ||||
|  | ||||
| Translators: | ||||
|   Gun Chleoc [gd], Yi-Jyun Pan [zh_TW], Cédric Valmary [oc], Jordi Mas [ca] | ||||
|  | ||||
| 3.29.2 | ||||
| ====== | ||||
| * Guard against untimely keyboard map changes [Carlos; #240] | ||||
| * Fix icons in search provider results [Florian; #249] | ||||
| * Fix blurriness of OSD under some resolutions [Silvère; #782011] | ||||
| * Fix lagging pointer when zoomed [Daniel; #682013] | ||||
| * Misc. bug fixes [Milan, Xiaoguang, Florian, Mario, Ole; #244, #787871, | ||||
|   #781471, #136, #214, #294] | ||||
|  | ||||
| Contributors: | ||||
|   Ole Jørgen Brønner, Milan Crha, Carlos Garnacho, Yussuf Khalil, | ||||
|   Silvère Latchurié, Florian Müllner, Mario Sanchez Prada, Ray Strode, | ||||
|   Daniel van Vugt, Xiaoguang Wang | ||||
|  | ||||
| Translators: | ||||
|   Rafael Fontenelle [pt_BR], Kukuh Syafaat [id], Marcos Lans [gl], | ||||
|   Anders Jonsson [sv], Mingcong Bai [zh_CN] | ||||
|  | ||||
| 3.29.1 | ||||
| ====== | ||||
| * Support icons in app-menu [Florian; #760985] | ||||
| * Misc. bug fixes [Marco, Florian, Lubomir; #792687, #221, !63] | ||||
|  | ||||
| Contributors: | ||||
|   Piotr Drąg, Takao Fujiwara, Christian Kellner, Florian Müllner, | ||||
|   Mario Sanchez Prada, Lubomir Rintel, Didier Roche, Marco Trevisan (Treviño), | ||||
|   verdre | ||||
|  | ||||
| Translators: | ||||
|   gogo [hr], Stas Solovey [ru], Matej Urbančič [sl], Daniel Șerbănescu [ro], | ||||
|   Fabio Tomat [fur], Marek Cernocky [cs], Daniel Mustieles [es] | ||||
|  | ||||
| 3.28.1 | ||||
| ====== | ||||
| * Fix compose characters in shell entries [Carlos; #115] | ||||
| * Don't show authentication dialogs on lock screen [Florian; #179, #166] | ||||
| * Fix handling of UTC timezone in world clock [Florian; #150] | ||||
| * Fix keyboard navigation in overview when hovering windows [Florian; #50] | ||||
| * Misc. bug fixes [Florian; #127, #788908, #763886, !39] | ||||
|  | ||||
| Contributors: | ||||
|   Jeremy Bicha, Carlos Garnacho, Andy Holmes, Florian Müllner, Bastien Nocera | ||||
|  | ||||
| Translators: | ||||
|   Stas Solovey [ru], Daniel Șerbănescu [ro], Dušan Kazik [sk], | ||||
|   Rafael Fontenelle [pt_BR], Nathan Follens [nl], Dz Chen [zh_CN], | ||||
|   Matej Urbančič [sl], Hannie Dumoleyn [nl], Khaled Hosny [ar], | ||||
|   Guillaume Bernard [fr] | ||||
|  | ||||
| 3.28.0 | ||||
| ====== | ||||
|  | ||||
| Translators: | ||||
|   A S Alam [pa], gogo [hr], Chao-Hsiung Liao [zh_TW], Jordi Mas [ca], | ||||
|   Anders Jonsson [sv], Balázs Úr [hu] | ||||
|  | ||||
| 3.27.92 | ||||
| ======= | ||||
| * Misc. bug fixes [Florian; #64, #66, #72] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Christian Kellner, Florian Müllner | ||||
|  | ||||
| Translators: | ||||
|   Daniel Mustieles [es], Wolfgang Stöggl [de], Cheng-Chia Tseng [zh_TW], | ||||
|   Dušan Kazik [sk], Changwoo Ryu [ko], Furkan Ahmet Kara [tr], Balázs Úr [hu], | ||||
|   Trần Ngọc Quân [vi], Milo Casagrande [it], GNOME Translation Robot [gd, nl], | ||||
|   Marek Cernocky [cs], Aurimas Černius [lt], Alain Lojewski [fr], | ||||
|   Rūdolfs Mazurs [lv], Stas Solovey [ru], Alan Mortensen [da] | ||||
|  | ||||
| 3.27.91 | ||||
| ======= | ||||
| * Fix wrong bluetooth state when disabled by HW airplane mode [Mario; #789110] | ||||
| * Dump javascript stack on aborts, traps and segfaults [Marco; #789237] | ||||
| * Allow Escape to "cancel" top bar focus [Stefano; #671121] | ||||
| * Fix leaving the overview erroneously on window hover [Carlos; #784545] | ||||
| * Add keyboard accessibility dialog [Olivier; #788564] | ||||
| * Port to libnm [Lubomir, Florian; #789811] | ||||
| * Don't pop up on-screen-keyboard on touch events [Florian, Carlos; #788188] | ||||
| * Improve the on-screen-keyboard [Carlos; !9, #46] | ||||
| * Add Thunderbolt support [Christian; !14] | ||||
| * Don't lock immediately on login after a wayland session crash [Florian; !17] | ||||
| * Respect cursor's hot x/y coordinates when recording [Florian Z.; #792860] | ||||
| * Allow closing windows and apps during <alt>Tab [Florian, Mario; #620106] | ||||
| * Fix small app folder icons when using HiDPI [Nikita; #792259] | ||||
| * Make sassc a mandatory build dependency [Mario; #792822] | ||||
| * Misc. bug fixes [Florian, Marco, Alessandro, Gautier, Jeremy, Bastien, Ray, | ||||
|   Carlos, Didier, Exalm, Rafal; #789231, #789277, #788542, #789103, #779974, | ||||
|   #788931, #776940, #786987, #791007, #791233, #791148, #706191, #791655, | ||||
|   #791487, #779413, #787845, #10, #788627, #792354, #792616, #781329, #780957, | ||||
|   #33, #740142, !38, !23] | ||||
|  | ||||
| Contributors: | ||||
|   Jeremy Bicha, Alessandro Bono, Nikita Churaev, Piotr Drąg, Exalm, | ||||
|   Stefano Facchini, Olivier Fourdan, Carlos Garnacho, Christian Kellner, | ||||
|   Rafal Luzynski, Iñigo Martínez, Florian Müllner, Bastien Nocera, | ||||
|   Gautier Pelloux-Prayer, Mario Sanchez Prada, Lubomir Rintel, Didier Roche, | ||||
|   Jakub Steiner, Ray Strode, Marco Trevisan (Treviño), Florian Zwoch | ||||
|  | ||||
| Translators: | ||||
|   Mingcong Bai [zh_CN], Hannie Dumoleyn [nl], Khaled Hosny [ar], | ||||
|   Kjartan Maraas [nb], Petr Kovar [cs], Marek Cernocky [cs], | ||||
|   Aurimas Černius [lt], Yosef Or Boczko [he], Kukuh Syafaat [id], | ||||
|   Sveinn í Felli [is], Jordi Mas [ca], Daniel Mustieles [es], Fabio Tomat [fur], | ||||
|   Rūdolfs Mazurs [lv], Emin Tufan Çetin [tr], Anders Jonsson [sv], | ||||
|   Matej Urbančič [sl], Jiri Grönroos [fi], Tim Sabsch [de], Gil Forcada [ca], | ||||
|   Dušan Kazik [sk], Balázs Meskó [hu], Piotr Drąg [pl], Tong Hui [zh_CN], | ||||
|   Fran Dieguez [gl], Enrico Nicoletto [pt_BR], gogo [hr], | ||||
|   Baurzhan Muftakhidinov [kk], Robert Antoni Buj Gelonch [ca], | ||||
|   Bruce Cowan [en_GB], Борисав Живановић [sr], Милош Поповић [sr@latin], | ||||
|   Марко Костић [sr] | ||||
|  | ||||
| 3.27.1 | ||||
| ====== | ||||
| * Fix using icon-name strings with PopupImageMenuItems [Florian; #789018] | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| # GNOME Shell | ||||
| GNOME Shell provides core user interface functions for the GNOME 3 desktop, | ||||
| like switching to windows and launching applications. GNOME Shell takes | ||||
| advantage of the capabilities of modern graphics hardware and introduces | ||||
| @@ -6,15 +7,14 @@ easy to use experience. | ||||
| 
 | ||||
| For more information about GNOME Shell, including instructions on how | ||||
| to build GNOME Shell from source and how to get involved with the project, | ||||
| see: | ||||
| see the [project wiki][wiki] | ||||
| 
 | ||||
|  https://wiki.gnome.org/Projects/GnomeShell | ||||
| Bugs should be reported to the GNOME [bug tracking system][bug-tracker]. | ||||
| 
 | ||||
| Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' | ||||
| product. | ||||
| 
 | ||||
| License | ||||
| ======= | ||||
| ## License | ||||
| GNOME Shell is distributed under the terms of the GNU General Public License, | ||||
| version 2 or later. See the COPYING file for details. | ||||
| version 2 or later. See the [COPYING][license] file for details. | ||||
| 
 | ||||
| [project-wiki]: https://wiki.gnome.org/Projects/GnomeShell | ||||
| [bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues | ||||
| [license]: COPYING | ||||
| @@ -4,14 +4,14 @@ the extensions repository to provide good integration, letting the website | ||||
| know which extensions are enabled and disabled, and allowing the website to | ||||
| enable, disable and install them. | ||||
| 
 | ||||
| Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' | ||||
| product. | ||||
| Bugs should be reported to the GNOME [bug tracking system][bug-tracker]. | ||||
| 
 | ||||
| License | ||||
| ======= | ||||
| ## License | ||||
| The GNOME Shell Browser Plugin, like GNOME Shell itself is distributed under | ||||
| the GNU General Public License, version 2 or later. The plugin also contains | ||||
| header files from the "NPAPI SDK" project, tri-licensed under MPL 1.1, GPL 2.0 | ||||
| and LGPL 2.1. These headers are third-party sources and can be retrieved from: | ||||
| 
 | ||||
|   http://code.google.com/p/npapi-sdk/ | ||||
| 
 | ||||
| [bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues | ||||
							
								
								
									
										158
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,158 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # configure script adapter for Meson | ||||
| # Based on build-api: https://github.com/cgwalters/build-api | ||||
| # Copyright 2010, 2011, 2013 Colin Walters <walters@verbum.org> | ||||
| # Copyright 2016, 2017 Emmanuele Bassi | ||||
| # Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php) | ||||
|  | ||||
| # Build API variables: | ||||
|  | ||||
| # Little helper function for reading args from the commandline. | ||||
| # it automatically handles -a b and -a=b variants, and returns 1 if | ||||
| # we need to shift $3. | ||||
| read_arg() { | ||||
|     # $1 = arg name | ||||
|     # $2 = arg value | ||||
|     # $3 = arg parameter | ||||
|     local rematch='^[^=]*=(.*)$' | ||||
|     if [[ $2 =~ $rematch ]]; then | ||||
| 	read "$1" <<< "${BASH_REMATCH[1]}" | ||||
|     else | ||||
| 	read "$1" <<< "$3" | ||||
| 	# There is no way to shift our callers args, so | ||||
| 	# return 1 to indicate they should do it instead. | ||||
| 	return 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| sanitycheck() { | ||||
|     # $1 = arg name | ||||
|     # $1 = arg command | ||||
|     # $2 = arg alternates | ||||
|     local cmd=$( which $2 2>/dev/null ) | ||||
|  | ||||
|     if [ -x "$cmd" ]; then | ||||
|         read "$1" <<< "$cmd" | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     test -z $3 || { | ||||
|         for alt in $3; do | ||||
|             cmd=$( which $alt 2>/dev/null ) | ||||
|  | ||||
|             if [ -x "$cmd" ]; then | ||||
|                 read "$1" <<< "$cmd" | ||||
|                 return 0 | ||||
|             fi | ||||
|         done | ||||
|     } | ||||
|  | ||||
|     echo -e "\e[1;31mERROR\e[0m: Command '$2' not found" | ||||
|     exit 1 | ||||
| } | ||||
|  | ||||
| sanitycheck MESON 'meson' | ||||
| sanitycheck NINJA 'ninja' 'ninja-build' | ||||
|  | ||||
| enable_docs='-Denable-gtk-doc=false' | ||||
| enable_man='-Denable-man=false' | ||||
| enable_introspection='' | ||||
|  | ||||
| while (($# > 0)); do | ||||
|     case "${1%%=*}" in | ||||
| 	--prefix) read_arg prefix "$@" || shift;; | ||||
| 	--bindir) read_arg bindir "$@" || shift;; | ||||
| 	--sbindir) read_arg sbindir "$@" || shift;; | ||||
| 	--libexecdir) read_arg libexecdir "$@" || shift;; | ||||
| 	--datarootdir) read_arg datarootdir "$@" || shift;; | ||||
| 	--datadir) read_arg datadir "$@" || shift;; | ||||
| 	--sysconfdir) read_arg sysconfdir "$@" || shift;; | ||||
| 	--libdir) read_arg libdir "$@" || shift;; | ||||
| 	--mandir) read_arg mandir "$@" || shift;; | ||||
| 	--includedir) read_arg includedir "$@" || shift;; | ||||
| 	--enable-gtk-doc) enable_docs='-Denable-gtk-doc=true';; | ||||
| 	--disable-gtk-doc) enable_docs='-Denable-gtk-doc=false';; | ||||
| 	--enable-man) enable_man='-Denable-man=true';; | ||||
| 	--disable-man) enable_man='-Denable-man=false';; | ||||
| 	--enable-introspection) enable_introspection='';; | ||||
| 	--disable-introspection) enable_introspection='-Ddisable_introspection=true';; | ||||
| 	*) echo -e "\e[1;33mINFO\e[0m: Ignoring unknown option '$1'";; | ||||
|     esac | ||||
|     shift | ||||
| done | ||||
|  | ||||
| # Defaults | ||||
| test -z ${prefix} && prefix="/usr/local" | ||||
| test -z ${bindir} && bindir=${prefix}/bin | ||||
| test -z ${sbindir} && sbindir=${prefix}/sbin | ||||
| test -z ${libexecdir} && libexecdir=${prefix}/bin | ||||
| test -z ${datarootdir} && datarootdir=${prefix}/share | ||||
| test -z ${datadir} && datadir=${datarootdir} | ||||
| test -z ${sysconfdir} && sysconfdir=${prefix}/etc | ||||
| test -z ${libdir} && libdir=${prefix}/lib | ||||
| test -z ${mandir} && mandir=${prefix}/share/man | ||||
| test -z ${includedir} && includedir=${prefix}/include | ||||
|  | ||||
| # The source directory is the location of this file | ||||
| srcdir=$(dirname $0) | ||||
|  | ||||
| # The build directory is the current location | ||||
| builddir=`pwd` | ||||
|  | ||||
| # If we're calling this file from the source directory then | ||||
| # we automatically create a build directory and ensure that | ||||
| # both Meson and Ninja invocations are relative to that | ||||
| # location | ||||
| if [[ -f "${builddir}/meson.build" ]]; then | ||||
|   mkdir -p _build | ||||
|   builddir="${builddir}/_build" | ||||
|   NINJA_OPT="-C ${builddir}" | ||||
| fi | ||||
|  | ||||
| # Wrapper Makefile for Ninja | ||||
| cat > Makefile <<END | ||||
| # Generated by configure; do not edit | ||||
|  | ||||
| all: | ||||
| 	CC="\$(CC)" CXX="\$(CXX)" ${NINJA} ${NINJA_OPT} | ||||
|  | ||||
| install: | ||||
| 	DESTDIR="\$(DESTDIR)" ${NINJA} ${NINJA_OPT} install | ||||
|  | ||||
| check: | ||||
| 	${MESON} test ${NINJA_OPT} | ||||
| END | ||||
|  | ||||
| echo "Summary:" | ||||
| echo "  meson:....... ${MESON}" | ||||
| echo "  ninja:....... ${NINJA}" | ||||
| echo "  prefix:...... ${prefix}" | ||||
| echo "  bindir:...... ${bindir}" | ||||
| echo "  sbindir:..... ${sbindir}" | ||||
| echo "  libexecdir:.. ${libexecdir}" | ||||
| echo "  datarootdir:. ${datarootdir}" | ||||
| echo "  datadir:..... ${datadir}" | ||||
| echo "  sysconfdir:.. ${sysconfdir}" | ||||
| echo "  libdir:...... ${libdir}" | ||||
| echo "  mandir:...... ${mandir}" | ||||
| echo "  includedir:.. ${includedir}" | ||||
| echo "  additional:.." | ||||
| echo "    - ${enable_docs} ${enable_man} ${enable_introspection}" | ||||
|  | ||||
| exec ${MESON} \ | ||||
| 	--prefix=${prefix} \ | ||||
| 	--libdir=${libdir} \ | ||||
| 	--libexecdir=${libexecdir} \ | ||||
| 	--datadir=${datadir} \ | ||||
| 	--sysconfdir=${sysconfdir} \ | ||||
| 	--bindir=${bindir} \ | ||||
| 	--includedir=${includedir} \ | ||||
| 	--mandir=${mandir} \ | ||||
| 	--default-library shared \ | ||||
| 	${enable_docs} \ | ||||
| 	${enable_man} \ | ||||
| 	${enable_introspection} \ | ||||
| 	${builddir} \ | ||||
| 	${srcdir} | ||||
|  | ||||
| # vim: ai ts=8 noet sts=2 ft=sh | ||||
							
								
								
									
										33
									
								
								data/README.osk-layouts
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,33 @@ | ||||
| Gnome-shell OSK layouts are extracted from CLDR layout definitions: | ||||
| https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html | ||||
|  | ||||
| Updating these involves several steps: | ||||
|  | ||||
| 1) Downloading and unzipping the tarball found at: | ||||
|    http://www.unicode.org/Public/cldr/latest/keyboards.zip | ||||
|  | ||||
|    This file contains XML files describing the keyboard layouts. | ||||
|  | ||||
| 2) Cloning the cldr2json script at: | ||||
|    git://repo.or.cz/cldr2json.git | ||||
|  | ||||
|    It will be used to convert the XML files into JSON that can be | ||||
|    directly consumed by gnome-shell. | ||||
|  | ||||
| 3) Running the script to produce the files: | ||||
|    ./cldr2json <input-directory> <output-directory> | ||||
|  | ||||
|    We shall usually use the "android" folder, since that's most | ||||
|    complete, and similar to our UI and target sizes. And the target | ||||
|    directory must be data/osk-layouts in this repository. | ||||
|  | ||||
| 4) Modify gnome-shell-osk-layouts.gresource.xml to include the files | ||||
|  | ||||
| 5) Do git add on the updated/new files, and git commit. | ||||
|  | ||||
|  | ||||
| Or alternatively: | ||||
|  | ||||
| 1) Run update-osk-layouts.sh | ||||
|  | ||||
| 2) Do git add and git commit | ||||
							
								
								
									
										57
									
								
								data/gnome-shell-osk-layouts.gresource.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,57 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <gresources> | ||||
|   <gresource prefix="/org/gnome/shell/osk-layouts"> | ||||
|     <file>am.json</file> | ||||
|     <file>ara.json</file> | ||||
|     <file>be.json</file> | ||||
|     <file>bg.json</file> | ||||
|     <file>by.json</file> | ||||
|     <file>cz.json</file> | ||||
|     <file>de.json</file> | ||||
|     <file>dk.json</file> | ||||
|     <file>ee.json</file> | ||||
|     <file>epo.json</file> | ||||
|     <file>es+cat.json</file> | ||||
|     <file>es.json</file> | ||||
|     <file>fi.json</file> | ||||
|     <file>fr.json</file> | ||||
|     <file>ge.json</file> | ||||
|     <file>gr.json</file> | ||||
|     <file>hr.json</file> | ||||
|     <file>hu.json</file> | ||||
|     <file>id.json</file> | ||||
|     <file>il.json</file> | ||||
|     <file>in+bolnagri.json</file> | ||||
|     <file>ir.json</file> | ||||
|     <file>is.json</file> | ||||
|     <file>it.json</file> | ||||
|     <file>ke.json</file> | ||||
|     <file>kg.json</file> | ||||
|     <file>kh.json</file> | ||||
|     <file>la.json</file> | ||||
|     <file>latam.json</file> | ||||
|     <file>lt.json</file> | ||||
|     <file>lv.json</file> | ||||
|     <file>mk.json</file> | ||||
|     <file>mn.json</file> | ||||
|     <file>my.json</file> | ||||
|     <file>nl.json</file> | ||||
|     <file>no.json</file> | ||||
|     <file>ph.json</file> | ||||
|     <file>pl.json</file> | ||||
|     <file>pt.json</file> | ||||
|     <file>ro.json</file> | ||||
|     <file>rs.json</file> | ||||
|     <file>ru.json</file> | ||||
|     <file>se.json</file> | ||||
|     <file>si.json</file> | ||||
|     <file>sk.json</file> | ||||
|     <file>th.json</file> | ||||
|     <file>tr.json</file> | ||||
|     <file>ua.json</file> | ||||
|     <file>uk.json</file> | ||||
|     <file>us.json</file> | ||||
|     <file>vn.json</file> | ||||
|     <file>za.json</file> | ||||
|   </gresource> | ||||
| </gresources> | ||||
| @@ -19,6 +19,12 @@ | ||||
|     <file>filter-selected-rtl.svg</file> | ||||
|     <file>gnome-shell.css</file> | ||||
|     <file>gnome-shell-high-contrast.css</file> | ||||
|     <file>key-enter.svg</file> | ||||
|     <file>key-hide.svg</file> | ||||
|     <file>key-layout.svg</file> | ||||
|     <file>key-shift.svg</file> | ||||
|     <file>key-shift-uppercase.svg</file> | ||||
|     <file>key-shift-latched-uppercase.svg</file> | ||||
|     <file>logged-in-indicator.svg</file> | ||||
|     <file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file> | ||||
|     <file>no-events.svg</file> | ||||
|   | ||||
							
								
								
									
										5
									
								
								data/gnome-shell-wayland.target
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,5 @@ | ||||
| [Unit] | ||||
| Description=GNOME Shell (wayland sync point) | ||||
| After=gnome-shell.service | ||||
| BindsTo=gnome-shell.service | ||||
| Conflicts=gnome-shell-x11.target | ||||
							
								
								
									
										5
									
								
								data/gnome-shell-x11.target
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,5 @@ | ||||
| [Unit] | ||||
| Description=GNOME Shell (x11 sync point) | ||||
| After=gnome-shell.service | ||||
| BindsTo=gnome-shell.service | ||||
| Conflicts=gnome-shell-wayland.target | ||||
							
								
								
									
										11
									
								
								data/gnome-shell.service.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,11 @@ | ||||
| [Unit] | ||||
| Description=GNOME Shell | ||||
| Wants=gnome-session.service | ||||
| After=graphical-session-pre.target gnome-session-bus.target | ||||
| PartOf=graphical-session.target | ||||
|  | ||||
| [Service] | ||||
| Type=dbus | ||||
| ExecStart=@bindir@/gnome-shell | ||||
| Restart=on-failure | ||||
| BusName=org.gnome.Shell | ||||
| @@ -62,6 +62,14 @@ theme_resources = gnome.compile_resources( | ||||
|   install_dir: pkgdatadir | ||||
| ) | ||||
|  | ||||
| osk_layout_resources = gnome.compile_resources( | ||||
|   'gnome-shell-osk-layouts', 'gnome-shell-osk-layouts.gresource.xml', | ||||
|   source_dir: 'osk-layouts', | ||||
|   gresource_bundle: true, | ||||
|   install: true, | ||||
|   install_dir: pkgdatadir | ||||
| ) | ||||
|  | ||||
| perfconf = configuration_data() | ||||
| perfconf.set('datadir', datadir) | ||||
| configure_file( | ||||
| @@ -85,6 +93,23 @@ schema = configure_file( | ||||
|   install_dir: schemadir | ||||
| ) | ||||
|  | ||||
| if have_systemd | ||||
|   unitconf = configuration_data() | ||||
|   unitconf.set('bindir', bindir) | ||||
|  | ||||
|   unit = configure_file( | ||||
|     input: 'gnome-shell.service.in', | ||||
|     output: 'gnome-shell.service', | ||||
|     configuration: unitconf, | ||||
|     install_dir: systemduserunitdir | ||||
|   ) | ||||
|  | ||||
|   units = files('gnome-shell-wayland.target', | ||||
|                 'gnome-shell-x11.target') | ||||
|  | ||||
|   install_data(units, install_dir: systemduserunitdir) | ||||
| endif | ||||
|  | ||||
| # for unit tests - gnome.compile_schemas() only looks in srcdir | ||||
| custom_target('compile-schemas', | ||||
|   input: schema, | ||||
|   | ||||
							
								
								
									
										599
									
								
								data/osk-layouts/am.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,599 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "է" | ||||
|           ], | ||||
|           [ | ||||
|             "թ" | ||||
|           ], | ||||
|           [ | ||||
|             "փ" | ||||
|           ], | ||||
|           [ | ||||
|             "ձ" | ||||
|           ], | ||||
|           [ | ||||
|             "ջ" | ||||
|           ], | ||||
|           [ | ||||
|             "ր" | ||||
|           ], | ||||
|           [ | ||||
|             "չ" | ||||
|           ], | ||||
|           [ | ||||
|             "ճ" | ||||
|           ], | ||||
|           [ | ||||
|             "ժ" | ||||
|           ], | ||||
|           [ | ||||
|             "ծ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ք" | ||||
|           ], | ||||
|           [ | ||||
|             "ո" | ||||
|           ], | ||||
|           [ | ||||
|             "ե", | ||||
|             "և" | ||||
|           ], | ||||
|           [ | ||||
|             "ռ" | ||||
|           ], | ||||
|           [ | ||||
|             "տ" | ||||
|           ], | ||||
|           [ | ||||
|             "ը" | ||||
|           ], | ||||
|           [ | ||||
|             "ւ" | ||||
|           ], | ||||
|           [ | ||||
|             "ի" | ||||
|           ], | ||||
|           [ | ||||
|             "օ" | ||||
|           ], | ||||
|           [ | ||||
|             "պ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ա" | ||||
|           ], | ||||
|           [ | ||||
|             "ս" | ||||
|           ], | ||||
|           [ | ||||
|             "դ" | ||||
|           ], | ||||
|           [ | ||||
|             "ֆ" | ||||
|           ], | ||||
|           [ | ||||
|             "գ" | ||||
|           ], | ||||
|           [ | ||||
|             "հ" | ||||
|           ], | ||||
|           [ | ||||
|             "յ" | ||||
|           ], | ||||
|           [ | ||||
|             "կ" | ||||
|           ], | ||||
|           [ | ||||
|             "լ" | ||||
|           ], | ||||
|           [ | ||||
|             "խ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "զ" | ||||
|           ], | ||||
|           [ | ||||
|             "ղ" | ||||
|           ], | ||||
|           [ | ||||
|             "ց" | ||||
|           ], | ||||
|           [ | ||||
|             "վ" | ||||
|           ], | ||||
|           [ | ||||
|             "բ" | ||||
|           ], | ||||
|           [ | ||||
|             "ն" | ||||
|           ], | ||||
|           [ | ||||
|             "մ" | ||||
|           ], | ||||
|           [ | ||||
|             "շ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "։" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Է" | ||||
|           ], | ||||
|           [ | ||||
|             "Թ" | ||||
|           ], | ||||
|           [ | ||||
|             "Փ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ձ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ջ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ր" | ||||
|           ], | ||||
|           [ | ||||
|             "Չ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ճ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ժ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ծ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ք" | ||||
|           ], | ||||
|           [ | ||||
|             "Ո" | ||||
|           ], | ||||
|           [ | ||||
|             "Ե", | ||||
|             "ԵՒ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ռ" | ||||
|           ], | ||||
|           [ | ||||
|             "Տ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ը" | ||||
|           ], | ||||
|           [ | ||||
|             "Ւ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ի" | ||||
|           ], | ||||
|           [ | ||||
|             "Օ" | ||||
|           ], | ||||
|           [ | ||||
|             "Պ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ա" | ||||
|           ], | ||||
|           [ | ||||
|             "Ս" | ||||
|           ], | ||||
|           [ | ||||
|             "Դ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ֆ" | ||||
|           ], | ||||
|           [ | ||||
|             "Գ" | ||||
|           ], | ||||
|           [ | ||||
|             "Հ" | ||||
|           ], | ||||
|           [ | ||||
|             "Յ" | ||||
|           ], | ||||
|           [ | ||||
|             "Կ" | ||||
|           ], | ||||
|           [ | ||||
|             "Լ" | ||||
|           ], | ||||
|           [ | ||||
|             "Խ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Զ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ղ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ց" | ||||
|           ], | ||||
|           [ | ||||
|             "Վ" | ||||
|           ], | ||||
|           [ | ||||
|             "Բ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ն" | ||||
|           ], | ||||
|           [ | ||||
|             "Մ" | ||||
|           ], | ||||
|           [ | ||||
|             "Շ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "։" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "՜", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "՞", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "՝" | ||||
|           ], | ||||
|           [ | ||||
|             "։", | ||||
|             "!", | ||||
|             "?", | ||||
|             ",", | ||||
|             ".", | ||||
|             "֊", | ||||
|             "՜", | ||||
|             "՝", | ||||
|             "՞", | ||||
|             ":", | ||||
|             ";", | ||||
|             "@", | ||||
|             "ՙ", | ||||
|             "՚", | ||||
|             "՛", | ||||
|             "՟" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "՝" | ||||
|           ], | ||||
|           [ | ||||
|             "։", | ||||
|             "!", | ||||
|             "?", | ||||
|             ",", | ||||
|             ".", | ||||
|             "֊", | ||||
|             "՜", | ||||
|             "՝", | ||||
|             "՞", | ||||
|             ":", | ||||
|             ";", | ||||
|             "@", | ||||
|             "ՙ", | ||||
|             "՚", | ||||
|             "՛", | ||||
|             "՟" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "hy", | ||||
|   "name": "Armenian" | ||||
| } | ||||
							
								
								
									
										488
									
								
								data/osk-layouts/ara.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,488 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ض" | ||||
|           ], | ||||
|           [ | ||||
|             "ص" | ||||
|           ], | ||||
|           [ | ||||
|             "ث" | ||||
|           ], | ||||
|           [ | ||||
|             "ق", | ||||
|             "ڨ" | ||||
|           ], | ||||
|           [ | ||||
|             "ف", | ||||
|             "ڤ", | ||||
|             "ڢ", | ||||
|             "ڥ" | ||||
|           ], | ||||
|           [ | ||||
|             "غ" | ||||
|           ], | ||||
|           [ | ||||
|             "ع" | ||||
|           ], | ||||
|           [ | ||||
|             "ه", | ||||
|             "ه" | ||||
|           ], | ||||
|           [ | ||||
|             "خ" | ||||
|           ], | ||||
|           [ | ||||
|             "ح" | ||||
|           ], | ||||
|           [ | ||||
|             "ج", | ||||
|             "چ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ش", | ||||
|             "ڜ" | ||||
|           ], | ||||
|           [ | ||||
|             "س" | ||||
|           ], | ||||
|           [ | ||||
|             "ي", | ||||
|             "ئ", | ||||
|             "ى" | ||||
|           ], | ||||
|           [ | ||||
|             "ب", | ||||
|             "پ" | ||||
|           ], | ||||
|           [ | ||||
|             "ل", | ||||
|             "لا", | ||||
|             "لأ", | ||||
|             "لإ", | ||||
|             "لآ" | ||||
|           ], | ||||
|           [ | ||||
|             "ا", | ||||
|             "آ", | ||||
|             "ء", | ||||
|             "أ", | ||||
|             "إ", | ||||
|             "ٱ" | ||||
|           ], | ||||
|           [ | ||||
|             "ت" | ||||
|           ], | ||||
|           [ | ||||
|             "ن" | ||||
|           ], | ||||
|           [ | ||||
|             "م" | ||||
|           ], | ||||
|           [ | ||||
|             "ك", | ||||
|             "گ", | ||||
|             "ک" | ||||
|           ], | ||||
|           [ | ||||
|             "ط" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ذ" | ||||
|           ], | ||||
|           [ | ||||
|             "ء" | ||||
|           ], | ||||
|           [ | ||||
|             "ؤ" | ||||
|           ], | ||||
|           [ | ||||
|             "ر" | ||||
|           ], | ||||
|           [ | ||||
|             "ى", | ||||
|             "ئ" | ||||
|           ], | ||||
|           [ | ||||
|             "ة" | ||||
|           ], | ||||
|           [ | ||||
|             "و" | ||||
|           ], | ||||
|           [ | ||||
|             "ز", | ||||
|             "ژ" | ||||
|           ], | ||||
|           [ | ||||
|             "ظ" | ||||
|           ], | ||||
|           [ | ||||
|             "د" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "،" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "\"", | ||||
|             "'", | ||||
|             "#", | ||||
|             "-", | ||||
|             ":", | ||||
|             "!", | ||||
|             "،", | ||||
|             "؟", | ||||
|             "@", | ||||
|             "&", | ||||
|             "%", | ||||
|             "+", | ||||
|             "؛", | ||||
|             "/", | ||||
|             ")", | ||||
|             "(" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "١", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "٢", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "٣", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "٤", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "٥", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "٦" | ||||
|           ], | ||||
|           [ | ||||
|             "٧", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "٨" | ||||
|           ], | ||||
|           [ | ||||
|             "٩" | ||||
|           ], | ||||
|           [ | ||||
|             "٠", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "٪", | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "﴿", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             "﴾", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "★", | ||||
|             "٭" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             "؛", | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "؟", | ||||
|             "?" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "!", | ||||
|             ":", | ||||
|             "-", | ||||
|             "/", | ||||
|             "'", | ||||
|             "\"" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "!", | ||||
|             ":", | ||||
|             "-", | ||||
|             "/", | ||||
|             "'", | ||||
|             "\"" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ar", | ||||
|   "name": "Arabic" | ||||
| } | ||||
							
								
								
									
										584
									
								
								data/osk-layouts/be.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,584 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ë", | ||||
|             "ê", | ||||
|             "è", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "à", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ë", | ||||
|             "Ê", | ||||
|             "È", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "À", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "nl-BE", | ||||
|   "name": "Dutch (Belgium)" | ||||
| } | ||||
							
								
								
									
										533
									
								
								data/osk-layouts/bg.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,533 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "е" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "и", | ||||
|             "ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ], | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ], | ||||
|           [ | ||||
|             "щ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "ь" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "Е" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "И", | ||||
|             "Ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ], | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ], | ||||
|           [ | ||||
|             "Щ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "bg", | ||||
|   "name": "Bulgarian" | ||||
| } | ||||
							
								
								
									
										541
									
								
								data/osk-layouts/by.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,541 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "е", | ||||
|             "ё" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ], | ||||
|           [ | ||||
|             "ў" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "ы" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "і" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ь", | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Е", | ||||
|             "Ё" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ], | ||||
|           [ | ||||
|             "Ў" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Ы" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "І" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь", | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "be", | ||||
|   "name": "Belarusian" | ||||
| } | ||||
							
								
								
									
										613
									
								
								data/osk-layouts/cz.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,613 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ě", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ř" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ť" | ||||
|           ], | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ź", | ||||
|             "ż" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ů", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ň", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ě", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ř" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ť" | ||||
|           ], | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ź", | ||||
|             "Ż" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ů", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ň", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "cs", | ||||
|   "name": "Czech" | ||||
| } | ||||
							
								
								
									
										570
									
								
								data/osk-layouts/de.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,570 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ė" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "à", | ||||
|             "á", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ė" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "de", | ||||
|   "name": "German" | ||||
| } | ||||
							
								
								
									
										590
									
								
								data/osk-layouts/dk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,590 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ë" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ], | ||||
|           [ | ||||
|             "å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ð" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ł" | ||||
|           ], | ||||
|           [ | ||||
|             "æ", | ||||
|             "ä" | ||||
|           ], | ||||
|           [ | ||||
|             "ø", | ||||
|             "ö" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ë" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ], | ||||
|           [ | ||||
|             "Å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ð" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ł" | ||||
|           ], | ||||
|           [ | ||||
|             "Æ", | ||||
|             "Ä" | ||||
|           ], | ||||
|           [ | ||||
|             "Ø", | ||||
|             "Ö" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "da", | ||||
|   "name": "Danish" | ||||
| } | ||||
							
								
								
									
										666
									
								
								data/osk-layouts/ee.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,666 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "ē", | ||||
|             "è", | ||||
|             "ė", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ě" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ŗ", | ||||
|             "ř", | ||||
|             "ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ţ", | ||||
|             "ť" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ü", | ||||
|             "ū", | ||||
|             "ų", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "û", | ||||
|             "ů", | ||||
|             "ű" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "ī", | ||||
|             "ì", | ||||
|             "į", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ı" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ö", | ||||
|             "õ", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "œ", | ||||
|             "ő", | ||||
|             "ø" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ], | ||||
|           [ | ||||
|             "ü" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "ä", | ||||
|             "ā", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "æ", | ||||
|             "ą" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "ş" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ģ", | ||||
|             "ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k", | ||||
|             "ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ļ", | ||||
|             "ł", | ||||
|             "ĺ", | ||||
|             "ľ" | ||||
|           ], | ||||
|           [ | ||||
|             "ö", | ||||
|             "õ" | ||||
|           ], | ||||
|           [ | ||||
|             "ä" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ż", | ||||
|             "ź" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ņ", | ||||
|             "ñ", | ||||
|             "ń", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "Ē", | ||||
|             "È", | ||||
|             "Ė", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ě" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ŗ", | ||||
|             "Ř", | ||||
|             "Ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ţ", | ||||
|             "Ť" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ü", | ||||
|             "Ū", | ||||
|             "Ų", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Û", | ||||
|             "Ů", | ||||
|             "Ű" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Ī", | ||||
|             "Ì", | ||||
|             "Į", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ö", | ||||
|             "Õ", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Œ", | ||||
|             "Ő", | ||||
|             "Ø" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ], | ||||
|           [ | ||||
|             "Ü" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Ä", | ||||
|             "Ā", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Æ", | ||||
|             "Ą" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Ş" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ģ", | ||||
|             "Ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K", | ||||
|             "Ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ļ", | ||||
|             "Ł", | ||||
|             "Ĺ", | ||||
|             "Ľ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ö", | ||||
|             "Õ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ä" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ż", | ||||
|             "Ź" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ņ", | ||||
|             "Ñ", | ||||
|             "Ń", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "et", | ||||
|   "name": "Estonian" | ||||
| } | ||||
							
								
								
									
										711
									
								
								data/osk-layouts/epo.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,711 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ŝ", | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "ĝ", | ||||
|             "w", | ||||
|             "ŵ" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ě", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ř", | ||||
|             "ŕ", | ||||
|             "ŗ" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ť", | ||||
|             "ț", | ||||
|             "ţ", | ||||
|             "ŧ" | ||||
|           ], | ||||
|           [ | ||||
|             "ŭ", | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ŷ", | ||||
|             "ÿ", | ||||
|             "þ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ů", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ū", | ||||
|             "ũ", | ||||
|             "ű", | ||||
|             "ų", | ||||
|             "µ" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ĩ", | ||||
|             "ì", | ||||
|             "į", | ||||
|             "ī", | ||||
|             "ı", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "ő", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā", | ||||
|             "ă", | ||||
|             "ą", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß", | ||||
|             "š", | ||||
|             "ś", | ||||
|             "ș", | ||||
|             "ş" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ð", | ||||
|             "ď", | ||||
|             "đ" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ğ", | ||||
|             "ġ", | ||||
|             "ģ" | ||||
|           ], | ||||
|           [ | ||||
|             "h", | ||||
|             "ĥ", | ||||
|             "ħ" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k", | ||||
|             "ķ", | ||||
|             "ĸ" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ĺ", | ||||
|             "ļ", | ||||
|             "ľ", | ||||
|             "ŀ", | ||||
|             "ł" | ||||
|           ], | ||||
|           [ | ||||
|             "ĵ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ź", | ||||
|             "ż", | ||||
|             "ž" | ||||
|           ], | ||||
|           [ | ||||
|             "ĉ", | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ć", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ċ" | ||||
|           ], | ||||
|           [ | ||||
|             "v", | ||||
|             "w", | ||||
|             "ŵ" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń", | ||||
|             "ņ", | ||||
|             "ň", | ||||
|             "ʼn", | ||||
|             "ŋ" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Ŝ", | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "Ĝ", | ||||
|             "W", | ||||
|             "Ŵ" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ě", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ř", | ||||
|             "Ŕ", | ||||
|             "Ŗ" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ť", | ||||
|             "Ț", | ||||
|             "Ţ", | ||||
|             "Ŧ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ŭ", | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ŷ", | ||||
|             "Ÿ", | ||||
|             "Þ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ů", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ū", | ||||
|             "Ũ", | ||||
|             "Ű", | ||||
|             "Ų", | ||||
|             "Μ" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Ĩ", | ||||
|             "Ì", | ||||
|             "Į", | ||||
|             "Ī", | ||||
|             "I", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "Ő", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā", | ||||
|             "Ă", | ||||
|             "Ą", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS", | ||||
|             "Š", | ||||
|             "Ś", | ||||
|             "Ș", | ||||
|             "Ş" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ð", | ||||
|             "Ď", | ||||
|             "Đ" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ğ", | ||||
|             "Ġ", | ||||
|             "Ģ" | ||||
|           ], | ||||
|           [ | ||||
|             "H", | ||||
|             "Ĥ", | ||||
|             "Ħ" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K", | ||||
|             "Ķ", | ||||
|             "ĸ" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ĺ", | ||||
|             "Ļ", | ||||
|             "Ľ", | ||||
|             "Ŀ", | ||||
|             "Ł" | ||||
|           ], | ||||
|           [ | ||||
|             "Ĵ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ź", | ||||
|             "Ż", | ||||
|             "Ž" | ||||
|           ], | ||||
|           [ | ||||
|             "Ĉ", | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ć", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ċ" | ||||
|           ], | ||||
|           [ | ||||
|             "V", | ||||
|             "W", | ||||
|             "Ŵ" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń", | ||||
|             "Ņ", | ||||
|             "Ň", | ||||
|             "ʼN", | ||||
|             "Ŋ" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "eo", | ||||
|   "name": "Esperanto" | ||||
| } | ||||
							
								
								
									
										602
									
								
								data/osk-layouts/es+cat.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,602 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ë", | ||||
|             "ê", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "õ", | ||||
|             "ø", | ||||
|             "œ", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ą", | ||||
|             "æ", | ||||
|             "ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "l·l", | ||||
|             "ł" | ||||
|           ], | ||||
|           [ | ||||
|             "ç" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "·", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             ";", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ë", | ||||
|             "Ê", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Õ", | ||||
|             "Ø", | ||||
|             "Œ", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ą", | ||||
|             "Æ", | ||||
|             "Ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "L·L", | ||||
|             "Ł" | ||||
|           ], | ||||
|           [ | ||||
|             "Ç" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "·", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             ";", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "·" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "·" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ca", | ||||
|   "name": "Catalan" | ||||
| } | ||||
							
								
								
									
										604
									
								
								data/osk-layouts/es.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,604 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ë", | ||||
|             "ê", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ò", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "õ", | ||||
|             "ø", | ||||
|             "œ", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ą", | ||||
|             "æ", | ||||
|             "ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ], | ||||
|           [ | ||||
|             "ñ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             ";", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             "¡", | ||||
|             "@", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ë", | ||||
|             "Ê", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ò", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Õ", | ||||
|             "Ø", | ||||
|             "Œ", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ą", | ||||
|             "Æ", | ||||
|             "Ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ], | ||||
|           [ | ||||
|             "Ñ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             ";", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             "¡", | ||||
|             "@", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "es", | ||||
|   "name": "Spanish" | ||||
| } | ||||
							
								
								
									
										570
									
								
								data/osk-layouts/fi.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,570 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ü" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ø", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ], | ||||
|           [ | ||||
|             "å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "æ", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ], | ||||
|           [ | ||||
|             "ö", | ||||
|             "ø" | ||||
|           ], | ||||
|           [ | ||||
|             "ä", | ||||
|             "æ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ź", | ||||
|             "ż" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ü" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ø", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ], | ||||
|           [ | ||||
|             "Å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Æ", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ], | ||||
|           [ | ||||
|             "Ö", | ||||
|             "Ø" | ||||
|           ], | ||||
|           [ | ||||
|             "Ä", | ||||
|             "Æ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ź", | ||||
|             "Ż" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "fi", | ||||
|   "name": "Finnish" | ||||
| } | ||||
							
								
								
									
										599
									
								
								data/osk-layouts/fr.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,599 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "%", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "%", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "%", | ||||
|             "ü", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "î", | ||||
|             "%", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ô", | ||||
|             "œ", | ||||
|             "%", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "õ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "â", | ||||
|             "%", | ||||
|             "æ", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "%", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "%", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "%", | ||||
|             "Ü", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Î", | ||||
|             "%", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ô", | ||||
|             "Œ", | ||||
|             "%", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Õ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "%", | ||||
|             "Æ", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "fr-CA", | ||||
|   "name": "French Canada" | ||||
| } | ||||
							
								
								
									
										409
									
								
								data/osk-layouts/ge.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,409 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ქ" | ||||
|           ], | ||||
|           [ | ||||
|             "წ" | ||||
|           ], | ||||
|           [ | ||||
|             "ე", | ||||
|             "ჱ" | ||||
|           ], | ||||
|           [ | ||||
|             "რ" | ||||
|           ], | ||||
|           [ | ||||
|             "ტ" | ||||
|           ], | ||||
|           [ | ||||
|             "ყ", | ||||
|             "ჸ" | ||||
|           ], | ||||
|           [ | ||||
|             "უ" | ||||
|           ], | ||||
|           [ | ||||
|             "ი", | ||||
|             "ჲ" | ||||
|           ], | ||||
|           [ | ||||
|             "ო" | ||||
|           ], | ||||
|           [ | ||||
|             "პ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ა", | ||||
|             "ჺ" | ||||
|           ], | ||||
|           [ | ||||
|             "ს" | ||||
|           ], | ||||
|           [ | ||||
|             "დ" | ||||
|           ], | ||||
|           [ | ||||
|             "ფ", | ||||
|             "ჶ" | ||||
|           ], | ||||
|           [ | ||||
|             "გ", | ||||
|             "ჹ" | ||||
|           ], | ||||
|           [ | ||||
|             "ჰ", | ||||
|             "ჵ" | ||||
|           ], | ||||
|           [ | ||||
|             "ჯ", | ||||
|             "ჷ" | ||||
|           ], | ||||
|           [ | ||||
|             "კ" | ||||
|           ], | ||||
|           [ | ||||
|             "ლ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ზ" | ||||
|           ], | ||||
|           [ | ||||
|             "ხ", | ||||
|             "ჴ" | ||||
|           ], | ||||
|           [ | ||||
|             "ც" | ||||
|           ], | ||||
|           [ | ||||
|             "ვ", | ||||
|             "ჳ" | ||||
|           ], | ||||
|           [ | ||||
|             "ბ" | ||||
|           ], | ||||
|           [ | ||||
|             "ნ", | ||||
|             "ჼ" | ||||
|           ], | ||||
|           [ | ||||
|             "მ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ka", | ||||
|   "name": "Georgian" | ||||
| } | ||||
							
								
								
									
										532
									
								
								data/osk-layouts/gr.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,532 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             ";", | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             "ς" | ||||
|           ], | ||||
|           [ | ||||
|             "ε", | ||||
|             "έ" | ||||
|           ], | ||||
|           [ | ||||
|             "ρ" | ||||
|           ], | ||||
|           [ | ||||
|             "τ" | ||||
|           ], | ||||
|           [ | ||||
|             "υ", | ||||
|             "ύ", | ||||
|             "ϋ", | ||||
|             "ΰ" | ||||
|           ], | ||||
|           [ | ||||
|             "θ" | ||||
|           ], | ||||
|           [ | ||||
|             "ι", | ||||
|             "ί", | ||||
|             "ϊ", | ||||
|             "ΐ" | ||||
|           ], | ||||
|           [ | ||||
|             "ο", | ||||
|             "ό" | ||||
|           ], | ||||
|           [ | ||||
|             "π" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "α", | ||||
|             "ά" | ||||
|           ], | ||||
|           [ | ||||
|             "σ" | ||||
|           ], | ||||
|           [ | ||||
|             "δ" | ||||
|           ], | ||||
|           [ | ||||
|             "φ" | ||||
|           ], | ||||
|           [ | ||||
|             "γ" | ||||
|           ], | ||||
|           [ | ||||
|             "η", | ||||
|             "ή" | ||||
|           ], | ||||
|           [ | ||||
|             "ξ" | ||||
|           ], | ||||
|           [ | ||||
|             "κ" | ||||
|           ], | ||||
|           [ | ||||
|             "λ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ζ" | ||||
|           ], | ||||
|           [ | ||||
|             "χ" | ||||
|           ], | ||||
|           [ | ||||
|             "ψ" | ||||
|           ], | ||||
|           [ | ||||
|             "ω", | ||||
|             "ώ" | ||||
|           ], | ||||
|           [ | ||||
|             "β" | ||||
|           ], | ||||
|           [ | ||||
|             "ν" | ||||
|           ], | ||||
|           [ | ||||
|             "μ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             ";", | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             "Σ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ε", | ||||
|             "Έ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ρ" | ||||
|           ], | ||||
|           [ | ||||
|             "Τ" | ||||
|           ], | ||||
|           [ | ||||
|             "Υ", | ||||
|             "Ύ", | ||||
|             "Ϋ", | ||||
|             "Ϋ́" | ||||
|           ], | ||||
|           [ | ||||
|             "Θ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ι", | ||||
|             "Ί", | ||||
|             "Ϊ", | ||||
|             "Ϊ́" | ||||
|           ], | ||||
|           [ | ||||
|             "Ο", | ||||
|             "Ό" | ||||
|           ], | ||||
|           [ | ||||
|             "Π" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Α", | ||||
|             "Ά" | ||||
|           ], | ||||
|           [ | ||||
|             "Σ" | ||||
|           ], | ||||
|           [ | ||||
|             "Δ" | ||||
|           ], | ||||
|           [ | ||||
|             "Φ" | ||||
|           ], | ||||
|           [ | ||||
|             "Γ" | ||||
|           ], | ||||
|           [ | ||||
|             "Η", | ||||
|             "Ή" | ||||
|           ], | ||||
|           [ | ||||
|             "Ξ" | ||||
|           ], | ||||
|           [ | ||||
|             "Κ" | ||||
|           ], | ||||
|           [ | ||||
|             "Λ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ζ" | ||||
|           ], | ||||
|           [ | ||||
|             "Χ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ψ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ω", | ||||
|             "Ώ" | ||||
|           ], | ||||
|           [ | ||||
|             "Β" | ||||
|           ], | ||||
|           [ | ||||
|             "Ν" | ||||
|           ], | ||||
|           [ | ||||
|             "Μ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "el", | ||||
|   "name": "Greek" | ||||
| } | ||||
							
								
								
									
										531
									
								
								data/osk-layouts/hr.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,531 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ź", | ||||
|             "ż" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ś", | ||||
|             "ß" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "đ" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ć", | ||||
|             "ç" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ź", | ||||
|             "Ż" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "Ś", | ||||
|             "SS" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Đ" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ć", | ||||
|             "Ç" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "hr", | ||||
|   "name": "Croatian" | ||||
| } | ||||
							
								
								
									
										579
									
								
								data/osk-layouts/hu.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,579 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "ű", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ő", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Ű", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ő", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "hu", | ||||
|   "name": "Hungarian" | ||||
| } | ||||
							
								
								
									
										507
									
								
								data/osk-layouts/id.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,507 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "id", | ||||
|   "name": "Indonesian" | ||||
| } | ||||
							
								
								
									
										419
									
								
								data/osk-layouts/il.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,419 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "'", | ||||
|             "\"" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "ק" | ||||
|           ], | ||||
|           [ | ||||
|             "ר" | ||||
|           ], | ||||
|           [ | ||||
|             "א" | ||||
|           ], | ||||
|           [ | ||||
|             "ט" | ||||
|           ], | ||||
|           [ | ||||
|             "ו" | ||||
|           ], | ||||
|           [ | ||||
|             "ן" | ||||
|           ], | ||||
|           [ | ||||
|             "ם" | ||||
|           ], | ||||
|           [ | ||||
|             "פ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ש" | ||||
|           ], | ||||
|           [ | ||||
|             "ד" | ||||
|           ], | ||||
|           [ | ||||
|             "ג", | ||||
|             "ג׳" | ||||
|           ], | ||||
|           [ | ||||
|             "כ" | ||||
|           ], | ||||
|           [ | ||||
|             "ע" | ||||
|           ], | ||||
|           [ | ||||
|             "י", | ||||
|             "ײַ" | ||||
|           ], | ||||
|           [ | ||||
|             "ח", | ||||
|             "ח׳" | ||||
|           ], | ||||
|           [ | ||||
|             "ל" | ||||
|           ], | ||||
|           [ | ||||
|             "ך" | ||||
|           ], | ||||
|           [ | ||||
|             "ף" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ז", | ||||
|             "ז׳" | ||||
|           ], | ||||
|           [ | ||||
|             "ס" | ||||
|           ], | ||||
|           [ | ||||
|             "ב" | ||||
|           ], | ||||
|           [ | ||||
|             "ה" | ||||
|           ], | ||||
|           [ | ||||
|             "נ" | ||||
|           ], | ||||
|           [ | ||||
|             "מ" | ||||
|           ], | ||||
|           [ | ||||
|             "צ", | ||||
|             "צ׳" | ||||
|           ], | ||||
|           [ | ||||
|             "ת", | ||||
|             "ת׳" | ||||
|           ], | ||||
|           [ | ||||
|             "ץ", | ||||
|             "ץ׳" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₪", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±", | ||||
|             "﬩" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "he", | ||||
|   "name": "Hebrew" | ||||
| } | ||||
							
								
								
									
										439
									
								
								data/osk-layouts/in+bolnagri.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,439 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "◌ौ" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ै" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ा" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ी" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ू" | ||||
|           ], | ||||
|           [ | ||||
|             "ब", | ||||
|             "ब॒", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "ह" | ||||
|           ], | ||||
|           [ | ||||
|             "ग", | ||||
|             "ज्ञ", | ||||
|             "ग़", | ||||
|             "ग॒", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "द" | ||||
|           ], | ||||
|           [ | ||||
|             "ज", | ||||
|             "ज॒", | ||||
|             "ज्ञ", | ||||
|             "ज़", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "ड", | ||||
|             "ड॒", | ||||
|             "ड़" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "◌ो" | ||||
|           ], | ||||
|           [ | ||||
|             "◌े" | ||||
|           ], | ||||
|           [ | ||||
|             "◌्" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ि" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ु" | ||||
|           ], | ||||
|           [ | ||||
|             "प" | ||||
|           ], | ||||
|           [ | ||||
|             "र", | ||||
|             "ऋ", | ||||
|             "ऱ", | ||||
|             "ॠ" | ||||
|           ], | ||||
|           [ | ||||
|             "क", | ||||
|             "क़" | ||||
|           ], | ||||
|           [ | ||||
|             "त", | ||||
|             "त्र" | ||||
|           ], | ||||
|           [ | ||||
|             "च" | ||||
|           ], | ||||
|           [ | ||||
|             "ट" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "◌ॉ" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ं" | ||||
|           ], | ||||
|           [ | ||||
|             "म", | ||||
|             "ॐ" | ||||
|           ], | ||||
|           [ | ||||
|             "न", | ||||
|             "ञ", | ||||
|             "ङ", | ||||
|             "ऩ" | ||||
|           ], | ||||
|           [ | ||||
|             "व" | ||||
|           ], | ||||
|           [ | ||||
|             "ल", | ||||
|             "ऌ", | ||||
|             "ॡ" | ||||
|           ], | ||||
|           [ | ||||
|             "स" | ||||
|           ], | ||||
|           [ | ||||
|             "य", | ||||
|             "य़" | ||||
|           ], | ||||
|           [ | ||||
|             "◌़" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "१", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "२", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "३", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "४", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "५", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "६" | ||||
|           ], | ||||
|           [ | ||||
|             "७", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "८" | ||||
|           ], | ||||
|           [ | ||||
|             "९" | ||||
|           ], | ||||
|           [ | ||||
|             "०", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₹", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "hi", | ||||
|   "name": "Hindi" | ||||
| } | ||||
							
								
								
									
										495
									
								
								data/osk-layouts/ir.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,495 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ض" | ||||
|           ], | ||||
|           [ | ||||
|             "ص" | ||||
|           ], | ||||
|           [ | ||||
|             "ث" | ||||
|           ], | ||||
|           [ | ||||
|             "ق", | ||||
|             "ڨ" | ||||
|           ], | ||||
|           [ | ||||
|             "ف", | ||||
|             "ڤ", | ||||
|             "ڢ", | ||||
|             "ڥ" | ||||
|           ], | ||||
|           [ | ||||
|             "غ" | ||||
|           ], | ||||
|           [ | ||||
|             "ع" | ||||
|           ], | ||||
|           [ | ||||
|             "ه", | ||||
|             "ه" | ||||
|           ], | ||||
|           [ | ||||
|             "خ" | ||||
|           ], | ||||
|           [ | ||||
|             "ح" | ||||
|           ], | ||||
|           [ | ||||
|             "ج", | ||||
|             "چ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ش", | ||||
|             "ڜ" | ||||
|           ], | ||||
|           [ | ||||
|             "س" | ||||
|           ], | ||||
|           [ | ||||
|             "ي", | ||||
|             "ئ", | ||||
|             "ى" | ||||
|           ], | ||||
|           [ | ||||
|             "ب", | ||||
|             "پ" | ||||
|           ], | ||||
|           [ | ||||
|             "ل", | ||||
|             "لا", | ||||
|             "لأ", | ||||
|             "لإ", | ||||
|             "لآ" | ||||
|           ], | ||||
|           [ | ||||
|             "ا", | ||||
|             "آ", | ||||
|             "ء", | ||||
|             "أ", | ||||
|             "إ", | ||||
|             "ٱ" | ||||
|           ], | ||||
|           [ | ||||
|             "ت" | ||||
|           ], | ||||
|           [ | ||||
|             "ن" | ||||
|           ], | ||||
|           [ | ||||
|             "م" | ||||
|           ], | ||||
|           [ | ||||
|             "ك", | ||||
|             "گ", | ||||
|             "ک" | ||||
|           ], | ||||
|           [ | ||||
|             "ط" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ذ" | ||||
|           ], | ||||
|           [ | ||||
|             "ء" | ||||
|           ], | ||||
|           [ | ||||
|             "ؤ" | ||||
|           ], | ||||
|           [ | ||||
|             "ر" | ||||
|           ], | ||||
|           [ | ||||
|             "ى", | ||||
|             "ئ" | ||||
|           ], | ||||
|           [ | ||||
|             "ة" | ||||
|           ], | ||||
|           [ | ||||
|             "و" | ||||
|           ], | ||||
|           [ | ||||
|             "ز", | ||||
|             "ژ" | ||||
|           ], | ||||
|           [ | ||||
|             "ظ" | ||||
|           ], | ||||
|           [ | ||||
|             "د" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "،" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "\"", | ||||
|             "'", | ||||
|             "#", | ||||
|             "-", | ||||
|             ":", | ||||
|             "!", | ||||
|             "،", | ||||
|             "؟", | ||||
|             "@", | ||||
|             "&", | ||||
|             "%", | ||||
|             "+", | ||||
|             "؛", | ||||
|             "/", | ||||
|             ")", | ||||
|             "(" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "۱", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "۲", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "۳", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "۴", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "۵", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "۶" | ||||
|           ], | ||||
|           [ | ||||
|             "۷", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "۸" | ||||
|           ], | ||||
|           [ | ||||
|             "۹" | ||||
|           ], | ||||
|           [ | ||||
|             "۰", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "٬", | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "٫", | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "﷼", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "٪", | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "﴿", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             "﴾", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "★", | ||||
|             "٭" | ||||
|           ], | ||||
|           [ | ||||
|             "«", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "»", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             "؛", | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "؟", | ||||
|             "?" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             ":", | ||||
|             "!", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "-", | ||||
|             "/", | ||||
|             "»", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "«", | ||||
|             "›", | ||||
|             "≥", | ||||
|             ">" | ||||
|           ], | ||||
|           [ | ||||
|             "»", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "<" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             ":", | ||||
|             "!", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "-", | ||||
|             "/", | ||||
|             "»", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "fa", | ||||
|   "name": "Persian" | ||||
| } | ||||
							
								
								
									
										583
									
								
								data/osk-layouts/is.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,583 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ë", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "þ" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "î", | ||||
|             "ì", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "å", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ð" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ë", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Þ" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Î", | ||||
|             "Ì", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Å", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ð" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "is", | ||||
|   "name": "Icelandic" | ||||
| } | ||||
							
								
								
									
										580
									
								
								data/osk-layouts/it.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,580 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "ö", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Ö", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "it", | ||||
|   "name": "Italian" | ||||
| } | ||||
							
								
								
									
										577
									
								
								data/osk-layouts/ke.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,577 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "í", | ||||
|             "ī", | ||||
|             "ì" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ô", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "õ" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "g'" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Í", | ||||
|             "Ī", | ||||
|             "Ì" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ô", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "Õ" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "G'" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "sw", | ||||
|   "name": "Swahili" | ||||
| } | ||||
							
								
								
									
										547
									
								
								data/osk-layouts/kg.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,547 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "у", | ||||
|             "ү" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "е", | ||||
|             "ё" | ||||
|           ], | ||||
|           [ | ||||
|             "н", | ||||
|             "ң" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ], | ||||
|           [ | ||||
|             "щ" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "ы" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "о", | ||||
|             "ө" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "и" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ь", | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "У", | ||||
|             "Ү" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Е", | ||||
|             "Ё" | ||||
|           ], | ||||
|           [ | ||||
|             "Н", | ||||
|             "Ң" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ], | ||||
|           [ | ||||
|             "Щ" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Ы" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "О", | ||||
|             "Ө" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "И" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь", | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ky", | ||||
|   "name": "Kirghiz" | ||||
| } | ||||
							
								
								
									
										481
									
								
								data/osk-layouts/kh.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,481 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "១", | ||||
|             "៱" | ||||
|           ], | ||||
|           [ | ||||
|             "២", | ||||
|             "៲" | ||||
|           ], | ||||
|           [ | ||||
|             "៣", | ||||
|             "៳" | ||||
|           ], | ||||
|           [ | ||||
|             "៤", | ||||
|             "៴" | ||||
|           ], | ||||
|           [ | ||||
|             "៥", | ||||
|             "៵" | ||||
|           ], | ||||
|           [ | ||||
|             "៦", | ||||
|             "៶" | ||||
|           ], | ||||
|           [ | ||||
|             "៧", | ||||
|             "៷" | ||||
|           ], | ||||
|           [ | ||||
|             "៨", | ||||
|             "៸" | ||||
|           ], | ||||
|           [ | ||||
|             "៩", | ||||
|             "៹" | ||||
|           ], | ||||
|           [ | ||||
|             "០", | ||||
|             "៰" | ||||
|           ], | ||||
|           [ | ||||
|             "ឥ", | ||||
|             "", | ||||
|             "ឦ" | ||||
|           ], | ||||
|           [ | ||||
|             "ឲ", | ||||
|             "ឱ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ឆ" | ||||
|           ], | ||||
|           [ | ||||
|             "ឹ" | ||||
|           ], | ||||
|           [ | ||||
|             "េ" | ||||
|           ], | ||||
|           [ | ||||
|             "រ" | ||||
|           ], | ||||
|           [ | ||||
|             "ត" | ||||
|           ], | ||||
|           [ | ||||
|             "យ" | ||||
|           ], | ||||
|           [ | ||||
|             "ុ" | ||||
|           ], | ||||
|           [ | ||||
|             "ិ" | ||||
|           ], | ||||
|           [ | ||||
|             "ោ" | ||||
|           ], | ||||
|           [ | ||||
|             "ផ" | ||||
|           ], | ||||
|           [ | ||||
|             "ៀ" | ||||
|           ], | ||||
|           [ | ||||
|             "ឪ", | ||||
|             "ឧ", | ||||
|             "ឱ", | ||||
|             "ឳ", | ||||
|             "ឩ", | ||||
|             "ឨ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ា" | ||||
|           ], | ||||
|           [ | ||||
|             "ស" | ||||
|           ], | ||||
|           [ | ||||
|             "ដ" | ||||
|           ], | ||||
|           [ | ||||
|             "ថ" | ||||
|           ], | ||||
|           [ | ||||
|             "ង" | ||||
|           ], | ||||
|           [ | ||||
|             "ហ" | ||||
|           ], | ||||
|           [ | ||||
|             "្" | ||||
|           ], | ||||
|           [ | ||||
|             "ក" | ||||
|           ], | ||||
|           [ | ||||
|             "ល" | ||||
|           ], | ||||
|           [ | ||||
|             "ើ" | ||||
|           ], | ||||
|           [ | ||||
|             "់" | ||||
|           ], | ||||
|           [ | ||||
|             "ឮ", | ||||
|             "ឭ", | ||||
|             "ឰ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ឋ" | ||||
|           ], | ||||
|           [ | ||||
|             "ខ" | ||||
|           ], | ||||
|           [ | ||||
|             "ច" | ||||
|           ], | ||||
|           [ | ||||
|             "វ" | ||||
|           ], | ||||
|           [ | ||||
|             "ប" | ||||
|           ], | ||||
|           [ | ||||
|             "ន" | ||||
|           ], | ||||
|           [ | ||||
|             "ម" | ||||
|           ], | ||||
|           [ | ||||
|             "ុំ" | ||||
|           ], | ||||
|           [ | ||||
|             "។" | ||||
|           ], | ||||
|           [ | ||||
|             "៊" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "៛", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "km", | ||||
|   "name": "Khmer" | ||||
| } | ||||
							
								
								
									
										472
									
								
								data/osk-layouts/la.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,472 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ຢ", | ||||
|             "໑" | ||||
|           ], | ||||
|           [ | ||||
|             "ຟ", | ||||
|             "໒" | ||||
|           ], | ||||
|           [ | ||||
|             "ໂ", | ||||
|             "໓" | ||||
|           ], | ||||
|           [ | ||||
|             "ຖ", | ||||
|             "໔" | ||||
|           ], | ||||
|           [ | ||||
|             "ຸ" | ||||
|           ], | ||||
|           [ | ||||
|             "ູ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຄ", | ||||
|             "໕" | ||||
|           ], | ||||
|           [ | ||||
|             "ຕ", | ||||
|             "໖" | ||||
|           ], | ||||
|           [ | ||||
|             "ຈ", | ||||
|             "໗" | ||||
|           ], | ||||
|           [ | ||||
|             "ຂ", | ||||
|             "໘" | ||||
|           ], | ||||
|           [ | ||||
|             "ຊ", | ||||
|             "໙" | ||||
|           ], | ||||
|           [ | ||||
|             "ໍ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ົ" | ||||
|           ], | ||||
|           [ | ||||
|             "ໄ", | ||||
|             "໐" | ||||
|           ], | ||||
|           [ | ||||
|             "ຳ" | ||||
|           ], | ||||
|           [ | ||||
|             "ພ" | ||||
|           ], | ||||
|           [ | ||||
|             "ະ" | ||||
|           ], | ||||
|           [ | ||||
|             "ິ" | ||||
|           ], | ||||
|           [ | ||||
|             "ີ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຮ" | ||||
|           ], | ||||
|           [ | ||||
|             "ນ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຍ" | ||||
|           ], | ||||
|           [ | ||||
|             "ບ" | ||||
|           ], | ||||
|           [ | ||||
|             "ລ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ັ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຫ" | ||||
|           ], | ||||
|           [ | ||||
|             "ກ" | ||||
|           ], | ||||
|           [ | ||||
|             "ດ" | ||||
|           ], | ||||
|           [ | ||||
|             "ເ" | ||||
|           ], | ||||
|           [ | ||||
|             "້" | ||||
|           ], | ||||
|           [ | ||||
|             "່" | ||||
|           ], | ||||
|           [ | ||||
|             "າ" | ||||
|           ], | ||||
|           [ | ||||
|             "ສ" | ||||
|           ], | ||||
|           [ | ||||
|             "ວ" | ||||
|           ], | ||||
|           [ | ||||
|             "ງ" | ||||
|           ], | ||||
|           [ | ||||
|             "“" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ຜ" | ||||
|           ], | ||||
|           [ | ||||
|             "ປ" | ||||
|           ], | ||||
|           [ | ||||
|             "ແ" | ||||
|           ], | ||||
|           [ | ||||
|             "ອ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຶ" | ||||
|           ], | ||||
|           [ | ||||
|             "ື" | ||||
|           ], | ||||
|           [ | ||||
|             "ທ" | ||||
|           ], | ||||
|           [ | ||||
|             "ມ" | ||||
|           ], | ||||
|           [ | ||||
|             "ໃ" | ||||
|           ], | ||||
|           [ | ||||
|             "ຝ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₭", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "lo", | ||||
|   "name": "Lao" | ||||
| } | ||||
							
								
								
									
										603
									
								
								data/osk-layouts/latam.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,603 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ë", | ||||
|             "ê", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ò", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "õ", | ||||
|             "ø", | ||||
|             "œ", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ą", | ||||
|             "æ", | ||||
|             "ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ], | ||||
|           [ | ||||
|             "ñ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             ";", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             "¡", | ||||
|             "@", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ë", | ||||
|             "Ê", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ò", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Õ", | ||||
|             "Ø", | ||||
|             "Œ", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ą", | ||||
|             "Æ", | ||||
|             "Ā", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ], | ||||
|           [ | ||||
|             "Ñ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             ";", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             ":", | ||||
|             "¡", | ||||
|             "@", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ",", | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "es-US", | ||||
|   "name": "Spanish United States" | ||||
| } | ||||
							
								
								
									
										647
									
								
								data/osk-layouts/lt.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,647 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "ė", | ||||
|             "ę", | ||||
|             "ē", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ě" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ŗ", | ||||
|             "ř", | ||||
|             "ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ţ", | ||||
|             "ť" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ū", | ||||
|             "ų", | ||||
|             "ü", | ||||
|             "ū", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "û", | ||||
|             "ů", | ||||
|             "ű" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "į", | ||||
|             "ī", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ı" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ö", | ||||
|             "õ", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "œ", | ||||
|             "ő", | ||||
|             "ø" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "ą", | ||||
|             "ä", | ||||
|             "ā", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "æ" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "ş" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ģ", | ||||
|             "ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k", | ||||
|             "ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ļ", | ||||
|             "ł", | ||||
|             "ĺ", | ||||
|             "ľ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ż", | ||||
|             "ź" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ņ", | ||||
|             "ñ", | ||||
|             "ń", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "Ė", | ||||
|             "Ę", | ||||
|             "Ē", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ě" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ŗ", | ||||
|             "Ř", | ||||
|             "Ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ţ", | ||||
|             "Ť" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ū", | ||||
|             "Ų", | ||||
|             "Ü", | ||||
|             "Ū", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Û", | ||||
|             "Ů", | ||||
|             "Ű" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Į", | ||||
|             "Ī", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ö", | ||||
|             "Õ", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Œ", | ||||
|             "Ő", | ||||
|             "Ø" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Ą", | ||||
|             "Ä", | ||||
|             "Ā", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Æ" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Ş" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ģ", | ||||
|             "Ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K", | ||||
|             "Ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ļ", | ||||
|             "Ł", | ||||
|             "Ĺ", | ||||
|             "Ľ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ż", | ||||
|             "Ź" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ņ", | ||||
|             "Ñ", | ||||
|             "Ń", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "lt", | ||||
|   "name": "Lithuanian" | ||||
| } | ||||
							
								
								
									
										645
									
								
								data/osk-layouts/lv.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,645 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "ē", | ||||
|             "ė", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ě" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ŗ", | ||||
|             "ř", | ||||
|             "ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ţ", | ||||
|             "ť" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ū", | ||||
|             "ų", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ů", | ||||
|             "ű" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "ī", | ||||
|             "į", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ı" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "õ", | ||||
|             "ö", | ||||
|             "œ", | ||||
|             "ő", | ||||
|             "ø" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "ā", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "ä", | ||||
|             "å", | ||||
|             "æ", | ||||
|             "ą" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "ş" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ģ", | ||||
|             "ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k", | ||||
|             "ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ļ", | ||||
|             "ł", | ||||
|             "ĺ", | ||||
|             "ľ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ż", | ||||
|             "ź" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ņ", | ||||
|             "ñ", | ||||
|             "ń", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "Ē", | ||||
|             "Ė", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ě" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ŗ", | ||||
|             "Ř", | ||||
|             "Ŕ" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ţ", | ||||
|             "Ť" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ū", | ||||
|             "Ų", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ů", | ||||
|             "Ű" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Ī", | ||||
|             "Į", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Õ", | ||||
|             "Ö", | ||||
|             "Œ", | ||||
|             "Ő", | ||||
|             "Ø" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Ā", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Ä", | ||||
|             "Å", | ||||
|             "Æ", | ||||
|             "Ą" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Ş" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ģ", | ||||
|             "Ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K", | ||||
|             "Ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ļ", | ||||
|             "Ł", | ||||
|             "Ĺ", | ||||
|             "Ľ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ż", | ||||
|             "Ź" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ņ", | ||||
|             "Ñ", | ||||
|             "Ń", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "lv", | ||||
|   "name": "Latvian" | ||||
| } | ||||
							
								
								
									
										541
									
								
								data/osk-layouts/mk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,541 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "љ" | ||||
|           ], | ||||
|           [ | ||||
|             "њ" | ||||
|           ], | ||||
|           [ | ||||
|             "е", | ||||
|             "ѐ" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ѕ" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "и", | ||||
|             "ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ], | ||||
|           [ | ||||
|             "ј" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "ќ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "џ" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "ѓ" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Љ" | ||||
|           ], | ||||
|           [ | ||||
|             "Њ" | ||||
|           ], | ||||
|           [ | ||||
|             "Е", | ||||
|             "Ѐ" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ѕ" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "И", | ||||
|             "Ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ], | ||||
|           [ | ||||
|             "Ј" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "Ќ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Џ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "Ѓ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "mk", | ||||
|   "name": "Macedonian" | ||||
| } | ||||
							
								
								
									
										547
									
								
								data/osk-layouts/mn.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,547 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "э" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "ш", | ||||
|             "щ" | ||||
|           ], | ||||
|           [ | ||||
|             "ү" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "ы" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "ө" | ||||
|           ], | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "ё", | ||||
|             "е" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "и" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ь", | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "в", | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Э" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш", | ||||
|             "Щ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ү" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "Ы" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Ө" | ||||
|           ], | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "Ё", | ||||
|             "Е" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "И" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь", | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "В", | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₮", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "mn", | ||||
|   "name": "Mongolian" | ||||
| } | ||||
							
								
								
									
										507
									
								
								data/osk-layouts/my.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,507 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ms", | ||||
|   "name": "Malay" | ||||
| } | ||||
							
								
								
									
										584
									
								
								data/osk-layouts/nl.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,584 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ë", | ||||
|             "ê", | ||||
|             "è", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "â", | ||||
|             "à", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ë", | ||||
|             "Ê", | ||||
|             "È", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Â", | ||||
|             "À", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "nl", | ||||
|   "name": "Dutch" | ||||
| } | ||||
							
								
								
									
										507
									
								
								data/osk-layouts/no.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,507 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "nb", | ||||
|   "name": "Norwegian Bokmål" | ||||
| } | ||||
							
								
								
									
										507
									
								
								data/osk-layouts/ph.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,507 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "fil", | ||||
|   "name": "Filipino" | ||||
| } | ||||
							
								
								
									
										579
									
								
								data/osk-layouts/pl.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,579 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "ę", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "ą", | ||||
|             "á", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ś", | ||||
|             "ß", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ł" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ż", | ||||
|             "ź", | ||||
|             "ž" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ć", | ||||
|             "ç", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ń", | ||||
|             "ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "Ę", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Ą", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Ś", | ||||
|             "SS", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ł" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ż", | ||||
|             "Ź", | ||||
|             "Ž" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ć", | ||||
|             "Ç", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ń", | ||||
|             "Ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "pl", | ||||
|   "name": "Polish" | ||||
| } | ||||
							
								
								
									
										584
									
								
								data/osk-layouts/pt.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,584 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "è", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē", | ||||
|             "ë" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "î", | ||||
|             "ì", | ||||
|             "ï", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "õ", | ||||
|             "ô", | ||||
|             "ò", | ||||
|             "ö", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ã", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "å", | ||||
|             "æ", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "č", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "È", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē", | ||||
|             "Ë" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Î", | ||||
|             "Ì", | ||||
|             "Ï", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Õ", | ||||
|             "Ô", | ||||
|             "Ò", | ||||
|             "Ö", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "º" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ã", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Å", | ||||
|             "Æ", | ||||
|             "ª" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Č", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "pt-PT", | ||||
|   "name": "Portuguese Portugal" | ||||
| } | ||||
							
								
								
									
										547
									
								
								data/osk-layouts/ro.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,547 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ț" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "ă", | ||||
|             "à", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ș", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ț" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Ă", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Ș", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ro", | ||||
|   "name": "Romanian" | ||||
| } | ||||
							
								
								
									
										541
									
								
								data/osk-layouts/rs.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,541 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "љ" | ||||
|           ], | ||||
|           [ | ||||
|             "њ" | ||||
|           ], | ||||
|           [ | ||||
|             "е", | ||||
|             "ѐ" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "и", | ||||
|             "ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ], | ||||
|           [ | ||||
|             "ј" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "ћ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ѕ" | ||||
|           ], | ||||
|           [ | ||||
|             "џ" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "ђ" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Љ" | ||||
|           ], | ||||
|           [ | ||||
|             "Њ" | ||||
|           ], | ||||
|           [ | ||||
|             "Е", | ||||
|             "Ѐ" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "И", | ||||
|             "Ѝ" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ], | ||||
|           [ | ||||
|             "Ј" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "Ћ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ѕ" | ||||
|           ], | ||||
|           [ | ||||
|             "Џ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "Ђ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "sr", | ||||
|   "name": "Serbian" | ||||
| } | ||||
							
								
								
									
										541
									
								
								data/osk-layouts/ru.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,541 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "е", | ||||
|             "ё" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "г" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ], | ||||
|           [ | ||||
|             "щ" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "ы" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "и" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ь", | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Е", | ||||
|             "Ё" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "Г" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ], | ||||
|           [ | ||||
|             "Щ" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "Ы" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Э" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "И" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь", | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ru", | ||||
|   "name": "Russian" | ||||
| } | ||||
							
								
								
									
										624
									
								
								data/osk-layouts/se.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,624 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ř" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ť", | ||||
|             "þ" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ", | ||||
|             "ü" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ü", | ||||
|             "ú", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "ï" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ò", | ||||
|             "ô", | ||||
|             "õ", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ], | ||||
|           [ | ||||
|             "å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ą", | ||||
|             "ã" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ś", | ||||
|             "š", | ||||
|             "ş", | ||||
|             "ß" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ð", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ł" | ||||
|           ], | ||||
|           [ | ||||
|             "ö", | ||||
|             "ø", | ||||
|             "œ" | ||||
|           ], | ||||
|           [ | ||||
|             "ä", | ||||
|             "æ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ź", | ||||
|             "ž", | ||||
|             "ż" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ń", | ||||
|             "ñ", | ||||
|             "ň" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ř" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ť", | ||||
|             "Þ" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ", | ||||
|             "Ü" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ü", | ||||
|             "Ú", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Ï" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ò", | ||||
|             "Ô", | ||||
|             "Õ", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ], | ||||
|           [ | ||||
|             "Å" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ą", | ||||
|             "Ã" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Ś", | ||||
|             "Š", | ||||
|             "Ş", | ||||
|             "SS" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ð", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ł" | ||||
|           ], | ||||
|           [ | ||||
|             "Ö", | ||||
|             "Ø", | ||||
|             "Œ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ä", | ||||
|             "Æ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ź", | ||||
|             "Ž", | ||||
|             "Ż" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ń", | ||||
|             "Ñ", | ||||
|             "Ň" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "sv", | ||||
|   "name": "Swedish" | ||||
| } | ||||
							
								
								
									
										518
									
								
								data/osk-layouts/si.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,518 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u" | ||||
|           ], | ||||
|           [ | ||||
|             "i" | ||||
|           ], | ||||
|           [ | ||||
|             "o" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "đ" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U" | ||||
|           ], | ||||
|           [ | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Đ" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "sl", | ||||
|   "name": "Slovenian" | ||||
| } | ||||
							
								
								
									
										648
									
								
								data/osk-layouts/sk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,648 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "ě", | ||||
|             "ē", | ||||
|             "ė", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę" | ||||
|           ], | ||||
|           [ | ||||
|             "r", | ||||
|             "ŕ", | ||||
|             "ř", | ||||
|             "ŗ" | ||||
|           ], | ||||
|           [ | ||||
|             "t", | ||||
|             "ť", | ||||
|             "ţ" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "ů", | ||||
|             "ü", | ||||
|             "ū", | ||||
|             "ų", | ||||
|             "ù", | ||||
|             "û", | ||||
|             "ű" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ī", | ||||
|             "į", | ||||
|             "ì", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ı" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ô", | ||||
|             "ó", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ő", | ||||
|             "ø" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "ä", | ||||
|             "ā", | ||||
|             "à", | ||||
|             "â", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "æ", | ||||
|             "ą" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "š", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "ş" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "ď" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ģ", | ||||
|             "ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k", | ||||
|             "ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "l", | ||||
|             "ľ", | ||||
|             "ĺ", | ||||
|             "ļ", | ||||
|             "ł" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z", | ||||
|             "ž", | ||||
|             "ż", | ||||
|             "ź" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "č", | ||||
|             "ç", | ||||
|             "ć" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ň", | ||||
|             "ņ", | ||||
|             "ñ", | ||||
|             "ń", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "Ě", | ||||
|             "Ē", | ||||
|             "Ė", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę" | ||||
|           ], | ||||
|           [ | ||||
|             "R", | ||||
|             "Ŕ", | ||||
|             "Ř", | ||||
|             "Ŗ" | ||||
|           ], | ||||
|           [ | ||||
|             "T", | ||||
|             "Ť", | ||||
|             "Ţ" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ÿ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Ů", | ||||
|             "Ü", | ||||
|             "Ū", | ||||
|             "Ų", | ||||
|             "Ù", | ||||
|             "Û", | ||||
|             "Ű" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ī", | ||||
|             "Į", | ||||
|             "Ì", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "I" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ô", | ||||
|             "Ó", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ő", | ||||
|             "Ø" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Ä", | ||||
|             "Ā", | ||||
|             "À", | ||||
|             "Â", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Æ", | ||||
|             "Ą" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Š", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Ş" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Ď" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ģ", | ||||
|             "Ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K", | ||||
|             "Ķ" | ||||
|           ], | ||||
|           [ | ||||
|             "L", | ||||
|             "Ľ", | ||||
|             "Ĺ", | ||||
|             "Ļ", | ||||
|             "Ł" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z", | ||||
|             "Ž", | ||||
|             "Ż", | ||||
|             "Ź" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Č", | ||||
|             "Ç", | ||||
|             "Ć" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ň", | ||||
|             "Ņ", | ||||
|             "Ñ", | ||||
|             "Ń", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "sk", | ||||
|   "name": "Slovak" | ||||
| } | ||||
							
								
								
									
										472
									
								
								data/osk-layouts/th.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,472 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ๅ" | ||||
|           ], | ||||
|           [ | ||||
|             "/", | ||||
|             "๑" | ||||
|           ], | ||||
|           [ | ||||
|             "_", | ||||
|             "๒" | ||||
|           ], | ||||
|           [ | ||||
|             "ภ", | ||||
|             "๓" | ||||
|           ], | ||||
|           [ | ||||
|             "ถ", | ||||
|             "๔" | ||||
|           ], | ||||
|           [ | ||||
|             "ุ" | ||||
|           ], | ||||
|           [ | ||||
|             "ึ" | ||||
|           ], | ||||
|           [ | ||||
|             "ค", | ||||
|             "๕" | ||||
|           ], | ||||
|           [ | ||||
|             "ต", | ||||
|             "๖" | ||||
|           ], | ||||
|           [ | ||||
|             "จ", | ||||
|             "๗" | ||||
|           ], | ||||
|           [ | ||||
|             "ข", | ||||
|             "๘" | ||||
|           ], | ||||
|           [ | ||||
|             "ช", | ||||
|             "๙" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ๆ", | ||||
|             "๐" | ||||
|           ], | ||||
|           [ | ||||
|             "ไ" | ||||
|           ], | ||||
|           [ | ||||
|             "ำ" | ||||
|           ], | ||||
|           [ | ||||
|             "พ" | ||||
|           ], | ||||
|           [ | ||||
|             "ะ" | ||||
|           ], | ||||
|           [ | ||||
|             "ั" | ||||
|           ], | ||||
|           [ | ||||
|             "ี" | ||||
|           ], | ||||
|           [ | ||||
|             "ร" | ||||
|           ], | ||||
|           [ | ||||
|             "น" | ||||
|           ], | ||||
|           [ | ||||
|             "ย" | ||||
|           ], | ||||
|           [ | ||||
|             "บ" | ||||
|           ], | ||||
|           [ | ||||
|             "ล" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ฟ" | ||||
|           ], | ||||
|           [ | ||||
|             "ห" | ||||
|           ], | ||||
|           [ | ||||
|             "ก" | ||||
|           ], | ||||
|           [ | ||||
|             "ด" | ||||
|           ], | ||||
|           [ | ||||
|             "เ" | ||||
|           ], | ||||
|           [ | ||||
|             "้" | ||||
|           ], | ||||
|           [ | ||||
|             "่" | ||||
|           ], | ||||
|           [ | ||||
|             "า" | ||||
|           ], | ||||
|           [ | ||||
|             "ส" | ||||
|           ], | ||||
|           [ | ||||
|             "ว" | ||||
|           ], | ||||
|           [ | ||||
|             "ง" | ||||
|           ], | ||||
|           [ | ||||
|             "ฃ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ผ" | ||||
|           ], | ||||
|           [ | ||||
|             "ป" | ||||
|           ], | ||||
|           [ | ||||
|             "แ" | ||||
|           ], | ||||
|           [ | ||||
|             "อ" | ||||
|           ], | ||||
|           [ | ||||
|             "ิ" | ||||
|           ], | ||||
|           [ | ||||
|             "ื" | ||||
|           ], | ||||
|           [ | ||||
|             "ท" | ||||
|           ], | ||||
|           [ | ||||
|             "ม" | ||||
|           ], | ||||
|           [ | ||||
|             "ใ" | ||||
|           ], | ||||
|           [ | ||||
|             "ฝ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "฿", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "th", | ||||
|   "name": "Thai" | ||||
| } | ||||
							
								
								
									
										566
									
								
								data/osk-layouts/tr.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,566 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ü", | ||||
|             "û", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "ı", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "į", | ||||
|             "ī" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ö", | ||||
|             "ô", | ||||
|             "œ", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "õ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "â" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ş", | ||||
|             "ß", | ||||
|             "ś", | ||||
|             "š" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g", | ||||
|             "ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç", | ||||
|             "ć", | ||||
|             "č" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ü", | ||||
|             "Û", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "İ", | ||||
|             "I", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Į", | ||||
|             "Ī" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ö", | ||||
|             "Ô", | ||||
|             "Œ", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Õ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Â" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "Ş", | ||||
|             "SS", | ||||
|             "Ś", | ||||
|             "Š" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G", | ||||
|             "Ğ" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç", | ||||
|             "Ć", | ||||
|             "Č" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "€", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "$", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "tr", | ||||
|   "name": "Turkish" | ||||
| } | ||||
							
								
								
									
										545
									
								
								data/osk-layouts/ua.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,545 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "й" | ||||
|           ], | ||||
|           [ | ||||
|             "ц" | ||||
|           ], | ||||
|           [ | ||||
|             "у" | ||||
|           ], | ||||
|           [ | ||||
|             "к" | ||||
|           ], | ||||
|           [ | ||||
|             "е" | ||||
|           ], | ||||
|           [ | ||||
|             "н" | ||||
|           ], | ||||
|           [ | ||||
|             "г", | ||||
|             "ґ" | ||||
|           ], | ||||
|           [ | ||||
|             "ш" | ||||
|           ], | ||||
|           [ | ||||
|             "щ" | ||||
|           ], | ||||
|           [ | ||||
|             "з" | ||||
|           ], | ||||
|           [ | ||||
|             "х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ф" | ||||
|           ], | ||||
|           [ | ||||
|             "і", | ||||
|             "ї" | ||||
|           ], | ||||
|           [ | ||||
|             "в" | ||||
|           ], | ||||
|           [ | ||||
|             "а" | ||||
|           ], | ||||
|           [ | ||||
|             "п" | ||||
|           ], | ||||
|           [ | ||||
|             "р" | ||||
|           ], | ||||
|           [ | ||||
|             "о" | ||||
|           ], | ||||
|           [ | ||||
|             "л" | ||||
|           ], | ||||
|           [ | ||||
|             "д" | ||||
|           ], | ||||
|           [ | ||||
|             "ж" | ||||
|           ], | ||||
|           [ | ||||
|             "є" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "я" | ||||
|           ], | ||||
|           [ | ||||
|             "ч" | ||||
|           ], | ||||
|           [ | ||||
|             "с" | ||||
|           ], | ||||
|           [ | ||||
|             "м" | ||||
|           ], | ||||
|           [ | ||||
|             "и" | ||||
|           ], | ||||
|           [ | ||||
|             "т" | ||||
|           ], | ||||
|           [ | ||||
|             "ь", | ||||
|             "ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "б" | ||||
|           ], | ||||
|           [ | ||||
|             "ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Й" | ||||
|           ], | ||||
|           [ | ||||
|             "Ц" | ||||
|           ], | ||||
|           [ | ||||
|             "У" | ||||
|           ], | ||||
|           [ | ||||
|             "К" | ||||
|           ], | ||||
|           [ | ||||
|             "Е" | ||||
|           ], | ||||
|           [ | ||||
|             "Н" | ||||
|           ], | ||||
|           [ | ||||
|             "Г", | ||||
|             "Ґ" | ||||
|           ], | ||||
|           [ | ||||
|             "Ш" | ||||
|           ], | ||||
|           [ | ||||
|             "Щ" | ||||
|           ], | ||||
|           [ | ||||
|             "З" | ||||
|           ], | ||||
|           [ | ||||
|             "Х" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Ф" | ||||
|           ], | ||||
|           [ | ||||
|             "І", | ||||
|             "Ї" | ||||
|           ], | ||||
|           [ | ||||
|             "В" | ||||
|           ], | ||||
|           [ | ||||
|             "А" | ||||
|           ], | ||||
|           [ | ||||
|             "П" | ||||
|           ], | ||||
|           [ | ||||
|             "Р" | ||||
|           ], | ||||
|           [ | ||||
|             "О" | ||||
|           ], | ||||
|           [ | ||||
|             "Л" | ||||
|           ], | ||||
|           [ | ||||
|             "Д" | ||||
|           ], | ||||
|           [ | ||||
|             "Ж" | ||||
|           ], | ||||
|           [ | ||||
|             "Є" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Я" | ||||
|           ], | ||||
|           [ | ||||
|             "Ч" | ||||
|           ], | ||||
|           [ | ||||
|             "С" | ||||
|           ], | ||||
|           [ | ||||
|             "М" | ||||
|           ], | ||||
|           [ | ||||
|             "И" | ||||
|           ], | ||||
|           [ | ||||
|             "Т" | ||||
|           ], | ||||
|           [ | ||||
|             "Ь", | ||||
|             "Ъ" | ||||
|           ], | ||||
|           [ | ||||
|             "Б" | ||||
|           ], | ||||
|           [ | ||||
|             "Ю" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₴", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "uk", | ||||
|   "name": "Ukrainian" | ||||
| } | ||||
							
								
								
									
										576
									
								
								data/osk-layouts/uk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,576 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "í", | ||||
|             "ī", | ||||
|             "ì" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ô", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "õ" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Í", | ||||
|             "Ī", | ||||
|             "Ì" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ô", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "Õ" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "£", | ||||
|             "¢", | ||||
|             "$", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "en-GB", | ||||
|   "name": "English Great Britain" | ||||
| } | ||||
							
								
								
									
										575
									
								
								data/osk-layouts/us.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,575 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "î", | ||||
|             "ï", | ||||
|             "í", | ||||
|             "ī", | ||||
|             "ì" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ô", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō", | ||||
|             "õ" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s", | ||||
|             "ß" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c", | ||||
|             "ç" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Î", | ||||
|             "Ï", | ||||
|             "Í", | ||||
|             "Ī", | ||||
|             "Ì" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ô", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō", | ||||
|             "Õ" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S", | ||||
|             "SS" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C", | ||||
|             "Ç" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "en", | ||||
|   "name": "English United States" | ||||
| } | ||||
							
								
								
									
										643
									
								
								data/osk-layouts/vn.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,643 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "è", | ||||
|             "é", | ||||
|             "ẻ", | ||||
|             "ẽ", | ||||
|             "ẹ", | ||||
|             "ê", | ||||
|             "ề", | ||||
|             "ế", | ||||
|             "ể", | ||||
|             "ễ", | ||||
|             "ệ" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ỳ", | ||||
|             "ý", | ||||
|             "ỷ", | ||||
|             "ỹ", | ||||
|             "ỵ" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ù", | ||||
|             "ú", | ||||
|             "ủ", | ||||
|             "ũ", | ||||
|             "ụ", | ||||
|             "ư", | ||||
|             "ừ", | ||||
|             "ứ", | ||||
|             "ử", | ||||
|             "ữ", | ||||
|             "ự" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "ì", | ||||
|             "í", | ||||
|             "ỉ", | ||||
|             "ĩ", | ||||
|             "ị" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ò", | ||||
|             "ó", | ||||
|             "ỏ", | ||||
|             "õ", | ||||
|             "ọ", | ||||
|             "ô", | ||||
|             "ồ", | ||||
|             "ố", | ||||
|             "ổ", | ||||
|             "ỗ", | ||||
|             "ộ", | ||||
|             "ơ", | ||||
|             "ờ", | ||||
|             "ớ", | ||||
|             "ở", | ||||
|             "ỡ", | ||||
|             "ợ" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "à", | ||||
|             "á", | ||||
|             "ả", | ||||
|             "ã", | ||||
|             "ạ", | ||||
|             "ă", | ||||
|             "ằ", | ||||
|             "ắ", | ||||
|             "ẳ", | ||||
|             "ẵ", | ||||
|             "ặ", | ||||
|             "â", | ||||
|             "ầ", | ||||
|             "ấ", | ||||
|             "ẩ", | ||||
|             "ẫ", | ||||
|             "ậ" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d", | ||||
|             "đ" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "È", | ||||
|             "É", | ||||
|             "Ẻ", | ||||
|             "Ẽ", | ||||
|             "Ẹ", | ||||
|             "Ê", | ||||
|             "Ề", | ||||
|             "Ế", | ||||
|             "Ể", | ||||
|             "Ễ", | ||||
|             "Ệ" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ỳ", | ||||
|             "Ý", | ||||
|             "Ỷ", | ||||
|             "Ỹ", | ||||
|             "Ỵ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ù", | ||||
|             "Ú", | ||||
|             "Ủ", | ||||
|             "Ũ", | ||||
|             "Ụ", | ||||
|             "Ư", | ||||
|             "Ừ", | ||||
|             "Ứ", | ||||
|             "Ử", | ||||
|             "Ữ", | ||||
|             "Ự" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Ì", | ||||
|             "Í", | ||||
|             "Ỉ", | ||||
|             "Ĩ", | ||||
|             "Ị" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ò", | ||||
|             "Ó", | ||||
|             "Ỏ", | ||||
|             "Õ", | ||||
|             "Ọ", | ||||
|             "Ô", | ||||
|             "Ồ", | ||||
|             "Ố", | ||||
|             "Ổ", | ||||
|             "Ỗ", | ||||
|             "Ộ", | ||||
|             "Ơ", | ||||
|             "Ờ", | ||||
|             "Ớ", | ||||
|             "Ở", | ||||
|             "Ỡ", | ||||
|             "Ợ" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "À", | ||||
|             "Á", | ||||
|             "Ả", | ||||
|             "Ã", | ||||
|             "Ạ", | ||||
|             "Ă", | ||||
|             "Ằ", | ||||
|             "Ắ", | ||||
|             "Ẳ", | ||||
|             "Ẵ", | ||||
|             "Ặ", | ||||
|             "Â", | ||||
|             "Ầ", | ||||
|             "Ấ", | ||||
|             "Ẩ", | ||||
|             "Ẫ", | ||||
|             "Ậ" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D", | ||||
|             "Đ" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₫", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "vi", | ||||
|   "name": "Vietnamese" | ||||
| } | ||||
							
								
								
									
										589
									
								
								data/osk-layouts/za.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,589 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "q" | ||||
|           ], | ||||
|           [ | ||||
|             "w" | ||||
|           ], | ||||
|           [ | ||||
|             "e", | ||||
|             "é", | ||||
|             "è", | ||||
|             "ê", | ||||
|             "ë", | ||||
|             "ę", | ||||
|             "ė", | ||||
|             "ē" | ||||
|           ], | ||||
|           [ | ||||
|             "r" | ||||
|           ], | ||||
|           [ | ||||
|             "t" | ||||
|           ], | ||||
|           [ | ||||
|             "y", | ||||
|             "ý", | ||||
|             "ŷ", | ||||
|             "ÿ", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "u", | ||||
|             "ú", | ||||
|             "û", | ||||
|             "ü", | ||||
|             "ù", | ||||
|             "ū" | ||||
|           ], | ||||
|           [ | ||||
|             "i", | ||||
|             "í", | ||||
|             "ì", | ||||
|             "ï", | ||||
|             "î", | ||||
|             "į", | ||||
|             "ī", | ||||
|             "ij" | ||||
|           ], | ||||
|           [ | ||||
|             "o", | ||||
|             "ó", | ||||
|             "ô", | ||||
|             "ö", | ||||
|             "ò", | ||||
|             "õ", | ||||
|             "œ", | ||||
|             "ø", | ||||
|             "ō" | ||||
|           ], | ||||
|           [ | ||||
|             "p" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "a", | ||||
|             "á", | ||||
|             "â", | ||||
|             "ä", | ||||
|             "à", | ||||
|             "æ", | ||||
|             "ã", | ||||
|             "å", | ||||
|             "ā" | ||||
|           ], | ||||
|           [ | ||||
|             "s" | ||||
|           ], | ||||
|           [ | ||||
|             "d" | ||||
|           ], | ||||
|           [ | ||||
|             "f" | ||||
|           ], | ||||
|           [ | ||||
|             "g" | ||||
|           ], | ||||
|           [ | ||||
|             "h" | ||||
|           ], | ||||
|           [ | ||||
|             "j" | ||||
|           ], | ||||
|           [ | ||||
|             "k" | ||||
|           ], | ||||
|           [ | ||||
|             "l" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "z" | ||||
|           ], | ||||
|           [ | ||||
|             "x" | ||||
|           ], | ||||
|           [ | ||||
|             "c" | ||||
|           ], | ||||
|           [ | ||||
|             "v" | ||||
|           ], | ||||
|           [ | ||||
|             "b" | ||||
|           ], | ||||
|           [ | ||||
|             "n", | ||||
|             "ñ", | ||||
|             "ń" | ||||
|           ], | ||||
|           [ | ||||
|             "m" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "shift", | ||||
|       "mode": "latched", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "Q" | ||||
|           ], | ||||
|           [ | ||||
|             "W" | ||||
|           ], | ||||
|           [ | ||||
|             "E", | ||||
|             "É", | ||||
|             "È", | ||||
|             "Ê", | ||||
|             "Ë", | ||||
|             "Ę", | ||||
|             "Ė", | ||||
|             "Ē" | ||||
|           ], | ||||
|           [ | ||||
|             "R" | ||||
|           ], | ||||
|           [ | ||||
|             "T" | ||||
|           ], | ||||
|           [ | ||||
|             "Y", | ||||
|             "Ý", | ||||
|             "Ŷ", | ||||
|             "Ÿ", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "U", | ||||
|             "Ú", | ||||
|             "Û", | ||||
|             "Ü", | ||||
|             "Ù", | ||||
|             "Ū" | ||||
|           ], | ||||
|           [ | ||||
|             "I", | ||||
|             "Í", | ||||
|             "Ì", | ||||
|             "Ï", | ||||
|             "Î", | ||||
|             "Į", | ||||
|             "Ī", | ||||
|             "IJ" | ||||
|           ], | ||||
|           [ | ||||
|             "O", | ||||
|             "Ó", | ||||
|             "Ô", | ||||
|             "Ö", | ||||
|             "Ò", | ||||
|             "Õ", | ||||
|             "Œ", | ||||
|             "Ø", | ||||
|             "Ō" | ||||
|           ], | ||||
|           [ | ||||
|             "P" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "A", | ||||
|             "Á", | ||||
|             "Â", | ||||
|             "Ä", | ||||
|             "À", | ||||
|             "Æ", | ||||
|             "Ã", | ||||
|             "Å", | ||||
|             "Ā" | ||||
|           ], | ||||
|           [ | ||||
|             "S" | ||||
|           ], | ||||
|           [ | ||||
|             "D" | ||||
|           ], | ||||
|           [ | ||||
|             "F" | ||||
|           ], | ||||
|           [ | ||||
|             "G" | ||||
|           ], | ||||
|           [ | ||||
|             "H" | ||||
|           ], | ||||
|           [ | ||||
|             "J" | ||||
|           ], | ||||
|           [ | ||||
|             "K" | ||||
|           ], | ||||
|           [ | ||||
|             "L" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "Z" | ||||
|           ], | ||||
|           [ | ||||
|             "X" | ||||
|           ], | ||||
|           [ | ||||
|             "C" | ||||
|           ], | ||||
|           [ | ||||
|             "V" | ||||
|           ], | ||||
|           [ | ||||
|             "B" | ||||
|           ], | ||||
|           [ | ||||
|             "N", | ||||
|             "Ñ", | ||||
|             "Ń" | ||||
|           ], | ||||
|           [ | ||||
|             "M" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "1", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "2", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "3", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "4", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "5", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "6" | ||||
|           ], | ||||
|           [ | ||||
|             "7", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "8" | ||||
|           ], | ||||
|           [ | ||||
|             "9" | ||||
|           ], | ||||
|           [ | ||||
|             "0", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "af", | ||||
|   "name": "Afrikaans" | ||||
| } | ||||
| @@ -1,3 +0,0 @@ | ||||
| To generate the css files, from the project directory: | ||||
|  | ||||
| sass --sourcemap=none --update . | ||||
| @@ -1,34 +0,0 @@ | ||||
| Summary | ||||
| ------- | ||||
|  | ||||
| * Do not edit the CSS directly, edit the source SCSS files and process them with SASS (running | ||||
|   `make` should do that when you have the required software installed, as described below; | ||||
|   run `./parse-sass.sh` manually if it doesn't) | ||||
| * Most SASS preprocessors should produce similar results, however the build system | ||||
|   integration and 'parse-sass.sh' script use sassc. You should be able to install | ||||
|   it with `pkcon install sassc` or your distribution's package manager. | ||||
|  | ||||
| How to tweak the theme | ||||
| ---------------------- | ||||
|  | ||||
| Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS, the | ||||
| generated CSS is then transformed into a gresource file during gtk build and used at runtime in a  | ||||
| non-legible or editable form. | ||||
|  | ||||
| It is very likely your change will happen in the _common.scss file. That's where all the widget  | ||||
| selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the  | ||||
| right place for a drive by stylesheet fix: | ||||
|  | ||||
| _colors.scss        - global color definitions. We keep the number of defined colors to a necessary minimum,  | ||||
|                       most colors are derived from a handful of basics. It is an exact copy of the gtk+  | ||||
|                       counterpart. Light theme is used for the classic theme and dark is for GNOME3 shell  | ||||
|                       default. | ||||
|  | ||||
| _drawing.scss       - drawing helper mixings/functions to allow easier definition of widget drawing under | ||||
|                       specific context. This is why Adwaita isn't 15000 LOC. | ||||
|  | ||||
| _common.scss        - actual definitions of style for each widget. This is where you are likely to add/remove | ||||
|                       your changes. | ||||
|                        | ||||
| You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the | ||||
| _common.scss file, you can either run make or the ./parse-sass.sh script. | ||||
							
								
								
									
										32
									
								
								data/theme/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,32 @@ | ||||
| ## Summary | ||||
|  | ||||
| Do not edit the CSS directly, edit the source SCSS files and the CSS files | ||||
| will be generated automatically when building with meson + ninja and left | ||||
| inside the build directory to be incorporated into the gresource XML (you'll | ||||
| need to have sassc installed). | ||||
|  | ||||
| ## How to tweak the theme | ||||
|  | ||||
| Adwaita is a complex theme, so to keep it maintainable it's written and | ||||
| processed in SASS, the generated CSS is then transformed into a gresource | ||||
| file during gtk build and used at runtime in a non-legible or editable form. | ||||
|  | ||||
| It is very likely your change will happen in the [_common.scss][common] file. | ||||
| That's where all the widget selectors are defined. Here's a rundown of | ||||
| the "supporting" stylesheets, that are unlikely to be the right place | ||||
| for a drive by stylesheet fix: | ||||
|  | ||||
| | File                     | Description       | | ||||
| | ------------------------ | ----------------- | | ||||
| | [_colors.scss][colors]   | global color definitions. We keep the number of defined colors to a necessary minimum,  most colors are derived from a handful of basics. It is an exact copy of the gtk+ counterpart. Light theme is used for the classic theme and dark is for GNOME3 shell default. | | ||||
| | [_drawing.scss][drawing] | drawing helper mixings/functions to allow easier definition of widget drawing under specific context. This is why Adwaita isn't 15000 LOC. | | ||||
| | [_common.scss][common]   | actual definitions of style for each widget. This is where you are likely to add/remove your changes. | | ||||
|  | ||||
| You can read about SASS on its [web page][sass-web]. Once you make your | ||||
| changes to the [_common.scss][common] file, you can run ninja to generate the | ||||
| final CSS files. | ||||
|  | ||||
| [common]: data/theme/gnome-shell-sass/_common.scss | ||||
| [colors]: data/theme/gnome-shell-sass/_colors.scss | ||||
| [drawing]: data/theme/gnome-shell-sass/_drawing.scss | ||||
| [sass-web]: http://sass-lang.com/documentation/ | ||||
							
								
								
									
										339
									
								
								data/theme/gnome-shell-sass/COPYING
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,339 @@ | ||||
| 		    GNU GENERAL PUBLIC LICENSE | ||||
| 		       Version 2, June 1991 | ||||
|  | ||||
|  Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org> | ||||
|  Everyone is permitted to copy and distribute verbatim copies | ||||
|  of this license document, but changing it is not allowed. | ||||
|  | ||||
| 			    Preamble | ||||
|  | ||||
|   The licenses for most software are designed to take away your | ||||
| freedom to share and change it.  By contrast, the GNU General Public | ||||
| License is intended to guarantee your freedom to share and change free | ||||
| software--to make sure the software is free for all its users.  This | ||||
| General Public License applies to most of the Free Software | ||||
| Foundation's software and to any other program whose authors commit to | ||||
| using it.  (Some other Free Software Foundation software is covered by | ||||
| the GNU Library General Public License instead.)  You can apply it to | ||||
| your programs, too. | ||||
|  | ||||
|   When we speak of free software, we are referring to freedom, not | ||||
| price.  Our General Public Licenses are designed to make sure that you | ||||
| have the freedom to distribute copies of free software (and charge for | ||||
| this service if you wish), that you receive source code or can get it | ||||
| if you want it, that you can change the software or use pieces of it | ||||
| in new free programs; and that you know you can do these things. | ||||
|  | ||||
|   To protect your rights, we need to make restrictions that forbid | ||||
| anyone to deny you these rights or to ask you to surrender the rights. | ||||
| These restrictions translate to certain responsibilities for you if you | ||||
| distribute copies of the software, or if you modify it. | ||||
|  | ||||
|   For example, if you distribute copies of such a program, whether | ||||
| gratis or for a fee, you must give the recipients all the rights that | ||||
| you have.  You must make sure that they, too, receive or can get the | ||||
| source code.  And you must show them these terms so they know their | ||||
| rights. | ||||
|  | ||||
|   We protect your rights with two steps: (1) copyright the software, and | ||||
| (2) offer you this license which gives you legal permission to copy, | ||||
| distribute and/or modify the software. | ||||
|  | ||||
|   Also, for each author's protection and ours, we want to make certain | ||||
| that everyone understands that there is no warranty for this free | ||||
| software.  If the software is modified by someone else and passed on, we | ||||
| want its recipients to know that what they have is not the original, so | ||||
| that any problems introduced by others will not reflect on the original | ||||
| authors' reputations. | ||||
|  | ||||
|   Finally, any free program is threatened constantly by software | ||||
| patents.  We wish to avoid the danger that redistributors of a free | ||||
| program will individually obtain patent licenses, in effect making the | ||||
| program proprietary.  To prevent this, we have made it clear that any | ||||
| patent must be licensed for everyone's free use or not licensed at all. | ||||
|  | ||||
|   The precise terms and conditions for copying, distribution and | ||||
| modification follow. | ||||
|  | ||||
| 		    GNU GENERAL PUBLIC LICENSE | ||||
|    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||||
|  | ||||
|   0. This License applies to any program or other work which contains | ||||
| a notice placed by the copyright holder saying it may be distributed | ||||
| under the terms of this General Public License.  The "Program", below, | ||||
| refers to any such program or work, and a "work based on the Program" | ||||
| means either the Program or any derivative work under copyright law: | ||||
| that is to say, a work containing the Program or a portion of it, | ||||
| either verbatim or with modifications and/or translated into another | ||||
| language.  (Hereinafter, translation is included without limitation in | ||||
| the term "modification".)  Each licensee is addressed as "you". | ||||
|  | ||||
| Activities other than copying, distribution and modification are not | ||||
| covered by this License; they are outside its scope.  The act of | ||||
| running the Program is not restricted, and the output from the Program | ||||
| is covered only if its contents constitute a work based on the | ||||
| Program (independent of having been made by running the Program). | ||||
| Whether that is true depends on what the Program does. | ||||
|  | ||||
|   1. You may copy and distribute verbatim copies of the Program's | ||||
| source code as you receive it, in any medium, provided that you | ||||
| conspicuously and appropriately publish on each copy an appropriate | ||||
| copyright notice and disclaimer of warranty; keep intact all the | ||||
| notices that refer to this License and to the absence of any warranty; | ||||
| and give any other recipients of the Program a copy of this License | ||||
| along with the Program. | ||||
|  | ||||
| You may charge a fee for the physical act of transferring a copy, and | ||||
| you may at your option offer warranty protection in exchange for a fee. | ||||
|  | ||||
|   2. You may modify your copy or copies of the Program or any portion | ||||
| of it, thus forming a work based on the Program, and copy and | ||||
| distribute such modifications or work under the terms of Section 1 | ||||
| above, provided that you also meet all of these conditions: | ||||
|  | ||||
|     a) You must cause the modified files to carry prominent notices | ||||
|     stating that you changed the files and the date of any change. | ||||
|  | ||||
|     b) You must cause any work that you distribute or publish, that in | ||||
|     whole or in part contains or is derived from the Program or any | ||||
|     part thereof, to be licensed as a whole at no charge to all third | ||||
|     parties under the terms of this License. | ||||
|  | ||||
|     c) If the modified program normally reads commands interactively | ||||
|     when run, you must cause it, when started running for such | ||||
|     interactive use in the most ordinary way, to print or display an | ||||
|     announcement including an appropriate copyright notice and a | ||||
|     notice that there is no warranty (or else, saying that you provide | ||||
|     a warranty) and that users may redistribute the program under | ||||
|     these conditions, and telling the user how to view a copy of this | ||||
|     License.  (Exception: if the Program itself is interactive but | ||||
|     does not normally print such an announcement, your work based on | ||||
|     the Program is not required to print an announcement.) | ||||
|  | ||||
| These requirements apply to the modified work as a whole.  If | ||||
| identifiable sections of that work are not derived from the Program, | ||||
| and can be reasonably considered independent and separate works in | ||||
| themselves, then this License, and its terms, do not apply to those | ||||
| sections when you distribute them as separate works.  But when you | ||||
| distribute the same sections as part of a whole which is a work based | ||||
| on the Program, the distribution of the whole must be on the terms of | ||||
| this License, whose permissions for other licensees extend to the | ||||
| entire whole, and thus to each and every part regardless of who wrote it. | ||||
|  | ||||
| Thus, it is not the intent of this section to claim rights or contest | ||||
| your rights to work written entirely by you; rather, the intent is to | ||||
| exercise the right to control the distribution of derivative or | ||||
| collective works based on the Program. | ||||
|  | ||||
| In addition, mere aggregation of another work not based on the Program | ||||
| with the Program (or with a work based on the Program) on a volume of | ||||
| a storage or distribution medium does not bring the other work under | ||||
| the scope of this License. | ||||
|  | ||||
|   3. You may copy and distribute the Program (or a work based on it, | ||||
| under Section 2) in object code or executable form under the terms of | ||||
| Sections 1 and 2 above provided that you also do one of the following: | ||||
|  | ||||
|     a) Accompany it with the complete corresponding machine-readable | ||||
|     source code, which must be distributed under the terms of Sections | ||||
|     1 and 2 above on a medium customarily used for software interchange; or, | ||||
|  | ||||
|     b) Accompany it with a written offer, valid for at least three | ||||
|     years, to give any third party, for a charge no more than your | ||||
|     cost of physically performing source distribution, a complete | ||||
|     machine-readable copy of the corresponding source code, to be | ||||
|     distributed under the terms of Sections 1 and 2 above on a medium | ||||
|     customarily used for software interchange; or, | ||||
|  | ||||
|     c) Accompany it with the information you received as to the offer | ||||
|     to distribute corresponding source code.  (This alternative is | ||||
|     allowed only for noncommercial distribution and only if you | ||||
|     received the program in object code or executable form with such | ||||
|     an offer, in accord with Subsection b above.) | ||||
|  | ||||
| The source code for a work means the preferred form of the work for | ||||
| making modifications to it.  For an executable work, complete source | ||||
| code means all the source code for all modules it contains, plus any | ||||
| associated interface definition files, plus the scripts used to | ||||
| control compilation and installation of the executable.  However, as a | ||||
| special exception, the source code distributed need not include | ||||
| anything that is normally distributed (in either source or binary | ||||
| form) with the major components (compiler, kernel, and so on) of the | ||||
| operating system on which the executable runs, unless that component | ||||
| itself accompanies the executable. | ||||
|  | ||||
| If distribution of executable or object code is made by offering | ||||
| access to copy from a designated place, then offering equivalent | ||||
| access to copy the source code from the same place counts as | ||||
| distribution of the source code, even though third parties are not | ||||
| compelled to copy the source along with the object code. | ||||
|  | ||||
|   4. You may not copy, modify, sublicense, or distribute the Program | ||||
| except as expressly provided under this License.  Any attempt | ||||
| otherwise to copy, modify, sublicense or distribute the Program is | ||||
| void, and will automatically terminate your rights under this License. | ||||
| However, parties who have received copies, or rights, from you under | ||||
| this License will not have their licenses terminated so long as such | ||||
| parties remain in full compliance. | ||||
|  | ||||
|   5. You are not required to accept this License, since you have not | ||||
| signed it.  However, nothing else grants you permission to modify or | ||||
| distribute the Program or its derivative works.  These actions are | ||||
| prohibited by law if you do not accept this License.  Therefore, by | ||||
| modifying or distributing the Program (or any work based on the | ||||
| Program), you indicate your acceptance of this License to do so, and | ||||
| all its terms and conditions for copying, distributing or modifying | ||||
| the Program or works based on it. | ||||
|  | ||||
|   6. Each time you redistribute the Program (or any work based on the | ||||
| Program), the recipient automatically receives a license from the | ||||
| original licensor to copy, distribute or modify the Program subject to | ||||
| these terms and conditions.  You may not impose any further | ||||
| restrictions on the recipients' exercise of the rights granted herein. | ||||
| You are not responsible for enforcing compliance by third parties to | ||||
| this License. | ||||
|  | ||||
|   7. If, as a consequence of a court judgment or allegation of patent | ||||
| infringement or for any other reason (not limited to patent issues), | ||||
| conditions are imposed on you (whether by court order, agreement or | ||||
| otherwise) that contradict the conditions of this License, they do not | ||||
| excuse you from the conditions of this License.  If you cannot | ||||
| distribute so as to satisfy simultaneously your obligations under this | ||||
| License and any other pertinent obligations, then as a consequence you | ||||
| may not distribute the Program at all.  For example, if a patent | ||||
| license would not permit royalty-free redistribution of the Program by | ||||
| all those who receive copies directly or indirectly through you, then | ||||
| the only way you could satisfy both it and this License would be to | ||||
| refrain entirely from distribution of the Program. | ||||
|  | ||||
| If any portion of this section is held invalid or unenforceable under | ||||
| any particular circumstance, the balance of the section is intended to | ||||
| apply and the section as a whole is intended to apply in other | ||||
| circumstances. | ||||
|  | ||||
| It is not the purpose of this section to induce you to infringe any | ||||
| patents or other property right claims or to contest validity of any | ||||
| such claims; this section has the sole purpose of protecting the | ||||
| integrity of the free software distribution system, which is | ||||
| implemented by public license practices.  Many people have made | ||||
| generous contributions to the wide range of software distributed | ||||
| through that system in reliance on consistent application of that | ||||
| system; it is up to the author/donor to decide if he or she is willing | ||||
| to distribute software through any other system and a licensee cannot | ||||
| impose that choice. | ||||
|  | ||||
| This section is intended to make thoroughly clear what is believed to | ||||
| be a consequence of the rest of this License. | ||||
|  | ||||
|   8. If the distribution and/or use of the Program is restricted in | ||||
| certain countries either by patents or by copyrighted interfaces, the | ||||
| original copyright holder who places the Program under this License | ||||
| may add an explicit geographical distribution limitation excluding | ||||
| those countries, so that distribution is permitted only in or among | ||||
| countries not thus excluded.  In such case, this License incorporates | ||||
| the limitation as if written in the body of this License. | ||||
|  | ||||
|   9. The Free Software Foundation may publish revised and/or new versions | ||||
| of the General Public License from time to time.  Such new versions will | ||||
| be similar in spirit to the present version, but may differ in detail to | ||||
| address new problems or concerns. | ||||
|  | ||||
| Each version is given a distinguishing version number.  If the Program | ||||
| specifies a version number of this License which applies to it and "any | ||||
| later version", you have the option of following the terms and conditions | ||||
| either of that version or of any later version published by the Free | ||||
| Software Foundation.  If the Program does not specify a version number of | ||||
| this License, you may choose any version ever published by the Free Software | ||||
| Foundation. | ||||
|  | ||||
|   10. If you wish to incorporate parts of the Program into other free | ||||
| programs whose distribution conditions are different, write to the author | ||||
| to ask for permission.  For software which is copyrighted by the Free | ||||
| Software Foundation, write to the Free Software Foundation; we sometimes | ||||
| make exceptions for this.  Our decision will be guided by the two goals | ||||
| of preserving the free status of all derivatives of our free software and | ||||
| of promoting the sharing and reuse of software generally. | ||||
|  | ||||
| 			    NO WARRANTY | ||||
|  | ||||
|   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||||
| FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN | ||||
| OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||||
| PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||||
| OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS | ||||
| TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE | ||||
| PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||||
| REPAIR OR CORRECTION. | ||||
|  | ||||
|   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||||
| WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||||
| REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||||
| INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||||
| OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||||
| TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||||
| YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||||
| PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGES. | ||||
|  | ||||
| 		     END OF TERMS AND CONDITIONS | ||||
|  | ||||
| 	    How to Apply These Terms to Your New Programs | ||||
|  | ||||
|   If you develop a new program, and you want it to be of the greatest | ||||
| possible use to the public, the best way to achieve this is to make it | ||||
| free software which everyone can redistribute and change under these terms. | ||||
|  | ||||
|   To do so, attach the following notices to the program.  It is safest | ||||
| to attach them to the start of each source file to most effectively | ||||
| convey the exclusion of warranty; and each file should have at least | ||||
| the "copyright" line and a pointer to where the full notice is found. | ||||
|  | ||||
|     <one line to give the program's name and a brief idea of what it does.> | ||||
|     Copyright (C) <year>  <name of author> | ||||
|  | ||||
|     This program is free software; you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation; either version 2 of the License, or | ||||
|     (at your option) any later version. | ||||
|  | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program; if not, write to the Free Software | ||||
|     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||
|  | ||||
|  | ||||
| Also add information on how to contact you by electronic and paper mail. | ||||
|  | ||||
| If the program is interactive, make it output a short notice like this | ||||
| when it starts in an interactive mode: | ||||
|  | ||||
|     Gnomovision version 69, Copyright (C) year  name of author | ||||
|     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||||
|     This is free software, and you are welcome to redistribute it | ||||
|     under certain conditions; type `show c' for details. | ||||
|  | ||||
| The hypothetical commands `show w' and `show c' should show the appropriate | ||||
| parts of the General Public License.  Of course, the commands you use may | ||||
| be called something other than `show w' and `show c'; they could even be | ||||
| mouse-clicks or menu items--whatever suits your program. | ||||
|  | ||||
| You should also get your employer (if you work as a programmer) or your | ||||
| school, if any, to sign a "copyright disclaimer" for the program, if | ||||
| necessary.  Here is a sample; alter the names: | ||||
|  | ||||
|   Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||||
|   `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||||
|  | ||||
|   <signature of Ty Coon>, 1 April 1989 | ||||
|   Ty Coon, President of Vice | ||||
|  | ||||
| This General Public License does not permit incorporating your program into | ||||
| proprietary programs.  If your program is a subroutine library, you may | ||||
| consider it more useful to permit linking proprietary applications with the | ||||
| library.  If this is what you want to do, use the GNU Library General | ||||
| Public License instead of this License. | ||||
							
								
								
									
										16
									
								
								data/theme/gnome-shell-sass/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,16 @@ | ||||
| # GNOME Shell Sass | ||||
| GNOME Shell Sass is a project intended to allow the sharing of the | ||||
| theme sources in sass between gnome-shell and other projects like | ||||
| gnome-shell-extensions. | ||||
|  | ||||
| Any changes should be done in the [GNOME Shell subtree][shell-subtree] | ||||
| and not the stand-alone [gnome-shell-sass repository][sass-repo]. They | ||||
| will then be synchronized periodically before releases. | ||||
|  | ||||
| ## License | ||||
| GNOME Shell Sass is distributed under the terms of the GNU General Public | ||||
| License, version 2 or later. See the [COPYING][license] file for details. | ||||
|  | ||||
| [shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/data/theme/gnome-shell-sass | ||||
| [sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass | ||||
| [license]: COPYING | ||||
							
								
								
									
										44
									
								
								data/theme/gnome-shell-sass/_colors.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,44 @@ | ||||
| // When color definition differs for dark and light variant, | ||||
| // it gets @if ed depending on $variant | ||||
|  | ||||
|  | ||||
| $base_color: if($variant =='light', #ffffff, #292929); | ||||
| $bg_color: if($variant =='light', #ededed, #393f3f); | ||||
| $fg_color: if($variant =='light', #2e3436, #eeeeec); | ||||
|  | ||||
| $selected_fg_color: #ffffff; | ||||
| $selected_bg_color: if($variant == 'light', #4a90d9, darken(#4a90d9,20%)); | ||||
| $selected_borders_color: if($variant=='light', darken($selected_bg_color, 30%), | ||||
|                                                darken($selected_bg_color, 20%)); | ||||
| $borders_color: if($variant =='light', darken($bg_color,30%), darken($bg_color,12%)); | ||||
| $borders_edge: if($variant =='light', white, transparentize($fg_color, 0.9)); | ||||
| $link_color: if($variant == 'light', darken($selected_bg_color,10%), | ||||
|                                      lighten($selected_bg_color,20%)); | ||||
| $link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), | ||||
|                                      lighten($selected_bg_color,10%)); | ||||
| $top_hilight: $borders_edge; | ||||
|  | ||||
| $warning_color: #f57900; | ||||
| $error_color: #cc0000; | ||||
| $success_color: if($variant =='light', #73d216, darken(#73d216,10%)); | ||||
| $destructive_color: if($variant =='light', #ef2929, darken(#ef2929,10%)); | ||||
|  | ||||
| $osd_fg_color: #eeeeec; | ||||
| $osd_bg_color: #2e3436; | ||||
| $osd_borders_color: transparentize(black, 0.3); | ||||
| $osd_outer_borders_color: transparentize(white, 0.9); | ||||
|  | ||||
| $tooltip_borders_color: $osd_outer_borders_color; | ||||
|  | ||||
| //insensitive state derived colors | ||||
| $insensitive_fg_color: mix($fg_color, $bg_color, 50%); | ||||
| $insensitive_bg_color: mix($bg_color, $base_color, 60%); | ||||
| $insensitive_borders_color: $borders_color; | ||||
|  | ||||
| //colors for the backdrop state, derived from the main colors. | ||||
| $backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%)); | ||||
| $backdrop_bg_color: $bg_color; | ||||
| $backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%); | ||||
| $backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%)); | ||||
| $backdrop_borders_color: mix($borders_color, $bg_color, 90%); | ||||
| $backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%); | ||||
							
								
								
									
										2018
									
								
								data/theme/gnome-shell-sass/_common.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										221
									
								
								data/theme/gnome-shell-sass/_drawing.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,221 @@ | ||||
| // Drawing mixins | ||||
|  | ||||
| // generic drawing of more complex things | ||||
|  | ||||
| @function _widget_edge($c:$borders_edge) { | ||||
| // outer highlight "used" on most widgets | ||||
|   @return 0 1px $c; | ||||
| } | ||||
|  | ||||
| // provide font size in rem, with px fallback | ||||
| @mixin fontsize($size: 24, $base: 16) { | ||||
|   font-size: round($size) + pt; | ||||
|   //font-size: ($size / $base) * 1rem; | ||||
| } | ||||
|  | ||||
| @mixin _shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) { | ||||
| // | ||||
| // Helper function to stack up to 4 box-shadows; | ||||
| // | ||||
|   @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; } | ||||
|   @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; } | ||||
|   @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; } | ||||
|   @else { box-shadow: $shadow1; } | ||||
| } | ||||
|  | ||||
| // entries | ||||
|  | ||||
| @mixin entry($t, $fc:$selected_bg_color, $edge: $borders_edge) { | ||||
| // | ||||
| // Entries drawing function | ||||
| // | ||||
| // $t: entry type | ||||
| // $fc: focus color | ||||
| // $edge: set to none to not draw the bottom edge or specify a color to not | ||||
| //        use the default one | ||||
| // | ||||
| // possible $t values: | ||||
| // normal, focus, insensitive | ||||
| // | ||||
|   $_inner_shadows: inset 0 2px 4px transparentize(black, 0.6); | ||||
|  | ||||
|   @if $t==normal { | ||||
|     background-color: $base_color; | ||||
|     border-color: $borders_color; | ||||
|     @include _shadows($_inner_shadows); | ||||
|  | ||||
|   } | ||||
|   @if $t==focus { | ||||
|     @include _shadows($_inner_shadows); | ||||
|     border-color: if($fc==$selected_bg_color, | ||||
|                      $selected_borders_color, | ||||
|                      darken($fc,35%)); | ||||
|   } | ||||
|   @if $t==hover { } | ||||
|   @if $t==insensitive { | ||||
|     color: $insensitive_fg_color; | ||||
|     border-color: $insensitive_bg_color; | ||||
|     box-shadow: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // buttons | ||||
|  | ||||
| @function _border_color ($c) { @return darken($c,25%); } // colored buttons want | ||||
|                                                          // the border form the | ||||
|                                                          // base color | ||||
|  | ||||
| @function _text_shadow_color ($tc:$fg_color, $bg:$bg_color) { | ||||
| // | ||||
| // calculate the color of text shadows | ||||
| // | ||||
| // $tc is the text color | ||||
| // $bg is the background color | ||||
| // | ||||
|   $_lbg: lightness($bg)/100%; | ||||
|   @if lightness($tc)<50% { @return transparentize(white,1-$_lbg/($_lbg*1.3)); } | ||||
|   @else { @return transparentize(black,$_lbg*0.8); } | ||||
| } | ||||
|  | ||||
| @function _button_hilight_color($c) { | ||||
| // | ||||
| // calculate the right top hilight color for buttons | ||||
| // | ||||
| // $c: base color; | ||||
| // | ||||
|   @if lightness($c)>90% { @return white; } | ||||
|   @else if lightness($c)>80% { @return transparentize(white, 0.3); } | ||||
|   @else if lightness($c)>50% { @return transparentize(white, 0.5); } | ||||
|   @else if lightness($c)>40% { @return transparentize(white, 0.7); } | ||||
|   @else { @return transparentize(white, 0.9); } | ||||
| } | ||||
|  | ||||
| @mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { | ||||
| // | ||||
| // helper function for the text emboss effect | ||||
| // | ||||
| // $tc is the optional text color, not the shadow color | ||||
| // | ||||
| // TODO: this functions needs a way to deal with special cases | ||||
| // | ||||
|  | ||||
|   $_shadow: _text_shadow_color($tc, $bg); | ||||
|  | ||||
|   @if lightness($tc)<50% { | ||||
|     text-shadow: 0 1px $_shadow; | ||||
|     icon-shadow: 0 1px $_shadow; | ||||
|   } | ||||
|   @else { | ||||
|     text-shadow: 0 -1px $_shadow; | ||||
|     icon-shadow: 0 -1px $_shadow; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @mixin button($t, $c:$osd_bg_color, $tc:$fg_color, $edge: $borders_edge) { | ||||
| // | ||||
| // Button drawing function | ||||
| // | ||||
| // $t:    button type, | ||||
| // $c:    base button color for colored* types | ||||
| // $tc:   optional text color for colored* types | ||||
| // $edge: set to none to not draw the bottom edge or specify a color to not | ||||
| //        use the default one | ||||
| // | ||||
| // possible $t values: | ||||
| // normal, hover, active, insensitive, insensitive-active, | ||||
| // backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, | ||||
| // osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated | ||||
| // | ||||
|  | ||||
|   $_hilight_color: _button_hilight_color($c); | ||||
|   $_button_edge: if($edge == none, none, _widget_edge($edge)); | ||||
|   $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); | ||||
|  | ||||
|  | ||||
|   @if $t==normal { | ||||
|   // | ||||
|   // normal button | ||||
|   // | ||||
|     $_bg: if($c!=$osd_bg_color, transparentize($c, 0.5), | ||||
|                             $osd_bg_color); | ||||
|  | ||||
|     color: $osd_fg_color; | ||||
|     background-color: $_bg; | ||||
|     border-color: $osd_borders_color; | ||||
|     box-shadow: inset 0 1px lighten($osd_bg_color,10%); | ||||
|     text-shadow: 0 1px black; | ||||
|     icon-shadow: 0 1px black; | ||||
|   } | ||||
|   @if $t==focus { | ||||
|   // | ||||
|   // focused button | ||||
|   // | ||||
|     $_bg: if($c!=$osd_bg_color, transparentize($c, 0.5), | ||||
|                           $osd_bg_color); | ||||
|  | ||||
|     color: $osd_fg_color; | ||||
|     text-shadow: 0 1px black; | ||||
|     icon-shadow: 0 1px black; | ||||
|     box-shadow: inset 0px 0px 0px 1px $selected_bg_color; | ||||
|   } | ||||
|  | ||||
|   @else if $t==hover { | ||||
|   // | ||||
|   // active osd button | ||||
|   // | ||||
|     $_bg: if($c!=$osd_bg_color, transparentize($c, 0.3), | ||||
|                             lighten($osd_bg_color,10%)); | ||||
|  | ||||
|     color: white; | ||||
|     border-color: $osd_borders_color; | ||||
|     background-color: $_bg; | ||||
|     box-shadow: inset 0 1px lighten($osd_bg_color,20%); | ||||
|     text-shadow: 0 1px black; | ||||
|     icon-shadow: 0 1px black; | ||||
|  | ||||
|   } | ||||
|   @else if $t==active { | ||||
|   // | ||||
|   // active osd button | ||||
|   // | ||||
|     $_bg: if($c!=$bg_color, $c, $osd_borders_color); | ||||
|  | ||||
|     color: white; | ||||
|     border-color: $osd_borders_color; | ||||
|     background-color: darken($_bg,5%); | ||||
|     // This should be none, but it's creating some issues with borders, so to | ||||
|     // workaround it for now, use inset wich goes through a different code path. | ||||
|     // see https://bugzilla.gnome.org/show_bug.cgi?id=752934 | ||||
|     box-shadow: inset 0 0 black; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; | ||||
|   } | ||||
|   @else if $t==insensitive { | ||||
|   // | ||||
|   // insensitive osd button | ||||
|   // | ||||
|     $_bg: transparentize(mix($insensitive_fg_color,$osd_bg_color,20%),0.3); | ||||
|  | ||||
|     color: $insensitive_fg_color; | ||||
|     border-color: $osd_borders_color; | ||||
|     background-color: $_bg; | ||||
|     box-shadow: none; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; | ||||
|   } | ||||
|   @else if $t==undecorated { | ||||
|   // | ||||
|   // reset | ||||
|   // | ||||
|     border-color: transparent; | ||||
|     background-color: transparent; | ||||
|     background-image: none; | ||||
|  | ||||
|     @include _shadows(inset 0 1px transparentize(white,1), | ||||
|                       $_blank_edge); | ||||
|  | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
							
								
								
									
										41
									
								
								data/theme/gnome-shell-sass/_high-contrast-colors.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,41 @@ | ||||
| // When color definition differs for dark and light variant, | ||||
| // it gets @if ed depending on $variant | ||||
|  | ||||
|  | ||||
| $base_color: #222; | ||||
| $bg_color: #000; | ||||
| $fg_color: #fff; | ||||
|  | ||||
| $selected_fg_color: #ffffff; | ||||
| $selected_bg_color: darken(#4a90d9,20%); | ||||
| $selected_borders_color: darken($selected_bg_color, 20%); | ||||
| $borders_color: darken($bg_color,12%); | ||||
| $borders_edge: transparentize($fg_color, 0.9); | ||||
| $link_color: lighten($selected_bg_color,20%); | ||||
| $link_visited_color: lighten($selected_bg_color,10%); | ||||
| $top_hilight: $borders_edge; | ||||
|  | ||||
| $warning_color: #f57900; | ||||
| $error_color: #cc0000; | ||||
| $success_color: darken(#73d216,10%); | ||||
| $destructive_color: darken(#ef2929,10%); | ||||
|  | ||||
| $osd_fg_color: #eeeeec; | ||||
| $osd_bg_color: #2e3436; | ||||
| $osd_borders_color: transparentize(black, 0.3); | ||||
| $osd_outer_borders_color: transparentize(white, 0.9); | ||||
|  | ||||
| $tooltip_borders_color: $osd_outer_borders_color; | ||||
|  | ||||
| //insensitive state derived colors | ||||
| $insensitive_fg_color: mix($fg_color, $bg_color, 50%); | ||||
| $insensitive_bg_color: mix($bg_color, $base_color, 60%); | ||||
| $insensitive_borders_color: $borders_color; | ||||
|  | ||||
| //colors for the backdrop state, derived from the main colors. | ||||
| $backdrop_base_color: lighten($base_color,1%); | ||||
| $backdrop_bg_color: $bg_color; | ||||
| $backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%); | ||||
| $backdrop_insensitive_color: lighten($backdrop_bg_color,15%); | ||||
| $backdrop_borders_color: mix($borders_color, $bg_color, 90%); | ||||
| $backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%); | ||||
							
								
								
									
										37
									
								
								data/theme/gnome-shell-sass/gnome-shell-sass.doap
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,37 @@ | ||||
| <Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|          xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" | ||||
|          xmlns:foaf="http://xmlns.com/foaf/0.1/" | ||||
|          xmlns:gnome="http://api.gnome.org/doap-extensions#" | ||||
|          xmlns="http://usefulinc.com/ns/doap#"> | ||||
|  | ||||
|   <name xml:lang="en">GNOME Shell Sass</name> | ||||
|   <shortdesc xml:lang="en">Sass sources of GNOME Shell</shortdesc> | ||||
|   <description>GNOME Shell Sass is a project intended to allow the sharing of the | ||||
|  sass theme sources between gnome-shell and other projects like gnome-shell-extensions.</description> | ||||
|  | ||||
|   <category rdf:resource="http://api.gnome.org/doap-extensions#core" /> | ||||
|   <programming-language>sass</programming-language> | ||||
|   <programming-language>css</programming-language> | ||||
|  | ||||
|   <maintainer> | ||||
|     <foaf:Person> | ||||
|       <foaf:name>Carlos Soriano</foaf:name> | ||||
|       <foaf:mbox rdf:resource="mailto:csoriano@gnome.org" /> | ||||
|       <gnome:userid>csoriano</gnome:userid> | ||||
|     </foaf:Person> | ||||
|   </maintainer> | ||||
|   <maintainer> | ||||
|     <foaf:Person> | ||||
|       <foaf:name>Florian Müllner</foaf:name> | ||||
|       <foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" /> | ||||
|       <gnome:userid>fmuellner</gnome:userid> | ||||
|     </foaf:Person> | ||||
|   </maintainer> | ||||
|   <maintainer> | ||||
|     <foaf:Person> | ||||
|       <foaf:name>Jakub Steiner</foaf:name> | ||||
|       <foaf:mbox rdf:resource="mailto:jimmac@gmail.com" /> | ||||
|       <gnome:userid>jimmac</gnome:userid> | ||||
|     </foaf:Person> | ||||
|   </maintainer> | ||||
| </Project> | ||||
							
								
								
									
										109
									
								
								data/theme/key-enter.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,109 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-enter.svg" | ||||
|    inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="1744" | ||||
|      inkscape:window-height="866" | ||||
|      id="namedview19" | ||||
|      showgrid="false" | ||||
|      inkscape:zoom="14.75" | ||||
|      inkscape:cx="7.9322034" | ||||
|      inkscape:cy="14.554666" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="55" | ||||
|      inkscape:window-maximized="0" | ||||
|      inkscape:current-layer="svg7384" /> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      transform="matrix(2,0,0,2,-281.56285,-1615.0002)" | ||||
|      style="display:inline" | ||||
|      id="layer12"> | ||||
|     <path | ||||
|        id="path16589" | ||||
|        d="m 148.00015,821.0002 h -1 c -0.26528,0 -0.53057,-0.093 -0.71875,-0.2812 l -3.71875,-3.7188 c 0,0 2.47917,-2.4792 3.71875,-3.7187 0.18817,-0.1882 0.45344,-0.2813 0.71875,-0.2813 h 1 v 1 c 0,0.2653 -0.0931,0.5306 -0.28125,0.7188 l -2.28125,2.2812 2.28125,2.2813 c 0.18811,0.1881 0.28129,0.4534 0.28125,0.7187 z" | ||||
|        style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|     <path | ||||
|        style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#bebebe;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" | ||||
|        d="m 154.0002,810 v 4.5 c 0,1.3807 -1.11929,2.5 -2.5,2.5 h -6.50005" | ||||
|        id="path16591" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 4.1 KiB | 
							
								
								
									
										114
									
								
								data/theme/key-hide.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,114 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-hide.svg" | ||||
|    inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="1919" | ||||
|      inkscape:window-height="1011" | ||||
|      id="namedview19" | ||||
|      showgrid="false" | ||||
|      inkscape:zoom="14.75" | ||||
|      inkscape:cx="-12.338983" | ||||
|      inkscape:cy="14.554666" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="55" | ||||
|      inkscape:window-maximized="0" | ||||
|      inkscape:current-layer="svg7384" /> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      style="display:inline" | ||||
|      inkscape:label="go-down" | ||||
|      id="g11722" | ||||
|      transform="matrix(2,0,0,2,-362.0004,-1494)"> | ||||
|     <rect | ||||
|        transform="rotate(90)" | ||||
|        style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none;enable-background:new" | ||||
|        id="rect11718" | ||||
|        y="-197.0002" | ||||
|        x="747" | ||||
|        height="16" | ||||
|        width="16" /> | ||||
|     <path | ||||
|        style="display:inline;fill:#e5e5e5;fill-opacity:1;stroke:none" | ||||
|        d="m 189.0002,759.4375 -5.71875,-5.7187 C 183.08558,753.5229 183.0002,753.2556 183.0002,753 v -1 h 1 c 0.25562,0 0.52288,0.085 0.71875,0.2813 l 4.28125,4.2812 4.28125,-4.2812 C 193.47732,752.0854 193.74458,752 194.0002,752 h 1 v 1 c 0,0.2556 -0.0854,0.5229 -0.28125,0.7188 z" | ||||
|        id="path11720" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="ccscsccsscscc" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 3.5 KiB | 
							
								
								
									
										129
									
								
								data/theme/key-layout.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,129 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-layout.svg" | ||||
|    inkscape:version="0.92.3 (2405546, 2018-03-11)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="3440" | ||||
|      inkscape:window-height="1376" | ||||
|      id="namedview19" | ||||
|      showgrid="false" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="46.246852" | ||||
|      inkscape:cy="17.474578" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="27" | ||||
|      inkscape:window-maximized="1" | ||||
|      inkscape:current-layer="svg7384"> | ||||
|     <inkscape:grid | ||||
|        type="xygrid" | ||||
|        id="grid861" /> | ||||
|   </sodipodi:namedview> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      style="stroke-width:0.5;enable-background:new" | ||||
|      id="g3561" | ||||
|      inkscape:label="preferences-desktop-locale" | ||||
|      transform="matrix(2,0,0,2,135.99464,-895.9793)"> | ||||
|     <path | ||||
|        sodipodi:nodetypes="cc" | ||||
|        inkscape:connector-curvature="0" | ||||
|        id="path3535" | ||||
|        d="m -65,450 v 12" | ||||
|        style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:#e5e5e5;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> | ||||
|     <path | ||||
|        sodipodi:nodetypes="ccccccccc" | ||||
|        inkscape:connector-curvature="0" | ||||
|        id="path3537" | ||||
|        d="m -65,456 h 4 l 1,2 h 5 v -6 h -4 l -1,-2 h -5 z" | ||||
|        style="fill:none;fill-rule:evenodd;stroke:#e5e5e5;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> | ||||
|     <path | ||||
|        style="opacity:1;vector-effect:none;fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | ||||
|        d="m -65,456 h 4 l 1,2 h 5 v -6 h -4 l -1,-2 h -5 z" | ||||
|        id="path3539" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="ccccccccc" /> | ||||
|     <rect | ||||
|        style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:0.89050001;marker:none;enable-background:new" | ||||
|        id="rect3543" | ||||
|        y="448" | ||||
|        x="-68" | ||||
|        height="16" | ||||
|        width="16" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										109
									
								
								data/theme/key-shift-latched-uppercase.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,109 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-shift-latched-uppercase.svg" | ||||
|    inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="1791" | ||||
|      inkscape:window-height="984" | ||||
|      id="namedview19" | ||||
|      showgrid="false" | ||||
|      inkscape:zoom="14.75" | ||||
|      inkscape:cx="-0.77966097" | ||||
|      inkscape:cy="18.847458" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="55" | ||||
|      inkscape:window-maximized="0" | ||||
|      inkscape:current-layer="svg7384" /> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      transform="matrix(2,0,0,2,-282.0004,-1614.2187)" | ||||
|      style="display:inline;fill:#006098;fill-opacity:1" | ||||
|      id="layer12"> | ||||
|     <path | ||||
|        style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new" | ||||
|        d="m 147,818 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z" | ||||
|        id="path16532" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|     <path | ||||
|        id="path16534" | ||||
|        d="m 147,822 v -2 h 3.9377 v 2 z" | ||||
|        style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 3.4 KiB | 
							
								
								
									
										104
									
								
								data/theme/key-shift-uppercase.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,104 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-shift-uppercase.svg" | ||||
|    inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="2160" | ||||
|      inkscape:window-height="1311" | ||||
|      id="namedview18" | ||||
|      showgrid="false" | ||||
|      inkscape:zoom="14.75" | ||||
|      inkscape:cx="-27.898305" | ||||
|      inkscape:cy="8" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="55" | ||||
|      inkscape:window-maximized="1" | ||||
|      inkscape:current-layer="svg7384" /> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-141.0002,-791)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      transform="matrix(2,0,0,2,-282.0008,-1614.2187)" | ||||
|      style="display:inline;fill:#006098;fill-opacity:1" | ||||
|      id="layer12"> | ||||
|     <path | ||||
|        id="path16548" | ||||
|        d="m 147.0002,820 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z" | ||||
|        style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 3.1 KiB | 
							
								
								
									
										108
									
								
								data/theme/key-shift.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,108 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <svg | ||||
|    xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="32" | ||||
|    viewBox="0 0 32 32" | ||||
|    version="1.1" | ||||
|    id="svg7384" | ||||
|    height="32" | ||||
|    sodipodi:docname="key-shift.svg" | ||||
|    inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> | ||||
|   <sodipodi:namedview | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1" | ||||
|      objecttolerance="10" | ||||
|      gridtolerance="10" | ||||
|      guidetolerance="10" | ||||
|      inkscape:pageopacity="0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:window-width="1400" | ||||
|      inkscape:window-height="1034" | ||||
|      id="namedview4569" | ||||
|      showgrid="false" | ||||
|      fit-margin-top="0" | ||||
|      fit-margin-left="0" | ||||
|      fit-margin-right="0" | ||||
|      fit-margin-bottom="0" | ||||
|      inkscape:zoom="14.75" | ||||
|      inkscape:cx="1.5993763" | ||||
|      inkscape:cy="5" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="55" | ||||
|      inkscape:window-maximized="0" | ||||
|      inkscape:current-layer="svg7384" /> | ||||
|   <metadata | ||||
|      id="metadata90"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title>Gnome Symbolic Icon Theme</dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <title | ||||
|      id="title9167">Gnome Symbolic Icon Theme</title> | ||||
|   <defs | ||||
|      id="defs7386"> | ||||
|     <linearGradient | ||||
|        osb:paint="solid" | ||||
|        id="linearGradient19282" | ||||
|        gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)"> | ||||
|       <stop | ||||
|          style="stop-color:#666666;stop-opacity:1;" | ||||
|          offset="0" | ||||
|          id="stop19284" /> | ||||
|     </linearGradient> | ||||
|   </defs> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="layer9" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="layer10" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      id="layer11" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="layer13" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      id="layer14" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="layer15" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="g71291" /> | ||||
|   <g | ||||
|      transform="translate(-143.8754,-788)" | ||||
|      style="display:inline" | ||||
|      id="g4953" /> | ||||
|   <g | ||||
|      transform="matrix(2,0,0,2,-282.0008,-1614.2187)" | ||||
|      style="display:inline" | ||||
|      id="layer12"> | ||||
|     <path | ||||
|        id="path16548" | ||||
|        d="m 147.0002,820 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z" | ||||
|        style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new" | ||||
|        inkscape:connector-curvature="0" /> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 3.1 KiB | 
| @@ -7,15 +7,19 @@ theme_sources = files([ | ||||
|   'gnome-shell-sass/_high-contrast-colors.scss' | ||||
| ]) | ||||
|  | ||||
| styles = [ | ||||
|   'gnome-shell-high-contrast', | ||||
|   'gnome-shell' | ||||
| ] | ||||
|  | ||||
| theme_deps = [] | ||||
|  | ||||
| if sassc.found() | ||||
|   parse_sass = files('parse-sass.sh') | ||||
|  | ||||
|   theme_deps += custom_target('update-theme', | ||||
|     output: 'theme-update.stamp', | ||||
|     depend_files: theme_sources, | ||||
|     command: [parse_sass, '@OUTPUT@'], | ||||
|     build_by_default: true | ||||
|   ) | ||||
| endif | ||||
| foreach style: styles | ||||
|   theme_deps += custom_target('style-' + style, | ||||
|                               input: '@0@.scss'.format(style), | ||||
|                               output: '@0@.css'.format(style), | ||||
|                               command: [ | ||||
|                                 sassc, '-a', '@INPUT@', '@OUTPUT@' | ||||
|                               ], | ||||
|                               depend_files: theme_sources) | ||||
| endforeach | ||||
|   | ||||
| @@ -13,10 +13,102 @@ | ||||
|    height="64px" | ||||
|    id="svg3393" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.48.5 r10040" | ||||
|    sodipodi:docname="New document 2"> | ||||
|    inkscape:version="0.92.3 (2405546, 2018-03-11)" | ||||
|    sodipodi:docname="no-notifications.svg"> | ||||
|   <defs | ||||
|      id="defs3395" /> | ||||
|      id="defs3395"> | ||||
|     <clipPath | ||||
|        id="clipPath6262-0" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6264-6" | ||||
|          width="3.8250003" | ||||
|          height="6.3750005" | ||||
|          x="26.849981" | ||||
|          y="220.75" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath6258-0" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6260-6" | ||||
|          width="2.8977275" | ||||
|          height="5.3129687" | ||||
|          x="26.965673" | ||||
|          y="221.28162" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath6254-6" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6256-6" | ||||
|          width="1.876245" | ||||
|          height="4.8783236" | ||||
|          x="26.998718" | ||||
|          y="221.50153" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath8028-3" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <path | ||||
|          style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | ||||
|          d="m -73,-30 -7,-7 v -4.5 h 16.5 v 4.5 l -7.5,7 z" | ||||
|          id="path8030-6" | ||||
|          inkscape:connector-curvature="0" | ||||
|          sodipodi:nodetypes="ccccccc" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        clipPathUnits="userSpaceOnUse" | ||||
|        id="clipPath6810-7-87-7"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" | ||||
|          id="rect6812-2-4-5" | ||||
|          width="14" | ||||
|          height="11" | ||||
|          x="21" | ||||
|          y="281" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath6262" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6264" | ||||
|          width="3.8250003" | ||||
|          height="6.3750005" | ||||
|          x="26.849981" | ||||
|          y="220.75" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath6258" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6260" | ||||
|          width="2.8977275" | ||||
|          height="5.3129687" | ||||
|          x="26.965673" | ||||
|          y="221.28162" /> | ||||
|     </clipPath> | ||||
|     <clipPath | ||||
|        id="clipPath6254" | ||||
|        clipPathUnits="userSpaceOnUse"> | ||||
|       <rect | ||||
|          style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none" | ||||
|          id="rect6256" | ||||
|          width="1.876245" | ||||
|          height="4.8783236" | ||||
|          x="26.998718" | ||||
|          y="221.50153" /> | ||||
|     </clipPath> | ||||
|     <inkscape:path-effect | ||||
|        effect="spiro" | ||||
|        id="path-effect3951" | ||||
|        is_visible="true" /> | ||||
|   </defs> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
|      pagecolor="#ffffff" | ||||
| @@ -24,17 +116,17 @@ | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="0.0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="5.5" | ||||
|      inkscape:cx="32" | ||||
|      inkscape:cy="32" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="125.08157" | ||||
|      inkscape:cy="-13.805087" | ||||
|      inkscape:current-layer="layer1" | ||||
|      showgrid="true" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:grid-bbox="true" | ||||
|      inkscape:window-width="697" | ||||
|      inkscape:window-height="613" | ||||
|      inkscape:window-x="100" | ||||
|      inkscape:window-y="77" | ||||
|      inkscape:window-width="1664" | ||||
|      inkscape:window-height="1034" | ||||
|      inkscape:window-x="1479" | ||||
|      inkscape:window-y="252" | ||||
|      inkscape:window-maximized="0" /> | ||||
|   <metadata | ||||
|      id="metadata3398"> | ||||
| @@ -54,7 +146,7 @@ | ||||
|      inkscape:groupmode="layer"> | ||||
|     <g | ||||
|        style="display:inline" | ||||
|        transform="matrix(4,0,0,4,0.29733827,-0.35415646)" | ||||
|        transform="matrix(4,0,0,4,-79.702662,-0.35415646)" | ||||
|        id="g19245"> | ||||
|       <g | ||||
|          id="g19247" | ||||
| @@ -71,15 +163,15 @@ | ||||
|          transform="translate(-323.02908,-649.02581)"> | ||||
|         <path | ||||
|            inkscape:connector-curvature="0" | ||||
|            d="m 331.9377,653 c 0.0187,0.16677 0.0625,0.32822 0.0625,0.5 0,2.48528 -2.01472,4.5 -4.5,4.5 -0.11769,0 -0.22834,-0.0224 -0.34375,-0.0312 l 0,2.21875 c 0,1.00412 0.80838,1.8125 1.8125,1.8125 l 1.54511,-5e-5 2,2.04688 2.0625,-2.04688 1.61114,0 c 1.00413,0 1.8125,-0.80838 1.8125,-1.8125 l 0,-5.375 c 0,-1.00412 -0.80837,-1.8125 -1.8125,-1.8125 z" | ||||
|            d="m 331.9377,653 c 0.0187,0.16677 0.0625,0.32822 0.0625,0.5 0,2.48528 -2.01472,4.5 -4.5,4.5 -0.11769,0 -0.22834,-0.0224 -0.34375,-0.0312 v 2.21875 c 0,1.00412 0.80838,1.8125 1.8125,1.8125 l 1.54511,-5e-5 2,2.04688 2.0625,-2.04688 h 1.61114 c 1.00413,0 1.8125,-0.80838 1.8125,-1.8125 v -5.375 c 0,-1.00412 -0.80837,-1.8125 -1.8125,-1.8125 z" | ||||
|            id="path19253" | ||||
|            sodipodi:nodetypes="csscsscccssssc" | ||||
|            style="opacity:0.5;color:#000000;fill:#c3c3c3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> | ||||
|            style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:#c3c3c3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" /> | ||||
|         <path | ||||
|            inkscape:connector-curvature="0" | ||||
|            d="m 327.5002,650 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.53125,1 1.03125,0 -0.0625,1.375 a 0.19951718,0.19951718 0 0 0 0,0.0625 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0.125,0.125 0.19951718,0.19951718 0 0 0 0.0312,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 l 1.15625,-0.75 0.5,0.90625 -1.21875,0.625 a 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0312,0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0.0937 0.19951718,0.19951718 0 0 0 0,0.0625 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0.0312,0.0625 0.19951718,0.19951718 0 0 0 0.0312,0.0312 0.19951718,0.19951718 0 0 0 0.0312,0.0312 l 1.25,0.625 -0.53125,0.90625 -1.15625,-0.781 a 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0625,0 0.19951718,0.19951718 0 0 0 -0.125,0.0937 0.19951718,0.19951718 0 0 0 -0.0312,0.0312 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0,0.0625 l 0.0625,1.3751 -1.03125,0 0.0937,-1.375 a 0.19951718,0.19951718 0 0 0 -0.0312,-0.0937 0.19951718,0.19951718 0 0 0 -0.0312,-0.0625 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0937,0.0312 l -1.1875,0.78125 -0.5,-0.90625 1.25,-0.625 a 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 0,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,-0.0625 0.19951718,0.19951718 0 0 0 -0.0312,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0 l -1.25,-0.625 0.5,-0.90625 1.1875,0.75 a 0.19951718,0.19951718 0 0 0 0.0312,0.0312 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0312,0 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 L 326.96895,651 z" | ||||
|            d="m 327.5002,650 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.53125,1 h 1.03125 l -0.0625,1.375 a 0.19951718,0.19951718 0 0 0 0,0.0625 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0.125,0.125 0.19951718,0.19951718 0 0 0 0.0312,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 l 1.15625,-0.75 0.5,0.90625 -1.21875,0.625 a 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0312,0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0.0937 0.19951718,0.19951718 0 0 0 0,0.0625 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0.0312,0.0625 0.19951718,0.19951718 0 0 0 0.0312,0.0312 0.19951718,0.19951718 0 0 0 0.0312,0.0312 l 1.25,0.625 -0.53125,0.90625 -1.15625,-0.781 a 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0625,0 0.19951718,0.19951718 0 0 0 -0.125,0.0937 0.19951718,0.19951718 0 0 0 -0.0312,0.0312 0.19951718,0.19951718 0 0 0 0,0.0312 0.19951718,0.19951718 0 0 0 0,0.0625 L 328.0002,656 h -1.03125 l 0.0937,-1.375 a 0.19951718,0.19951718 0 0 0 -0.0312,-0.0937 0.19951718,0.19951718 0 0 0 -0.0312,-0.0625 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0625,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0 0.19951718,0.19951718 0 0 0 -0.0937,0.0312 l -1.1875,0.78125 -0.5,-0.90625 1.25,-0.625 a 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 0,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,-0.0625 0.19951718,0.19951718 0 0 0 -0.0312,-0.0312 0.19951718,0.19951718 0 0 0 -0.0312,0 l -1.25,-0.625 0.5,-0.90625 1.1875,0.75 a 0.19951718,0.19951718 0 0 0 0.0312,0.0312 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0625,0 0.19951718,0.19951718 0 0 0 0.0312,0 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0312 0.19951718,0.19951718 0 0 0 0,-0.0312 0.19951718,0.19951718 0 0 0 0.0312,-0.0625 0.19951718,0.19951718 0 0 0 0,-0.0312 z" | ||||
|            id="path19255" | ||||
|            style="color:#000000;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> | ||||
|            style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate" /> | ||||
|       </g> | ||||
|       <g | ||||
|          id="g19257" | ||||
| @@ -110,5 +202,22 @@ | ||||
|          style="display:inline" | ||||
|          transform="translate(-323.02908,-649.02581)" /> | ||||
|     </g> | ||||
|     <g | ||||
|        style="opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" | ||||
|        inkscape:label="preferences-system-notifications" | ||||
|        id="g13967" | ||||
|        transform="matrix(4,0,0,4,-1044.0008,-2172)"> | ||||
|       <path | ||||
|          inkscape:connector-curvature="0" | ||||
|          d="m 268.94244,544.94838 c -2.20914,0 -3.33013,1.5 -4,4 l -1,5 c -0.10831,0.54156 -0.44772,1 -1,1 v 1 h 12 v -1 c -0.55229,0 -0.89169,-0.45844 -1,-1 l -1,-5 c -0.53033,-2.5 -1.79086,-4 -4,-4 z" | ||||
|          id="path40220" | ||||
|          sodipodi:nodetypes="ccsccccscc" | ||||
|          style="opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal" /> | ||||
|       <path | ||||
|          inkscape:connector-curvature="0" | ||||
|          d="m 269.11822,556.94838 a 1.5,1.5 0 0 0 1.41211,1 1.5,1.5 0 0 0 1.41211,-1 z" | ||||
|          id="path40774" | ||||
|          style="opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal" /> | ||||
|     </g> | ||||
|   </g> | ||||
| </svg> | ||||
|   | ||||
| Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 11 KiB | 
| @@ -1,10 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| srcdir=`dirname $0` | ||||
| stamp=${1} | ||||
| for scss in $srcdir/*.scss | ||||
| do | ||||
|   sassc -a $scss ${scss%%.scss}.css || exit 1 | ||||
| done | ||||
|  | ||||
| [ "$stamp" ] && touch $stamp | ||||
							
								
								
									
										48
									
								
								data/update-osk-layouts.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,48 @@ | ||||
| #!/bin/env bash | ||||
|  | ||||
| CLDR_LAYOUTS_TARBALL="http://www.unicode.org/Public/cldr/latest/keyboards.zip" | ||||
| CLDR2JSON_GIT="git://repo.or.cz/cldr2json.git" | ||||
|  | ||||
| WORKDIR=".osk-layout-workbench" | ||||
| CLDR2JSON="$WORKDIR/cldr2json/cldr2json.py" | ||||
| SRCDIR="$WORKDIR/keyboards/android" | ||||
| DESTDIR="osk-layouts" | ||||
| GRESOURCE_FILE="gnome-shell-osk-layouts.gresource.xml" | ||||
| TMP_GRESOURCE_FILE=".$GRESOURCE_FILE.tmp" | ||||
|  | ||||
| cd `dirname $0` | ||||
|  | ||||
| # Ensure work/dest dirs | ||||
| rm -rf $WORKDIR | ||||
| mkdir -p $WORKDIR | ||||
| mkdir -p "osk-layouts" | ||||
|  | ||||
| # Download stuff on the work dir | ||||
| pushd $WORKDIR | ||||
| gio copy $CLDR_LAYOUTS_TARBALL . | ||||
| git clone $CLDR2JSON_GIT | ||||
| unzip keyboards.zip | ||||
| popd | ||||
|  | ||||
| # Transform to JSON files | ||||
| $CLDR2JSON $SRCDIR $DESTDIR | ||||
|  | ||||
| # Generate new gresources xml file | ||||
| cat >$TMP_GRESOURCE_FILE <<EOF | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <gresources> | ||||
|   <gresource prefix="/org/gnome/shell/osk-layouts"> | ||||
| EOF | ||||
|  | ||||
| for f in $DESTDIR/*.json | ||||
| do | ||||
|     echo "    <file>$(basename $f)</file>" >>$TMP_GRESOURCE_FILE | ||||
| done | ||||
|  | ||||
| cat >>$TMP_GRESOURCE_FILE <<EOF | ||||
|   </gresource> | ||||
| </gresources> | ||||
| EOF | ||||
|  | ||||
| # Rewrite old gresources xml | ||||
| mv $TMP_GRESOURCE_FILE $GRESOURCE_FILE | ||||
| @@ -34,16 +34,16 @@ function stripPrefix(string, prefix) { | ||||
|  | ||||
| var Application = new Lang.Class({ | ||||
|     Name: 'Application', | ||||
|     _init: function() { | ||||
|     _init() { | ||||
|         GLib.set_prgname('gnome-shell-extension-prefs'); | ||||
|         this.application = new Gtk.Application({ | ||||
|             application_id: 'org.gnome.shell.ExtensionPrefs', | ||||
|             flags: Gio.ApplicationFlags.HANDLES_COMMAND_LINE | ||||
|         }); | ||||
|  | ||||
|         this.application.connect('activate', Lang.bind(this, this._onActivate)); | ||||
|         this.application.connect('command-line', Lang.bind(this, this._onCommandLine)); | ||||
|         this.application.connect('startup', Lang.bind(this, this._onStartup)); | ||||
|         this.application.connect('activate', this._onActivate.bind(this)); | ||||
|         this.application.connect('command-line', this._onCommandLine.bind(this)); | ||||
|         this.application.connect('startup', this._onStartup.bind(this)); | ||||
|  | ||||
|         this._extensionPrefsModules = {}; | ||||
|  | ||||
| @@ -52,7 +52,7 @@ var Application = new Lang.Class({ | ||||
|         this._skipMainWindow = false; | ||||
|     }, | ||||
|  | ||||
|     _extensionAvailable: function(uuid) { | ||||
|     _extensionAvailable(uuid) { | ||||
|         let extension = ExtensionUtils.extensions[uuid]; | ||||
|  | ||||
|         if (!extension) | ||||
| @@ -64,7 +64,7 @@ var Application = new Lang.Class({ | ||||
|         return true; | ||||
|     }, | ||||
|  | ||||
|     _getExtensionPrefsModule: function(extension) { | ||||
|     _getExtensionPrefsModule(extension) { | ||||
|         let uuid = extension.metadata.uuid; | ||||
|  | ||||
|         if (this._extensionPrefsModules.hasOwnProperty(uuid)) | ||||
| @@ -79,7 +79,7 @@ var Application = new Lang.Class({ | ||||
|         return prefsModule; | ||||
|     }, | ||||
|  | ||||
|     _selectExtension: function(uuid) { | ||||
|     _selectExtension(uuid) { | ||||
|         if (!this._extensionAvailable(uuid)) | ||||
|             return; | ||||
|  | ||||
| @@ -114,7 +114,7 @@ var Application = new Lang.Class({ | ||||
|         dialog.show(); | ||||
|     }, | ||||
|  | ||||
|     _buildErrorUI: function(extension, exc) { | ||||
|     _buildErrorUI(extension, exc) { | ||||
|         let box = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL }); | ||||
|         let label = new Gtk.Label({ | ||||
|             label: _("There was an error loading the preferences dialog for %s:").format(extension.metadata.name) | ||||
| @@ -127,9 +127,7 @@ var Application = new Lang.Class({ | ||||
|         errortext += 'Stack trace:\n'; | ||||
|  | ||||
|         // Indent stack trace. | ||||
|         errortext += exc.stack.split('\n').map(function(line) { | ||||
|             return '  ' + line; | ||||
|         }).join('\n'); | ||||
|         errortext += exc.stack.split('\n').map(line => '  ' + line).join('\n'); | ||||
|  | ||||
|         let scroll = new Gtk.ScrolledWindow({ vexpand: true }); | ||||
|         let buffer = new Gtk.TextBuffer({ text: errortext }); | ||||
| @@ -142,7 +140,7 @@ var Application = new Lang.Class({ | ||||
|         return box; | ||||
|     }, | ||||
|  | ||||
|     _buildUI: function(app) { | ||||
|     _buildUI(app) { | ||||
|         this._window = new Gtk.ApplicationWindow({ application: app, | ||||
|                                                    window_position: Gtk.WindowPosition.CENTER }); | ||||
|  | ||||
| @@ -164,28 +162,28 @@ var Application = new Lang.Class({ | ||||
|         this._window.add(scroll); | ||||
|  | ||||
|         this._extensionSelector = new Gtk.ListBox({ selection_mode: Gtk.SelectionMode.NONE }); | ||||
|         this._extensionSelector.set_sort_func(Lang.bind(this, this._sortList)); | ||||
|         this._extensionSelector.set_header_func(Lang.bind(this, this._updateHeader)); | ||||
|         this._extensionSelector.set_sort_func(this._sortList.bind(this)); | ||||
|         this._extensionSelector.set_header_func(this._updateHeader.bind(this)); | ||||
|  | ||||
|         scroll.add(this._extensionSelector); | ||||
|  | ||||
|  | ||||
|         this._shellProxy = new GnomeShellProxy(Gio.DBus.session, 'org.gnome.Shell', '/org/gnome/Shell'); | ||||
|         this._shellProxy.connectSignal('ExtensionStatusChanged', Lang.bind(this, function(proxy, senderName, [uuid, state, error]) { | ||||
|         this._shellProxy.connectSignal('ExtensionStatusChanged', (proxy, senderName, [uuid, state, error]) => { | ||||
|             if (ExtensionUtils.extensions[uuid] !== undefined) | ||||
|                 this._scanExtensions(); | ||||
|         })); | ||||
|         }); | ||||
|  | ||||
|         this._window.show_all(); | ||||
|     }, | ||||
|  | ||||
|     _sortList: function(row1, row2) { | ||||
|     _sortList(row1, row2) { | ||||
|         let name1 = ExtensionUtils.extensions[row1.uuid].metadata.name; | ||||
|         let name2 = ExtensionUtils.extensions[row2.uuid].metadata.name; | ||||
|         return name1.localeCompare(name2); | ||||
|     }, | ||||
|  | ||||
|     _updateHeader: function(row, before) { | ||||
|     _updateHeader(row, before) { | ||||
|         if (!before || row.get_header()) | ||||
|             return; | ||||
|  | ||||
| @@ -193,27 +191,26 @@ var Application = new Lang.Class({ | ||||
|         row.set_header(sep); | ||||
|     }, | ||||
|  | ||||
|     _scanExtensions: function() { | ||||
|     _scanExtensions() { | ||||
|         let finder = new ExtensionUtils.ExtensionFinder(); | ||||
|         finder.connect('extension-found', Lang.bind(this, this._extensionFound)); | ||||
|         finder.connect('extension-found', this._extensionFound.bind(this)); | ||||
|         finder.scanExtensions(); | ||||
|         this._extensionsLoaded(); | ||||
|     }, | ||||
|  | ||||
|     _extensionFound: function(finder, extension) { | ||||
|     _extensionFound(finder, extension) { | ||||
|         let row = new ExtensionRow(extension.uuid); | ||||
|  | ||||
|         row.prefsButton.visible = this._extensionAvailable(row.uuid); | ||||
|         row.prefsButton.connect('clicked', Lang.bind(this, | ||||
|             function() { | ||||
|                 this._selectExtension(row.uuid); | ||||
|             })); | ||||
|         row.prefsButton.connect('clicked', () => { | ||||
|             this._selectExtension(row.uuid); | ||||
|         }); | ||||
|  | ||||
|         row.show_all(); | ||||
|         this._extensionSelector.add(row); | ||||
|     }, | ||||
|  | ||||
|     _extensionsLoaded: function() { | ||||
|     _extensionsLoaded() { | ||||
|         if (this._startupUuid && this._extensionAvailable(this._startupUuid)) | ||||
|             this._selectExtension(this._startupUuid); | ||||
|         this._startupUuid = null; | ||||
| @@ -221,16 +218,16 @@ var Application = new Lang.Class({ | ||||
|         this._loaded = true; | ||||
|     }, | ||||
|  | ||||
|     _onActivate: function() { | ||||
|     _onActivate() { | ||||
|         this._window.present(); | ||||
|     }, | ||||
|  | ||||
|     _onStartup: function(app) { | ||||
|     _onStartup(app) { | ||||
|         this._buildUI(app); | ||||
|         this._scanExtensions(); | ||||
|     }, | ||||
|  | ||||
|     _onCommandLine: function(app, commandLine) { | ||||
|     _onCommandLine(app, commandLine) { | ||||
|         app.activate(); | ||||
|         let args = commandLine.get_arguments(); | ||||
|  | ||||
| @@ -257,7 +254,7 @@ var DescriptionLabel = new Lang.Class({ | ||||
|     Name: 'DescriptionLabel', | ||||
|     Extends: Gtk.Label, | ||||
|  | ||||
|     vfunc_get_preferred_height_for_width: function(width) { | ||||
|     vfunc_get_preferred_height_for_width(width) { | ||||
|         // Hack: Request the maximum height allowed by the line limit | ||||
|         if (this.lines > 0) | ||||
|             return this.parent(0); | ||||
| @@ -269,29 +266,28 @@ var ExtensionRow = new Lang.Class({ | ||||
|     Name: 'ExtensionRow', | ||||
|     Extends: Gtk.ListBoxRow, | ||||
|  | ||||
|     _init: function(uuid) { | ||||
|     _init(uuid) { | ||||
|         this.parent(); | ||||
|  | ||||
|         this.uuid = uuid; | ||||
|  | ||||
|         this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' }); | ||||
|         this._settings.connect('changed::enabled-extensions', Lang.bind(this, | ||||
|             function() { | ||||
|                 this._switch.state = this._isEnabled(); | ||||
|             })); | ||||
|         this._settings.connect('changed::enabled-extensions', () => { | ||||
|             this._switch.state = this._isEnabled(); | ||||
|         }); | ||||
|         this._settings.connect('changed::disable-extension-version-validation', | ||||
|             Lang.bind(this, function() { | ||||
|             () => { | ||||
|                 this._switch.sensitive = this._canEnable(); | ||||
|             })); | ||||
|             }); | ||||
|         this._settings.connect('changed::disable-user-extensions', | ||||
|             Lang.bind(this, function() { | ||||
|             () => { | ||||
|                 this._switch.sensitive = this._canEnable(); | ||||
|             })); | ||||
|             }); | ||||
|  | ||||
|         this._buildUI(); | ||||
|     }, | ||||
|  | ||||
|     _buildUI: function() { | ||||
|     _buildUI() { | ||||
|         let extension = ExtensionUtils.extensions[this.uuid]; | ||||
|  | ||||
|         let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL, | ||||
| @@ -328,18 +324,17 @@ var ExtensionRow = new Lang.Class({ | ||||
|         this._switch = new Gtk.Switch({ valign: Gtk.Align.CENTER, | ||||
|                                         sensitive: this._canEnable(), | ||||
|                                         state: this._isEnabled() }); | ||||
|         this._switch.connect('notify::active', Lang.bind(this, | ||||
|             function() { | ||||
|                 if (this._switch.active) | ||||
|                     this._enable(); | ||||
|                 else | ||||
|                     this._disable(); | ||||
|             })); | ||||
|         this._switch.connect('state-set', function() { return true; }); | ||||
|         this._switch.connect('notify::active', () => { | ||||
|             if (this._switch.active) | ||||
|                 this._enable(); | ||||
|             else | ||||
|                 this._disable(); | ||||
|         }); | ||||
|         this._switch.connect('state-set', () => true); | ||||
|         hbox.add(this._switch); | ||||
|     }, | ||||
|  | ||||
|     _canEnable: function() { | ||||
|     _canEnable() { | ||||
|         let extension = ExtensionUtils.extensions[this.uuid]; | ||||
|         let checkVersion = !this._settings.get_boolean('disable-extension-version-validation'); | ||||
|  | ||||
| @@ -347,12 +342,12 @@ var ExtensionRow = new Lang.Class({ | ||||
|                !(checkVersion && ExtensionUtils.isOutOfDate(extension)); | ||||
|     }, | ||||
|  | ||||
|     _isEnabled: function() { | ||||
|     _isEnabled() { | ||||
|         let extensions = this._settings.get_strv('enabled-extensions'); | ||||
|         return extensions.indexOf(this.uuid) != -1; | ||||
|     }, | ||||
|  | ||||
|     _enable: function() { | ||||
|     _enable() { | ||||
|         let extensions = this._settings.get_strv('enabled-extensions'); | ||||
|         if (extensions.indexOf(this.uuid) != -1) | ||||
|             return; | ||||
| @@ -361,7 +356,7 @@ var ExtensionRow = new Lang.Class({ | ||||
|         this._settings.set_strv('enabled-extensions', extensions); | ||||
|     }, | ||||
|  | ||||
|     _disable: function() { | ||||
|     _disable() { | ||||
|         let extensions = this._settings.get_strv('enabled-extensions'); | ||||
|         let pos = extensions.indexOf(this.uuid); | ||||
|         if (pos == -1) | ||||
| @@ -378,11 +373,11 @@ function initEnvironment() { | ||||
|     // Monkey-patch in a "global" object that fakes some Shell utilities | ||||
|     // that ExtensionUtils depends on. | ||||
|     window.global = { | ||||
|         log: function() { | ||||
|         log() { | ||||
|             print([].join.call(arguments, ', ')); | ||||
|         }, | ||||
|  | ||||
|         logError: function(s) { | ||||
|         logError(s) { | ||||
|             log('ERROR: ' + s); | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -41,7 +41,7 @@ var BeginRequestType = { | ||||
| var AuthPrompt = new Lang.Class({ | ||||
|     Name: 'AuthPrompt', | ||||
|  | ||||
|     _init: function(gdmClient, mode) { | ||||
|     _init(gdmClient, mode) { | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|  | ||||
|         this._gdmClient = gdmClient; | ||||
| @@ -55,35 +55,33 @@ var AuthPrompt = new Lang.Class({ | ||||
|  | ||||
|         this._userVerifier = new GdmUtil.ShellUserVerifier(this._gdmClient, { reauthenticationOnly: reauthenticationOnly }); | ||||
|  | ||||
|         this._userVerifier.connect('ask-question', Lang.bind(this, this._onAskQuestion)); | ||||
|         this._userVerifier.connect('show-message', Lang.bind(this, this._onShowMessage)); | ||||
|         this._userVerifier.connect('verification-failed', Lang.bind(this, this._onVerificationFailed)); | ||||
|         this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete)); | ||||
|         this._userVerifier.connect('reset', Lang.bind(this, this._onReset)); | ||||
|         this._userVerifier.connect('smartcard-status-changed', Lang.bind(this, this._onSmartcardStatusChanged)); | ||||
|         this._userVerifier.connect('ovirt-user-authenticated', Lang.bind(this, this._onOVirtUserAuthenticated)); | ||||
|         this._userVerifier.connect('ask-question', this._onAskQuestion.bind(this)); | ||||
|         this._userVerifier.connect('show-message', this._onShowMessage.bind(this)); | ||||
|         this._userVerifier.connect('verification-failed', this._onVerificationFailed.bind(this)); | ||||
|         this._userVerifier.connect('verification-complete', this._onVerificationComplete.bind(this)); | ||||
|         this._userVerifier.connect('reset', this._onReset.bind(this)); | ||||
|         this._userVerifier.connect('smartcard-status-changed', this._onSmartcardStatusChanged.bind(this)); | ||||
|         this._userVerifier.connect('ovirt-user-authenticated', this._onOVirtUserAuthenticated.bind(this)); | ||||
|         this.smartcardDetected = this._userVerifier.smartcardDetected; | ||||
|  | ||||
|         this.connect('next', Lang.bind(this, function() { | ||||
|                          this.updateSensitivity(false); | ||||
|                          this.startSpinning(); | ||||
|                          if (this._queryingService) { | ||||
|                              this._userVerifier.answerQuery(this._queryingService, this._entry.text); | ||||
|                          } else { | ||||
|                              this._preemptiveAnswer = this._entry.text; | ||||
|                          } | ||||
|                      })); | ||||
|         this.connect('next', () => { | ||||
|                 this.updateSensitivity(false); | ||||
|                 this.startSpinning(); | ||||
|                 if (this._queryingService) { | ||||
|                     this._userVerifier.answerQuery(this._queryingService, this._entry.text); | ||||
|                 } else { | ||||
|                     this._preemptiveAnswer = this._entry.text; | ||||
|                 } | ||||
|             }); | ||||
|  | ||||
|         this.actor = new St.BoxLayout({ style_class: 'login-dialog-prompt-layout', | ||||
|                                         vertical: true }); | ||||
|         this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); | ||||
|         this.actor.connect('key-press-event', | ||||
|                            Lang.bind(this, function(actor, event) { | ||||
|                                if (event.get_key_symbol() == Clutter.KEY_Escape) { | ||||
|                                    this.cancel(); | ||||
|                                } | ||||
|                                return Clutter.EVENT_PROPAGATE; | ||||
|                            })); | ||||
|         this.actor.connect('destroy', this._onDestroy.bind(this)); | ||||
|         this.actor.connect('key-press-event', (actor, event) => { | ||||
|                 if (event.get_key_symbol() == Clutter.KEY_Escape) | ||||
|                     this.cancel(); | ||||
|                 return Clutter.EVENT_PROPAGATE; | ||||
|             }); | ||||
|  | ||||
|         this._userWell = new St.Bin({ x_fill: true, | ||||
|                                       x_align: St.Align.START }); | ||||
| @@ -136,21 +134,18 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this._defaultButtonWell.add_child(this._spinner.actor); | ||||
|     }, | ||||
|  | ||||
|     _onDestroy: function() { | ||||
|     _onDestroy() { | ||||
|         this._userVerifier.destroy(); | ||||
|         this._userVerifier = null; | ||||
|     }, | ||||
|  | ||||
|     _initButtons: function() { | ||||
|     _initButtons() { | ||||
|         this.cancelButton = new St.Button({ style_class: 'modal-dialog-button button', | ||||
|                                             button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE, | ||||
|                                             reactive: true, | ||||
|                                             can_focus: true, | ||||
|                                             label: _("Cancel") }); | ||||
|         this.cancelButton.connect('clicked', | ||||
|                                    Lang.bind(this, function() { | ||||
|                                        this.cancel(); | ||||
|                                    })); | ||||
|         this.cancelButton.connect('clicked', () => { this.cancel(); }); | ||||
|         this._buttonBox.add(this.cancelButton, | ||||
|                             { expand: false, | ||||
|                               x_fill: false, | ||||
| @@ -169,10 +164,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|                                           reactive: true, | ||||
|                                           can_focus: true, | ||||
|                                           label: _("Next") }); | ||||
|         this.nextButton.connect('clicked', | ||||
|                                  Lang.bind(this, function() { | ||||
|                                      this.emit('next'); | ||||
|                                  })); | ||||
|         this.nextButton.connect('clicked', () => { this.emit('next'); }); | ||||
|         this.nextButton.add_style_pseudo_class('default'); | ||||
|         this._buttonBox.add(this.nextButton, | ||||
|                             { expand: false, | ||||
| @@ -183,20 +175,19 @@ var AuthPrompt = new Lang.Class({ | ||||
|  | ||||
|         this._updateNextButtonSensitivity(this._entry.text.length > 0); | ||||
|  | ||||
|         this._entry.clutter_text.connect('text-changed', | ||||
|                                          Lang.bind(this, function() { | ||||
|                                              if (!this._userVerifier.hasPendingMessages) | ||||
|                                                  this._fadeOutMessage(); | ||||
|         this._entry.clutter_text.connect('text-changed', () => { | ||||
|             if (!this._userVerifier.hasPendingMessages) | ||||
|                 this._fadeOutMessage(); | ||||
|  | ||||
|                                              this._updateNextButtonSensitivity(this._entry.text.length > 0 || this.verificationStatus == AuthPromptStatus.VERIFYING); | ||||
|                                          })); | ||||
|         this._entry.clutter_text.connect('activate', Lang.bind(this, function() { | ||||
|             this._updateNextButtonSensitivity(this._entry.text.length > 0 || this.verificationStatus == AuthPromptStatus.VERIFYING); | ||||
|         }); | ||||
|         this._entry.clutter_text.connect('activate', () => { | ||||
|             if (this.nextButton.reactive) | ||||
|                 this.emit('next'); | ||||
|         })); | ||||
|         }); | ||||
|     }, | ||||
|  | ||||
|     _onAskQuestion: function(verifier, serviceName, question, passwordChar) { | ||||
|     _onAskQuestion(verifier, serviceName, question, passwordChar) { | ||||
|         if (this._queryingService) | ||||
|             this.clear(); | ||||
|  | ||||
| @@ -222,12 +213,12 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this.emit('prompted'); | ||||
|     }, | ||||
|  | ||||
|     _onOVirtUserAuthenticated: function() { | ||||
|     _onOVirtUserAuthenticated() { | ||||
|         if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) | ||||
|             this.reset(); | ||||
|     }, | ||||
|  | ||||
|     _onSmartcardStatusChanged: function() { | ||||
|     _onSmartcardStatusChanged() { | ||||
|         this.smartcardDetected = this._userVerifier.smartcardDetected; | ||||
|  | ||||
|         // Most of the time we want to reset if the user inserts or removes | ||||
| @@ -246,12 +237,12 @@ var AuthPrompt = new Lang.Class({ | ||||
|             this.reset(); | ||||
|     }, | ||||
|  | ||||
|     _onShowMessage: function(userVerifier, message, type) { | ||||
|     _onShowMessage(userVerifier, message, type) { | ||||
|         this.setMessage(message, type); | ||||
|         this.emit('prompted'); | ||||
|     }, | ||||
|  | ||||
|     _onVerificationFailed: function() { | ||||
|     _onVerificationFailed() { | ||||
|         this._queryingService = null; | ||||
|         this.clear(); | ||||
|  | ||||
| @@ -260,22 +251,22 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFICATION_FAILED; | ||||
|     }, | ||||
|  | ||||
|     _onVerificationComplete: function() { | ||||
|     _onVerificationComplete() { | ||||
|         this.setActorInDefaultButtonWell(null); | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED; | ||||
|         this.cancelButton.reactive = false; | ||||
|     }, | ||||
|  | ||||
|     _onReset: function() { | ||||
|     _onReset() { | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|         this.reset(); | ||||
|     }, | ||||
|  | ||||
|     addActorToDefaultButtonWell: function(actor) { | ||||
|     addActorToDefaultButtonWell(actor) { | ||||
|         this._defaultButtonWell.add_child(actor); | ||||
|     }, | ||||
|  | ||||
|     setActorInDefaultButtonWell: function(actor, animate) { | ||||
|     setActorInDefaultButtonWell(actor, animate) { | ||||
|         if (!this._defaultButtonWellActor && | ||||
|             !actor) | ||||
|             return; | ||||
| @@ -312,7 +303,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|                                    delay: DEFAULT_BUTTON_WELL_ANIMATION_DELAY, | ||||
|                                    transition: 'linear', | ||||
|                                    onCompleteScope: this, | ||||
|                                    onComplete: function() { | ||||
|                                    onComplete() { | ||||
|                                       if (wasSpinner) { | ||||
|                                           if (this._spinner) | ||||
|                                               this._spinner.stop(); | ||||
| @@ -339,25 +330,25 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this._defaultButtonWellActor = actor; | ||||
|     }, | ||||
|  | ||||
|     startSpinning: function() { | ||||
|     startSpinning() { | ||||
|         this.setActorInDefaultButtonWell(this._spinner.actor, true); | ||||
|     }, | ||||
|  | ||||
|     stopSpinning: function() { | ||||
|     stopSpinning() { | ||||
|         this.setActorInDefaultButtonWell(null, false); | ||||
|     }, | ||||
|  | ||||
|     clear: function() { | ||||
|     clear() { | ||||
|         this._entry.text = ''; | ||||
|         this.stopSpinning(); | ||||
|     }, | ||||
|  | ||||
|     setPasswordChar: function(passwordChar) { | ||||
|     setPasswordChar(passwordChar) { | ||||
|         this._entry.clutter_text.set_password_char(passwordChar); | ||||
|         this._entry.menu.isPassword = passwordChar != ''; | ||||
|     }, | ||||
|  | ||||
|     setQuestion: function(question) { | ||||
|     setQuestion(question) { | ||||
|         this._label.set_text(question); | ||||
|  | ||||
|         this._label.show(); | ||||
| @@ -366,7 +357,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this._entry.grab_key_focus(); | ||||
|     }, | ||||
|  | ||||
|     getAnswer: function() { | ||||
|     getAnswer() { | ||||
|         let text; | ||||
|  | ||||
|         if (this._preemptiveAnswer) { | ||||
| @@ -379,7 +370,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         return text; | ||||
|     }, | ||||
|  | ||||
|     _fadeOutMessage: function() { | ||||
|     _fadeOutMessage() { | ||||
|         if (this._message.opacity == 0) | ||||
|             return; | ||||
|         Tweener.removeTweens(this._message); | ||||
| @@ -390,7 +381,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|                          }); | ||||
|     }, | ||||
|  | ||||
|     setMessage: function(message, type) { | ||||
|     setMessage(message, type) { | ||||
|         if (type == GdmUtil.MessageType.ERROR) | ||||
|             this._message.add_style_class_name('login-dialog-message-warning'); | ||||
|         else | ||||
| @@ -410,18 +401,18 @@ var AuthPrompt = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _updateNextButtonSensitivity: function(sensitive) { | ||||
|     _updateNextButtonSensitivity(sensitive) { | ||||
|         this.nextButton.reactive = sensitive; | ||||
|         this.nextButton.can_focus = sensitive; | ||||
|     }, | ||||
|  | ||||
|     updateSensitivity: function(sensitive) { | ||||
|     updateSensitivity(sensitive) { | ||||
|         this._updateNextButtonSensitivity(sensitive && (this._entry.text.length > 0 || this.verificationStatus == AuthPromptStatus.VERIFYING)); | ||||
|         this._entry.reactive = sensitive; | ||||
|         this._entry.clutter_text.editable = sensitive; | ||||
|     }, | ||||
|  | ||||
|     hide: function() { | ||||
|     hide() { | ||||
|         this.setActorInDefaultButtonWell(null, true); | ||||
|         this.actor.hide(); | ||||
|         this._message.opacity = 0; | ||||
| @@ -432,7 +423,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this._entry.set_text(''); | ||||
|     }, | ||||
|  | ||||
|     setUser: function(user) { | ||||
|     setUser(user) { | ||||
|         let oldChild = this._userWell.get_child(); | ||||
|         if (oldChild) | ||||
|             oldChild.destroy(); | ||||
| @@ -443,7 +434,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     reset: function() { | ||||
|     reset() { | ||||
|         let oldStatus = this.verificationStatus; | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|         this.cancelButton.reactive = true; | ||||
| @@ -480,7 +471,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this.emit('reset', beginRequestType); | ||||
|     }, | ||||
|  | ||||
|     addCharacter: function(unichar) { | ||||
|     addCharacter(unichar) { | ||||
|         if (!this._entry.visible) | ||||
|             return; | ||||
|  | ||||
| @@ -488,7 +479,7 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this._entry.clutter_text.insert_unichar(unichar); | ||||
|     }, | ||||
|  | ||||
|     begin: function(params) { | ||||
|     begin(params) { | ||||
|         params = Params.parse(params, { userName: null, | ||||
|                                         hold: null }); | ||||
|  | ||||
| @@ -502,22 +493,21 @@ var AuthPrompt = new Lang.Class({ | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFYING; | ||||
|     }, | ||||
|  | ||||
|     finish: function(onComplete) { | ||||
|     finish(onComplete) { | ||||
|         if (!this._userVerifier.hasPendingMessages) { | ||||
|             this._userVerifier.clear(); | ||||
|             onComplete(); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         let signalId = this._userVerifier.connect('no-more-messages', | ||||
|                                                   Lang.bind(this, function() { | ||||
|                                                       this._userVerifier.disconnect(signalId); | ||||
|                                                       this._userVerifier.clear(); | ||||
|                                                       onComplete(); | ||||
|                                                   })); | ||||
|         let signalId = this._userVerifier.connect('no-more-messages', () => { | ||||
|             this._userVerifier.disconnect(signalId); | ||||
|             this._userVerifier.clear(); | ||||
|             onComplete(); | ||||
|         }); | ||||
|     }, | ||||
|  | ||||
|     cancel: function() { | ||||
|     cancel() { | ||||
|         if (this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) { | ||||
|             return; | ||||
|         } | ||||
|   | ||||
| @@ -50,7 +50,7 @@ const Signals = imports.signals; | ||||
| var Task = new Lang.Class({ | ||||
|     Name: 'Task', | ||||
|  | ||||
|     _init: function(scope, handler) { | ||||
|     _init(scope, handler) { | ||||
|         if (scope) | ||||
|             this.scope = scope; | ||||
|         else | ||||
| @@ -59,7 +59,7 @@ var Task = new Lang.Class({ | ||||
|         this.handler = handler; | ||||
|     }, | ||||
|  | ||||
|     run: function() { | ||||
|     run() { | ||||
|         if (this.handler) | ||||
|             return this.handler.call(this.scope); | ||||
|  | ||||
| @@ -72,39 +72,37 @@ var Hold = new Lang.Class({ | ||||
|     Name: 'Hold', | ||||
|     Extends: Task, | ||||
|  | ||||
|     _init: function() { | ||||
|         this.parent(this, function () { | ||||
|             return this; | ||||
|         }); | ||||
|     _init() { | ||||
|         this.parent(this, () => this); | ||||
|  | ||||
|         this._acquisitions = 1; | ||||
|     }, | ||||
|  | ||||
|     acquire: function() { | ||||
|     acquire() { | ||||
|         if (this._acquisitions <= 0) | ||||
|             throw new Error("Cannot acquire hold after it's been released"); | ||||
|         this._acquisitions++; | ||||
|     }, | ||||
|  | ||||
|     acquireUntilAfter: function(hold) { | ||||
|     acquireUntilAfter(hold) { | ||||
|         if (!hold.isAcquired()) | ||||
|             return; | ||||
|  | ||||
|         this.acquire(); | ||||
|         let signalId = hold.connect('release', Lang.bind(this, function() { | ||||
|                                         hold.disconnect(signalId); | ||||
|                                         this.release(); | ||||
|                                     })); | ||||
|         let signalId = hold.connect('release', () => { | ||||
|             hold.disconnect(signalId); | ||||
|             this.release(); | ||||
|         }); | ||||
|     }, | ||||
|  | ||||
|     release: function() { | ||||
|     release() { | ||||
|         this._acquisitions--; | ||||
|  | ||||
|         if (this._acquisitions == 0) | ||||
|             this.emit('release'); | ||||
|     }, | ||||
|  | ||||
|     isAcquired: function() { | ||||
|     isAcquired() { | ||||
|         return this._acquisitions > 0; | ||||
|     } | ||||
| }); | ||||
| @@ -114,7 +112,7 @@ var Batch = new Lang.Class({ | ||||
|     Name: 'Batch', | ||||
|     Extends: Task, | ||||
|  | ||||
|     _init: function(scope, tasks) { | ||||
|     _init(scope, tasks) { | ||||
|         this.parent(); | ||||
|  | ||||
|         this.tasks = []; | ||||
| @@ -134,11 +132,11 @@ var Batch = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     process: function() { | ||||
|     process() { | ||||
|         throw new Error('Not implemented'); | ||||
|     }, | ||||
|  | ||||
|     runTask: function() { | ||||
|     runTask() { | ||||
|         if (!(this._currentTaskIndex in this.tasks)) { | ||||
|             return null; | ||||
|         } | ||||
| @@ -146,11 +144,11 @@ var Batch = new Lang.Class({ | ||||
|         return this.tasks[this._currentTaskIndex].run(); | ||||
|     }, | ||||
|  | ||||
|     _finish: function() { | ||||
|     _finish() { | ||||
|         this.hold.release(); | ||||
|     }, | ||||
|  | ||||
|     nextTask: function() { | ||||
|     nextTask() { | ||||
|         this._currentTaskIndex++; | ||||
|  | ||||
|         // if the entire batch of tasks is finished, release | ||||
| @@ -163,7 +161,7 @@ var Batch = new Lang.Class({ | ||||
|         this.process(); | ||||
|     }, | ||||
|  | ||||
|     _start: function() { | ||||
|     _start() { | ||||
|         // acquire a hold to get released when the entire | ||||
|         // batch of tasks is finished | ||||
|         this.hold = new Hold(); | ||||
| @@ -171,7 +169,7 @@ var Batch = new Lang.Class({ | ||||
|         this.process(); | ||||
|     }, | ||||
|  | ||||
|     run: function() { | ||||
|     run() { | ||||
|         this._start(); | ||||
|  | ||||
|         // hold may be destroyed at this point | ||||
| @@ -179,7 +177,7 @@ var Batch = new Lang.Class({ | ||||
|         return this.hold; | ||||
|     }, | ||||
|  | ||||
|     cancel: function() { | ||||
|     cancel() { | ||||
|         this.tasks = this.tasks.splice(0, this._currentTaskIndex + 1); | ||||
|     } | ||||
| }); | ||||
| @@ -189,7 +187,7 @@ var ConcurrentBatch = new Lang.Class({ | ||||
|     Name: 'ConcurrentBatch', | ||||
|     Extends: Batch, | ||||
|  | ||||
|     process: function() { | ||||
|     process() { | ||||
|        let hold = this.runTask(); | ||||
|  | ||||
|        if (hold) { | ||||
| @@ -208,17 +206,16 @@ var ConsecutiveBatch = new Lang.Class({ | ||||
|     Name: 'ConsecutiveBatch', | ||||
|     Extends: Batch, | ||||
|  | ||||
|     process: function() { | ||||
|     process() { | ||||
|        let hold = this.runTask(); | ||||
|  | ||||
|        if (hold && hold.isAcquired()) { | ||||
|            // This task is inhibiting the batch. Wait on it | ||||
|            // before processing the next one. | ||||
|            let signalId = hold.connect('release', | ||||
|                                        Lang.bind(this, function() { | ||||
|                                            hold.disconnect(signalId); | ||||
|                                            this.nextTask(); | ||||
|                                        })); | ||||
|            let signalId = hold.connect('release', () => { | ||||
|                hold.disconnect(signalId); | ||||
|                this.nextTask(); | ||||
|            }); | ||||
|            return; | ||||
|        } else { | ||||
|            // This task finished, process the next one | ||||
|   | ||||
| @@ -29,28 +29,28 @@ function OVirtCredentials() { | ||||
|  | ||||
| var OVirtCredentialsManager = new Lang.Class({ | ||||
|     Name: 'OVirtCredentialsManager', | ||||
|     _init: function() { | ||||
|     _init() { | ||||
|         this._token = null; | ||||
|  | ||||
|         this._credentials = new OVirtCredentials(); | ||||
|         this._credentials.connectSignal('UserAuthenticated', | ||||
|                                         Lang.bind(this, this._onUserAuthenticated)); | ||||
|                                         this._onUserAuthenticated.bind(this)); | ||||
|     }, | ||||
|  | ||||
|     _onUserAuthenticated: function(proxy, sender, [token]) { | ||||
|     _onUserAuthenticated(proxy, sender, [token]) { | ||||
|         this._token = token; | ||||
|         this.emit('user-authenticated', token); | ||||
|     }, | ||||
|  | ||||
|     hasToken: function() { | ||||
|     hasToken() { | ||||
|         return this._token != null; | ||||
|     }, | ||||
|  | ||||
|     getToken: function() { | ||||
|     getToken() { | ||||
|         return this._token; | ||||
|     }, | ||||
|  | ||||
|     resetToken: function() { | ||||
|     resetToken() { | ||||
|         this._token = null; | ||||
|     } | ||||
| }); | ||||
|   | ||||
| @@ -62,21 +62,21 @@ const Realm = Gio.DBusProxy.makeProxyWrapper(RealmIface); | ||||
| var Manager = new Lang.Class({ | ||||
|     Name: 'Manager', | ||||
|  | ||||
|     _init: function(parentActor) { | ||||
|     _init(parentActor) { | ||||
|         this._aggregateProvider = Provider(Gio.DBus.system, | ||||
|                                            'org.freedesktop.realmd', | ||||
|                                            '/org/freedesktop/realmd', | ||||
|                                            Lang.bind(this, this._reloadRealms)) | ||||
|                                            this._reloadRealms.bind(this)) | ||||
|         this._realms = {}; | ||||
|  | ||||
|         this._signalId = this._aggregateProvider.connect('g-properties-changed', | ||||
|                                         Lang.bind(this, function(proxy, properties) { | ||||
|                                             if ('Realms' in properties.deep_unpack()) | ||||
|                                                 this._reloadRealms(); | ||||
|                                         })); | ||||
|             (proxy, properties) => { | ||||
|                 if ('Realms' in properties.deep_unpack()) | ||||
|                     this._reloadRealms(); | ||||
|             }); | ||||
|     }, | ||||
|  | ||||
|     _reloadRealms: function() { | ||||
|     _reloadRealms() { | ||||
|         let realmPaths = this._aggregateProvider.Realms; | ||||
|  | ||||
|         if (!realmPaths) | ||||
| @@ -86,11 +86,11 @@ var Manager = new Lang.Class({ | ||||
|             let realm = Realm(Gio.DBus.system, | ||||
|                               'org.freedesktop.realmd', | ||||
|                               realmPaths[i], | ||||
|                               Lang.bind(this, this._onRealmLoaded)); | ||||
|                               this._onRealmLoaded.bind(this)); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _reloadRealm: function(realm) { | ||||
|     _reloadRealm(realm) { | ||||
|         if (!realm.Configured) { | ||||
|             if (this._realms[realm.get_object_path()]) | ||||
|                 delete this._realms[realm.get_object_path()]; | ||||
| @@ -103,20 +103,19 @@ var Manager = new Lang.Class({ | ||||
|         this._updateLoginFormat(); | ||||
|     }, | ||||
|  | ||||
|     _onRealmLoaded: function(realm, error) { | ||||
|     _onRealmLoaded(realm, error) { | ||||
|         if (error) | ||||
|             return; | ||||
|  | ||||
|         this._reloadRealm(realm); | ||||
|  | ||||
|         realm.connect('g-properties-changed', | ||||
|                       Lang.bind(this, function(proxy, properties) { | ||||
|                                 if ('Configured' in properties.deep_unpack()) | ||||
|                                     this._reloadRealm(realm); | ||||
|                                 })); | ||||
|         realm.connect('g-properties-changed', (proxy, properties) => { | ||||
|             if ('Configured' in properties.deep_unpack()) | ||||
|                 this._reloadRealm(realm); | ||||
|         }); | ||||
|     }, | ||||
|  | ||||
|     _updateLoginFormat: function() { | ||||
|     _updateLoginFormat() { | ||||
|         let newLoginFormat; | ||||
|  | ||||
|         for (let realmPath in this._realms) { | ||||
| @@ -142,13 +141,11 @@ var Manager = new Lang.Class({ | ||||
|         return this._loginFormat; | ||||
|     }, | ||||
|  | ||||
|     release: function() { | ||||
|     release() { | ||||
|         Service(Gio.DBus.system, | ||||
|                 'org.freedesktop.realmd', | ||||
|                 '/org/freedesktop/realmd', | ||||
|                 function(service) { | ||||
|                     service.ReleaseRemote(); | ||||
|                 }); | ||||
|                 service => { service.ReleaseRemote(); }); | ||||
|         this._aggregateProvider.disconnect(this._signalId); | ||||
|         this._realms = { }; | ||||
|         this._updateLoginFormat(); | ||||
|   | ||||
							
								
								
									
										187
									
								
								js/gdm/util.js
									
									
									
									
									
								
							
							
						
						| @@ -60,7 +60,7 @@ function fadeInActor(actor) { | ||||
|                        height: naturalHeight, | ||||
|                        time: FADE_ANIMATION_TIME, | ||||
|                        transition: 'easeOutQuad', | ||||
|                        onComplete: function() { | ||||
|                        onComplete() { | ||||
|                            this.set_height(-1); | ||||
|                            hold.release(); | ||||
|                        }, | ||||
| @@ -82,7 +82,7 @@ function fadeOutActor(actor) { | ||||
|                        height: 0, | ||||
|                        time: FADE_ANIMATION_TIME, | ||||
|                        transition: 'easeOutQuad', | ||||
|                        onComplete: function() { | ||||
|                        onComplete() { | ||||
|                            this.hide(); | ||||
|                            this.set_height(-1); | ||||
|                            hold.release(); | ||||
| @@ -111,7 +111,7 @@ function cloneAndFadeOutActor(actor) { | ||||
|                      { opacity: 0, | ||||
|                        time: CLONE_FADE_ANIMATION_TIME, | ||||
|                        transition: 'easeOutQuad', | ||||
|                        onComplete: function() { | ||||
|                        onComplete() { | ||||
|                            clone.destroy(); | ||||
|                            hold.release(); | ||||
|                        } | ||||
| @@ -122,7 +122,7 @@ function cloneAndFadeOutActor(actor) { | ||||
| var ShellUserVerifier = new Lang.Class({ | ||||
|     Name: 'ShellUserVerifier', | ||||
|  | ||||
|     _init: function(client, params) { | ||||
|     _init(client, params) { | ||||
|         params = Params.parse(params, { reauthenticationOnly: false }); | ||||
|         this._reauthOnly = params.reauthenticationOnly; | ||||
|  | ||||
| @@ -133,7 +133,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|  | ||||
|         this._settings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA }); | ||||
|         this._settings.connect('changed', | ||||
|                                Lang.bind(this, this._updateDefaultService)); | ||||
|                                this._updateDefaultService.bind(this)); | ||||
|         this._updateDefaultService(); | ||||
|  | ||||
|         this._fprintManager = Fprint.FprintManager(); | ||||
| @@ -147,9 +147,9 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._checkForSmartcard(); | ||||
|  | ||||
|         this._smartcardInsertedId = this._smartcardManager.connect('smartcard-inserted', | ||||
|                                                                    Lang.bind(this, this._checkForSmartcard)); | ||||
|                                                                    this._checkForSmartcard.bind(this)); | ||||
|         this._smartcardRemovedId = this._smartcardManager.connect('smartcard-removed', | ||||
|                                                                   Lang.bind(this, this._checkForSmartcard)); | ||||
|                                                                   this._checkForSmartcard.bind(this)); | ||||
|  | ||||
|         this._messageQueue = []; | ||||
|         this._messageQueueTimeoutId = 0; | ||||
| @@ -164,10 +164,10 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|             this._oVirtUserAuthenticated(this._oVirtCredentialsManager.getToken()); | ||||
|  | ||||
|         this._oVirtUserAuthenticatedId = this._oVirtCredentialsManager.connect('user-authenticated', | ||||
|                                                                                Lang.bind(this, this._oVirtUserAuthenticated)); | ||||
|                                                                                this._oVirtUserAuthenticated.bind(this)); | ||||
|     }, | ||||
|  | ||||
|     begin: function(userName, hold) { | ||||
|     begin(userName, hold) { | ||||
|         this._cancellable = new Gio.Cancellable(); | ||||
|         this._hold = hold; | ||||
|         this._userName = userName; | ||||
| @@ -179,13 +179,13 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|             // If possible, reauthenticate an already running session, | ||||
|             // so any session specific credentials get updated appropriately | ||||
|             this._client.open_reauthentication_channel(userName, this._cancellable, | ||||
|                                                        Lang.bind(this, this._reauthenticationChannelOpened)); | ||||
|                                                        this._reauthenticationChannelOpened.bind(this)); | ||||
|         } else { | ||||
|             this._client.get_user_verifier(this._cancellable, Lang.bind(this, this._userVerifierGot)); | ||||
|             this._client.get_user_verifier(this._cancellable, this._userVerifierGot.bind(this)); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     cancel: function() { | ||||
|     cancel() { | ||||
|         if (this._cancellable) | ||||
|             this._cancellable.cancel(); | ||||
|  | ||||
| @@ -195,14 +195,14 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _clearUserVerifier: function() { | ||||
|     _clearUserVerifier() { | ||||
|         if (this._userVerifier) { | ||||
|             this._userVerifier.run_dispose(); | ||||
|             this._userVerifier = null; | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     clear: function() { | ||||
|     clear() { | ||||
|         if (this._cancellable) { | ||||
|             this._cancellable.cancel(); | ||||
|             this._cancellable = null; | ||||
| @@ -212,7 +212,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._clearMessageQueue(); | ||||
|     }, | ||||
|  | ||||
|     destroy: function() { | ||||
|     destroy() { | ||||
|         this.clear(); | ||||
|  | ||||
|         this._settings.run_dispose(); | ||||
| @@ -226,24 +226,23 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._oVirtCredentialsManager = null; | ||||
|     }, | ||||
|  | ||||
|     answerQuery: function(serviceName, answer) { | ||||
|     answerQuery(serviceName, answer) { | ||||
|         if (!this.hasPendingMessages) { | ||||
|             this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|         } else { | ||||
|             let signalId = this.connect('no-more-messages', | ||||
|                                         Lang.bind(this, function() { | ||||
|                                             this.disconnect(signalId); | ||||
|                                             this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|                                         })); | ||||
|             let signalId = this.connect('no-more-messages', () => { | ||||
|                 this.disconnect(signalId); | ||||
|                 this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|             }); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _getIntervalForMessage: function(message) { | ||||
|     _getIntervalForMessage(message) { | ||||
|         // We probably could be smarter here | ||||
|         return message.length * USER_READ_TIME; | ||||
|     }, | ||||
|  | ||||
|     finishMessageQueue: function() { | ||||
|     finishMessageQueue() { | ||||
|         if (!this.hasPendingMessages) | ||||
|             return; | ||||
|  | ||||
| @@ -253,7 +252,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this.emit('no-more-messages'); | ||||
|     }, | ||||
|  | ||||
|     _queueMessageTimeout: function() { | ||||
|     _queueMessageTimeout() { | ||||
|         if (this._messageQueue.length == 0) { | ||||
|             this.finishMessageQueue(); | ||||
|             return; | ||||
| @@ -268,15 +267,15 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|  | ||||
|         this._messageQueueTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, | ||||
|                                                        message.interval, | ||||
|                                                        Lang.bind(this, function() { | ||||
|                                                        () => { | ||||
|                                                            this._messageQueueTimeoutId = 0; | ||||
|                                                            this._queueMessageTimeout(); | ||||
|                                                            return GLib.SOURCE_REMOVE; | ||||
|                                                        })); | ||||
|                                                        }); | ||||
|         GLib.Source.set_name_by_id(this._messageQueueTimeoutId, '[gnome-shell] this._queueMessageTimeout'); | ||||
|     }, | ||||
|  | ||||
|     _queueMessage: function(message, messageType) { | ||||
|     _queueMessage(message, messageType) { | ||||
|         let interval = this._getIntervalForMessage(message); | ||||
|  | ||||
|         this.hasPendingMessages = true; | ||||
| @@ -284,7 +283,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._queueMessageTimeout(); | ||||
|     }, | ||||
|  | ||||
|     _clearMessageQueue: function() { | ||||
|     _clearMessageQueue() { | ||||
|         this.finishMessageQueue(); | ||||
|  | ||||
|         if (this._messageQueueTimeoutId != 0) { | ||||
| @@ -294,7 +293,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this.emit('show-message', null, MessageType.NONE); | ||||
|     }, | ||||
|  | ||||
|     _checkForFingerprintReader: function() { | ||||
|     _checkForFingerprintReader() { | ||||
|         this._haveFingerprintReader = false; | ||||
|  | ||||
|         if (!this._settings.get_boolean(FINGERPRINT_AUTHENTICATION_KEY) || | ||||
| @@ -303,21 +302,21 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         this._fprintManager.GetDefaultDeviceRemote(Gio.DBusCallFlags.NONE, this._cancellable, Lang.bind(this, | ||||
|             function(device, error) { | ||||
|         this._fprintManager.GetDefaultDeviceRemote(Gio.DBusCallFlags.NONE, this._cancellable, | ||||
|             (device, error) => { | ||||
|                 if (!error && device) { | ||||
|                     this._haveFingerprintReader = true; | ||||
|                     this._updateDefaultService(); | ||||
|                 } | ||||
|             })); | ||||
|             }); | ||||
|     }, | ||||
|  | ||||
|     _oVirtUserAuthenticated: function(token) { | ||||
|     _oVirtUserAuthenticated(token) { | ||||
|         this._preemptingService = OVIRT_SERVICE_NAME; | ||||
|         this.emit('ovirt-user-authenticated'); | ||||
|     }, | ||||
|  | ||||
|     _checkForSmartcard: function() { | ||||
|     _checkForSmartcard() { | ||||
|         let smartcardDetected; | ||||
|  | ||||
|         if (!this._settings.get_boolean(SMARTCARD_AUTHENTICATION_KEY)) | ||||
| @@ -339,7 +338,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _reportInitError: function(where, error) { | ||||
|     _reportInitError(where, error) { | ||||
|         logError(error, where); | ||||
|         this._hold.release(); | ||||
|  | ||||
| @@ -347,20 +346,23 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._verificationFailed(false); | ||||
|     }, | ||||
|  | ||||
|     _reauthenticationChannelOpened: function(client, result) { | ||||
|     _reauthenticationChannelOpened(client, result) { | ||||
|         try { | ||||
|             this._clearUserVerifier(); | ||||
|             this._userVerifier = client.open_reauthentication_channel_finish(result); | ||||
|         } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { | ||||
|             return; | ||||
|         } catch(e if e.matches(Gio.DBusError, Gio.DBusError.ACCESS_DENIED) && | ||||
|                 !this._reauthOnly) { | ||||
|             // Gdm emits org.freedesktop.DBus.Error.AccessDenied when there is | ||||
|             // no session to reauthenticate. Fall back to performing verification | ||||
|             // from this login session | ||||
|             client.get_user_verifier(this._cancellable, Lang.bind(this, this._userVerifierGot)); | ||||
|             return; | ||||
|         } catch(e) { | ||||
|             if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) | ||||
|                 return; | ||||
|             if (e.matches(Gio.DBusError, Gio.DBusError.ACCESS_DENIED) && | ||||
|                 !this._reauthOnly) { | ||||
|                 // Gdm emits org.freedesktop.DBus.Error.AccessDenied when there | ||||
|                 // is no session to reauthenticate. Fall back to performing | ||||
|                 // verification from this login session | ||||
|                 client.get_user_verifier(this._cancellable, | ||||
|                                          this._userVerifierGot.bind(this)); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             this._reportInitError('Failed to open reauthentication channel', e); | ||||
|             return; | ||||
|         } | ||||
| @@ -371,13 +373,13 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._hold.release(); | ||||
|     }, | ||||
|  | ||||
|     _userVerifierGot: function(client, result) { | ||||
|     _userVerifierGot(client, result) { | ||||
|         try { | ||||
|             this._clearUserVerifier(); | ||||
|             this._userVerifier = client.get_user_verifier_finish(result); | ||||
|         } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { | ||||
|             return; | ||||
|         } catch(e) { | ||||
|             if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) | ||||
|                 return; | ||||
|             this._reportInitError('Failed to obtain user verifier', e); | ||||
|             return; | ||||
|         } | ||||
| @@ -387,84 +389,89 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this._hold.release(); | ||||
|     }, | ||||
|  | ||||
|     _connectSignals: function() { | ||||
|         this._userVerifier.connect('info', Lang.bind(this, this._onInfo)); | ||||
|         this._userVerifier.connect('problem', Lang.bind(this, this._onProblem)); | ||||
|         this._userVerifier.connect('info-query', Lang.bind(this, this._onInfoQuery)); | ||||
|         this._userVerifier.connect('secret-info-query', Lang.bind(this, this._onSecretInfoQuery)); | ||||
|         this._userVerifier.connect('conversation-stopped', Lang.bind(this, this._onConversationStopped)); | ||||
|         this._userVerifier.connect('reset', Lang.bind(this, this._onReset)); | ||||
|         this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete)); | ||||
|     _connectSignals() { | ||||
|         this._userVerifier.connect('info', this._onInfo.bind(this)); | ||||
|         this._userVerifier.connect('problem', this._onProblem.bind(this)); | ||||
|         this._userVerifier.connect('info-query', this._onInfoQuery.bind(this)); | ||||
|         this._userVerifier.connect('secret-info-query', this._onSecretInfoQuery.bind(this)); | ||||
|         this._userVerifier.connect('conversation-stopped', this._onConversationStopped.bind(this)); | ||||
|         this._userVerifier.connect('reset', this._onReset.bind(this)); | ||||
|         this._userVerifier.connect('verification-complete', this._onVerificationComplete.bind(this)); | ||||
|     }, | ||||
|  | ||||
|     _getForegroundService: function() { | ||||
|     _getForegroundService() { | ||||
|         if (this._preemptingService) | ||||
|             return this._preemptingService; | ||||
|  | ||||
|         return this._defaultService; | ||||
|     }, | ||||
|  | ||||
|     serviceIsForeground: function(serviceName) { | ||||
|     serviceIsForeground(serviceName) { | ||||
|         return serviceName == this._getForegroundService(); | ||||
|     }, | ||||
|  | ||||
|     serviceIsDefault: function(serviceName) { | ||||
|     serviceIsDefault(serviceName) { | ||||
|         return serviceName == this._defaultService; | ||||
|     }, | ||||
|  | ||||
|     _updateDefaultService: function() { | ||||
|     _updateDefaultService() { | ||||
|         if (this._settings.get_boolean(PASSWORD_AUTHENTICATION_KEY)) | ||||
|             this._defaultService = PASSWORD_SERVICE_NAME; | ||||
|         else if (this._settings.get_boolean(SMARTCARD_AUTHENTICATION_KEY)) | ||||
|             this._defaultService = SMARTCARD_SERVICE_NAME; | ||||
|         else if (this._haveFingerprintReader) | ||||
|             this._defaultService = FINGERPRINT_SERVICE_NAME; | ||||
|  | ||||
|         if (!this._defaultService) { | ||||
|             log("no authentication service is enabled, using password authentication"); | ||||
|             this._defaultService = PASSWORD_SERVICE_NAME; | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _startService: function(serviceName) { | ||||
|     _startService(serviceName) { | ||||
|         this._hold.acquire(); | ||||
|         if (this._userName) { | ||||
|            this._userVerifier.call_begin_verification_for_user(serviceName, | ||||
|                                                                this._userName, | ||||
|                                                                this._cancellable, | ||||
|                                                                Lang.bind(this, function(obj, result) { | ||||
|                                                                (obj, result) => { | ||||
|                try { | ||||
|                    obj.call_begin_verification_for_user_finish(result); | ||||
|                } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { | ||||
|                    return; | ||||
|                } catch(e) { | ||||
|                    if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) | ||||
|                        return; | ||||
|                    this._reportInitError('Failed to start verification for user', e); | ||||
|                    return; | ||||
|                } | ||||
|  | ||||
|                this._hold.release(); | ||||
|            })); | ||||
|            }); | ||||
|         } else { | ||||
|            this._userVerifier.call_begin_verification(serviceName, | ||||
|                                                       this._cancellable, | ||||
|                                                       Lang.bind(this, function(obj, result) { | ||||
|                                                       (obj, result) => { | ||||
|                try { | ||||
|                    obj.call_begin_verification_finish(result); | ||||
|                } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { | ||||
|                    return; | ||||
|                } catch(e) { | ||||
|                    if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) | ||||
|                        return; | ||||
|                    this._reportInitError('Failed to start verification', e); | ||||
|                    return; | ||||
|                } | ||||
|  | ||||
|                this._hold.release(); | ||||
|            })); | ||||
|            }); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _beginVerification: function() { | ||||
|     _beginVerification() { | ||||
|         this._startService(this._getForegroundService()); | ||||
|  | ||||
|         if (this._userName && this._haveFingerprintReader && !this.serviceIsForeground(FINGERPRINT_SERVICE_NAME)) | ||||
|             this._startService(FINGERPRINT_SERVICE_NAME); | ||||
|     }, | ||||
|  | ||||
|     _onInfo: function(client, serviceName, info) { | ||||
|     _onInfo(client, serviceName, info) { | ||||
|         if (this.serviceIsForeground(serviceName)) { | ||||
|             this._queueMessage(info, MessageType.INFO); | ||||
|         } else if (serviceName == FINGERPRINT_SERVICE_NAME && | ||||
| @@ -479,21 +486,21 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _onProblem: function(client, serviceName, problem) { | ||||
|     _onProblem(client, serviceName, problem) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
|         this._queueMessage(problem, MessageType.ERROR); | ||||
|     }, | ||||
|  | ||||
|     _onInfoQuery: function(client, serviceName, question) { | ||||
|     _onInfoQuery(client, serviceName, question) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
|         this.emit('ask-question', serviceName, question, ''); | ||||
|     }, | ||||
|  | ||||
|     _onSecretInfoQuery: function(client, serviceName, secretQuestion) { | ||||
|     _onSecretInfoQuery(client, serviceName, secretQuestion) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
| @@ -506,7 +513,7 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this.emit('ask-question', serviceName, secretQuestion, '\u25cf'); | ||||
|     }, | ||||
|  | ||||
|     _onReset: function() { | ||||
|     _onReset() { | ||||
|         // Clear previous attempts to authenticate | ||||
|         this._failCounter = 0; | ||||
|         this._updateDefaultService(); | ||||
| @@ -514,20 +521,20 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|         this.emit('reset'); | ||||
|     }, | ||||
|  | ||||
|     _onVerificationComplete: function() { | ||||
|     _onVerificationComplete() { | ||||
|         this.emit('verification-complete'); | ||||
|     }, | ||||
|  | ||||
|     _cancelAndReset: function() { | ||||
|     _cancelAndReset() { | ||||
|         this.cancel(); | ||||
|         this._onReset(); | ||||
|     }, | ||||
|  | ||||
|     _retry: function() { | ||||
|     _retry() { | ||||
|         this.begin(this._userName, new Batch.Hold()); | ||||
|     }, | ||||
|  | ||||
|     _verificationFailed: function(retry) { | ||||
|     _verificationFailed(retry) { | ||||
|         // For Not Listed / enterprise logins, immediately reset | ||||
|         // the dialog | ||||
|         // Otherwise, we allow ALLOWED_FAILURES attempts. After that, we | ||||
| @@ -541,29 +548,27 @@ var ShellUserVerifier = new Lang.Class({ | ||||
|             if (!this.hasPendingMessages) { | ||||
|                 this._retry(); | ||||
|             } else { | ||||
|                 let signalId = this.connect('no-more-messages', | ||||
|                                             Lang.bind(this, function() { | ||||
|                                                 this.disconnect(signalId); | ||||
|                                                 if (this._cancellable && !this._cancellable.is_cancelled()) | ||||
|                                                     this._retry(); | ||||
|                                             })); | ||||
|                 let signalId = this.connect('no-more-messages', () => { | ||||
|                     this.disconnect(signalId); | ||||
|                     if (this._cancellable && !this._cancellable.is_cancelled()) | ||||
|                         this._retry(); | ||||
|                 }); | ||||
|             } | ||||
|         } else { | ||||
|             if (!this.hasPendingMessages) { | ||||
|                 this._cancelAndReset(); | ||||
|             } else { | ||||
|                 let signalId = this.connect('no-more-messages', | ||||
|                                             Lang.bind(this, function() { | ||||
|                                                 this.disconnect(signalId); | ||||
|                                                 this._cancelAndReset(); | ||||
|                                             })); | ||||
|                 let signalId = this.connect('no-more-messages', () => { | ||||
|                     this.disconnect(signalId); | ||||
|                     this._cancelAndReset(); | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         this.emit('verification-failed'); | ||||
|     }, | ||||
|  | ||||
|     _onConversationStopped: function(client, serviceName) { | ||||
|     _onConversationStopped(client, serviceName) { | ||||
|         // If the login failed with the preauthenticated oVirt credentials | ||||
|         // then discard the credentials and revert to default authentication | ||||
|         // mechanism. | ||||
|   | ||||
| @@ -17,6 +17,7 @@ | ||||
|     <file>misc/gnomeSession.js</file> | ||||
|     <file>misc/history.js</file> | ||||
|     <file>misc/ibusManager.js</file> | ||||
|     <file>misc/inputMethod.js</file> | ||||
|     <file>misc/jsParse.js</file> | ||||
|     <file>misc/keyboardManager.js</file> | ||||
|     <file>misc/loginManager.js</file> | ||||
| @@ -61,6 +62,7 @@ | ||||
|     <file>ui/ibusCandidatePopup.js</file> | ||||
|     <file>ui/iconGrid.js</file> | ||||
|     <file>ui/inhibitShortcutsDialog.js</file> | ||||
|     <file>ui/kbdA11yDialog.js</file> | ||||
|     <file>ui/keyboard.js</file> | ||||
|     <file>ui/layout.js</file> | ||||
|     <file>ui/lightbox.js</file> | ||||
| @@ -128,7 +130,9 @@ | ||||
|     <file>ui/status/rfkill.js</file> | ||||
|     <file>ui/status/volume.js</file> | ||||
|     <file>ui/status/bluetooth.js</file> | ||||
|     <file>ui/status/remoteAccess.js</file> | ||||
|     <file>ui/status/screencast.js</file> | ||||
|     <file>ui/status/system.js</file> | ||||
|     <file>ui/status/thunderbolt.js</file> | ||||
|   </gresource> | ||||
| </gresources> | ||||
|   | ||||
| @@ -14,6 +14,6 @@ var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@'; | ||||
| var LOCALEDIR = '@datadir@/locale'; | ||||
| /* other standard directories */ | ||||
| var LIBEXECDIR = '@libexecdir@'; | ||||
| var SYSCONFDIR = '@sysconfdir@'; | ||||
| var VPNDIR = '@vpndir@'; | ||||
| /* g-i package versions */ | ||||
| var LIBMUTTER_API_VERSION = '@LIBMUTTER_API_VERSION@' | ||||
|   | ||||