Compare commits
	
		
			2 Commits
		
	
	
		
			3.30.1
			...
			wip/rstrod
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 9f925cf78d | ||
|   | 1fcb59104d | 
							
								
								
									
										19
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,9 +6,16 @@ | ||||
| ABOUT-NLS | ||||
| ChangeLog | ||||
| INSTALL | ||||
| Makefile | ||||
| Makefile.in | ||||
| aclocal.m4 | ||||
| autom4te.cache | ||||
| data/.osk-layout-workbench | ||||
| config.h | ||||
| config.h.in | ||||
| config.log | ||||
| config.status | ||||
| config | ||||
| configure | ||||
| data/org.gnome.Shell.desktop | ||||
| data/org.gnome.Shell.desktop.in | ||||
| data/gnome-shell-extension-prefs.desktop | ||||
| @@ -34,9 +41,15 @@ docs/reference/*/*.types | ||||
| docs/reference/*/html/ | ||||
| docs/reference/*/xml/ | ||||
| docs/reference/shell/doc-gen-* | ||||
| gtk-doc.make | ||||
| js/misc/config.js | ||||
| js/js-resources.c | ||||
| js/js-resources.h | ||||
| intltool-extract.in | ||||
| intltool-merge.in | ||||
| intltool-update.in | ||||
| libtool | ||||
| m4/ | ||||
| man/gnome-shell.1 | ||||
| omf.make | ||||
| po/*.gmo | ||||
| @@ -45,6 +58,7 @@ po/*.header | ||||
| po/*.sed | ||||
| po/*.sin | ||||
| po/.intltool-merge-cache | ||||
| po/Makefile.in.in | ||||
| po/Makevars.template | ||||
| po/POTFILES | ||||
| po/Rules-quot | ||||
| @@ -54,6 +68,8 @@ src/*.gir | ||||
| src/*.typelib | ||||
| src/*-enum-types.[ch] | ||||
| src/*-marshal.[ch] | ||||
| src/Makefile | ||||
| src/Makefile.in | ||||
| src/calendar-server/evolution-calendar.desktop | ||||
| src/calendar-server/org.gnome.Shell.CalendarServer.service | ||||
| src/gnome-shell | ||||
| @@ -77,6 +93,7 @@ src/st-scroll-view-fade-generated.c | ||||
| src/stamp-st-scroll-view-fade-generated.c | ||||
| stamp-h1 | ||||
| tests/run-test.sh | ||||
| xmldocs.make | ||||
| *~ | ||||
| *.patch | ||||
| *.sw? | ||||
|   | ||||
							
								
								
									
										5
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,6 @@ | ||||
| [submodule "data/theme/gnome-shell-sass"] | ||||
| 	path = data/theme/gnome-shell-sass | ||||
| 	url = git://git.gnome.org/gnome-shell-sass | ||||
| [submodule "subprojects/gvc"] | ||||
| 	path = subprojects/gvc | ||||
| 	url = https://gitlab.gnome.org/GNOME/libgnome-volume-control.git | ||||
| 	url = git://git.gnome.org/libgnome-volume-control | ||||
|   | ||||
| @@ -1,16 +1,19 @@ | ||||
| # 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 | ||||
| @@ -19,7 +22,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; | ||||
| 
 | ||||
| @@ -36,20 +39,22 @@ 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. | ||||
| 
 | ||||
| @@ -62,13 +67,14 @@ 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. | ||||
| @@ -79,7 +85,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; | ||||
| @@ -89,22 +95,23 @@ 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 | ||||
|     const MY_DBUS_INTERFACE = 'org.my.Interface'; | ||||
| 
 | ||||
| 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]; | ||||
| @@ -114,32 +121,31 @@ 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(icon, label) { | ||||
|         _init: function(icon, label) { | ||||
|             this.parent({ reactive: false }); | ||||
|             this.actor.add_child(icon); | ||||
|             this.actor.add_child(label); | ||||
|         }, | ||||
| 
 | ||||
|         open() { | ||||
|         open: function() { | ||||
|             log("menu opened!"); | ||||
|         } | ||||
|     }); | ||||
| ``` | ||||
| 
 | ||||
| * 'Name' is required. 'Extends' is optional. If you leave it out, you will | ||||
|   automatically inherit from Object. | ||||
| @@ -156,34 +162,35 @@ 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(actor, forHeight) { | ||||
|         vfunc_get_preferred_width: function(actor, forHeight) { | ||||
|              return [100, 100]; | ||||
|         }, | ||||
| 
 | ||||
|         vfunc_get_preferred_height(actor, forWidth) { | ||||
|         vfunc_get_preferred_height: function(actor, forWidth) { | ||||
|              return [100, 100]; | ||||
|         }, | ||||
| 
 | ||||
|         vfunc_paint(actor) { | ||||
|         vfunc_paint: function(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 | ||||
| @@ -197,7 +204,8 @@ 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 | ||||
| @@ -206,22 +214,21 @@ 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() { | ||||
|         _init: function() { | ||||
|             this.actor = new St.Button({ text: "This is a button" }); | ||||
|             this.actor._delegate = this; | ||||
| 
 | ||||
|             this.actor.connect('clicked', this._onClicked.bind(this)); | ||||
|             this.actor.connect('clicked', Lang.bind(this, this._onClicked)); | ||||
|         }, | ||||
| 
 | ||||
|         _onClicked(actor) { | ||||
|         _onClicked: function(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 | ||||
| @@ -229,60 +236,57 @@ 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 Function.prototype.bind or use arrow | ||||
| notation. | ||||
| ```javascript | ||||
| All closures should be wrapped with a Lang.bind. | ||||
| 
 | ||||
|     const Lang = imports.lang; | ||||
| 
 | ||||
|     let closure1 = () => { this._fnorbate(); }; | ||||
|     let closure2 = this._fnorbate.bind(this); | ||||
| ``` | ||||
|     let closure = Lang.bind(this, function() { this._fnorbate(); }); | ||||
| 
 | ||||
| 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() { | ||||
|         _init: function() { | ||||
|             let fnorb = new FnorbLib.Fnorb(); | ||||
|             fnorb.connect('frobate', this._onFnorbFrobate.bind(this)); | ||||
|             fnorb.connect('frobate', Lang.bind(this, this._onFnorbFrobate)); | ||||
|         }, | ||||
| 
 | ||||
|         _onFnorbFrobate(fnorb) { | ||||
|         _onFnorbFrobate: function(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: | ||||
| @@ -292,19 +296,20 @@ 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() { | ||||
|         _init: function() { | ||||
|             this.actor = new St.BoxLayout(); | ||||
|             this._position = 0; | ||||
|         }, | ||||
| @@ -324,4 +329,3 @@ property. | ||||
|                      { position: 100, | ||||
|                        time: ANIMATION_TIME, | ||||
|                        transition: 'easeOutQuad' }); | ||||
| ``` | ||||
							
								
								
									
										7
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| Owen Taylor | ||||
| E-mail: otaylor@redhat.com | ||||
| Userid: otaylor | ||||
|  | ||||
| Colin Walters | ||||
| E-mail: walters@verbum.org | ||||
| Userid: walters | ||||
							
								
								
									
										33
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| # Point to our macro directory and pick up user flags from the environment | ||||
| ACLOCAL_AMFLAGS  = -I m4 ${ACLOCAL_FLAGS} | ||||
|  | ||||
| SUBDIRS = data js subprojects/gvc src  tests po docs | ||||
|  | ||||
| if BUILD_BROWSER_PLUGIN | ||||
| SUBDIRS += browser-plugin | ||||
| endif | ||||
|  | ||||
| if ENABLE_MAN | ||||
| SUBDIRS += man | ||||
| endif | ||||
|  | ||||
| EXTRA_DIST =		\ | ||||
| 	.project	\ | ||||
| 	.settings	\ | ||||
| 	autogen.sh	\ | ||||
| 	tools/check-for-missing.py | ||||
|  | ||||
| # These are files checked into Git that we don't want to distribute | ||||
| DIST_EXCLUDE =					\ | ||||
| 	.gitignore				\ | ||||
| 	.gitmodules				\ | ||||
| 	gnome-shell.doap			\ | ||||
| 	HACKING					\ | ||||
| 	MAINTAINERS				\ | ||||
| 	tools/build/* | ||||
|  | ||||
| distcheck-hook: | ||||
| 	@echo "Checking disted files against files in git" | ||||
| 	@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE) | ||||
|  | ||||
| DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man | ||||
							
								
								
									
										330
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										330
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,333 +1,3 @@ | ||||
| 3.30.1 | ||||
| ====== | ||||
| * Cancel search on overview hiding [Marco; !205] | ||||
| * Fix disappearing network icon [Iain; #140] | ||||
| * Improve switch-monitor shortcut handling [Daniel; !208] | ||||
| * Fix missing key information in keyring dialog [Florian; #574] | ||||
| * De-duplicate all entries in run command history [Pascal; #524] | ||||
| * Fix frozen disk unlock dialogs [Florian; #565] | ||||
| * Fix unresponsive-app dialog blocking input in other windows [Florian; #273] | ||||
| * Fix handling of forward-key-event input method signal [Carlos; #531] | ||||
| * Misc. bug fixes [Florian, Marco, Carlos, Pascal, Andrea; #520, #791233, | ||||
|   !188, #539, !217, #536, #537, #578, !236, #579, !228, #618, #471, !255] | ||||
|  | ||||
| Contributors: | ||||
|   Andrea Azzarone, Jürg Billeter, Daniel Drake, Carlos Garnacho, Andre Klapper, | ||||
|   Iain Lane, Florian Müllner, Bastien Nocera, Pascal Nowack, Jakub Steiner, | ||||
|   Ray Strode, Will Thompson, Marco Trevisan (Treviño), Adam Williamson, | ||||
|   Andrew Zaborowski | ||||
|  | ||||
| Translators: | ||||
|   Yuras Shumovich [be], Stas Solovey [ru], Justin van Steijn [nl], | ||||
|   Dušan Kazik [sk], Khaled Hosny [ar], Madis O [et], Mart Raudsepp [et], | ||||
|   Марко Костић [sr], Piotr Drąg [pl], Marek Černocký [cs], Fran Dieguez [gl], | ||||
|   Ask Hjorth Larsen [da], Balázs Meskó [hu], Jiri Grönroos [fi], | ||||
|   Cheng-Chia Tseng [zh_TW] | ||||
|  | ||||
| 3.30.0 | ||||
| ====== | ||||
|  | ||||
| Contributors: | ||||
|   Harry Mallon, Marco Trevisan (Treviño) | ||||
|  | ||||
| Translators: | ||||
|   Fran Dieguez [gl], Trần Ngọc Quân [vi], Balázs Meskó [hu], | ||||
|   Rūdolfs Mazurs [lv], Jiri Grönroos [fi], Anders Jonsson [sv], gogo [hr], | ||||
|   Ask Hjorth Larsen [da] | ||||
|  | ||||
| 3.29.92 | ||||
| ======= | ||||
| * Choose some actors to cache on the GPU [Daniel; #792633] | ||||
| * inputMethod: Hide preedit text if requested [Takao; #431] | ||||
| * Fix forced fallback app-menus on wayland [Jonas; #276] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Takao Fujiwara, Mohammed Sadiq, Marco Trevisan (Treviño), | ||||
|   Daniel van Vugt | ||||
|  | ||||
| Translators: | ||||
|   Baurzhan Muftakhidinov [kk], Kukuh Syafaat [id], Milo Casagrande [it], | ||||
|   Changwoo Ryu [ko], Marek Cernocky [cs] | ||||
|  | ||||
| 3.29.91 | ||||
| ======= | ||||
| * Fix handling of 0/false options in ShowOSD D-Bus API [Florian; #791669] | ||||
| * overview: Fix handling of confirmation dialogs on wayland [verdre; !180] | ||||
| * Avoid some full relayout/redraws [Carlos; !197] | ||||
| * Keep workspace switcher slid out when workspaces are in use [Florian; !161] | ||||
| * Ignore auto-repeat for some keybindings [Andrea; #373] | ||||
| * Misc. bug fixes [Carlos, Florian, Pascal; #464, !189, !191, !192, !162] | ||||
|  | ||||
| Contributors: | ||||
|   Andrea Azzarone, Olivier Blin, Carlos Garnacho, Florian Müllner, | ||||
|   Pascal Nowack, verdre | ||||
|  | ||||
| Translators: | ||||
|   Bruno Lopes da Silva [pt_BR], Matej Urbančič [sl], Piotr Drąg [pl], | ||||
|   Aurimas Černius [lt], Emin Tufan Çetin [tr], Fabio Tomat [fur], | ||||
|   Alexandre Franke [fr], Yi-Jyun Pan [zh_TW], Bernd Homuth [de], | ||||
|   Andre Klapper [cs], Jordi Mas [ca], Daniel Șerbănescu [ro], | ||||
|   Bruce Cowan [en_GB] | ||||
|  | ||||
| 3.29.90 | ||||
| ======= | ||||
| * Add remote access indication on wayland [Jonas; !160] | ||||
| * Fix wrong window positions in overview on wayland [Marco; #776588] | ||||
| * Add gesture to unfullscreen a window [Jan-Michael; !123] | ||||
| * Add PickColor method to screenshot D-Bus interface [Florian; #286] | ||||
| * Consider "new-window" action when opening new windows [Florian; #756844] | ||||
| * Make workspace switching gestures follow motion [Carlos; #788994] | ||||
| * Support audio volumes above 100% [Didier; #790280] | ||||
| * Misc. bug fixes [Florian, Daniel; #424, !132, !182, #433, !179, #786496] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Jan-Michael Brummer, Piotr Drąg, Daniel Drake, Carlos Garnacho, | ||||
|   Florian Müllner, Georges Basile Stavracas Neto, Didier Roche, Jakub Steiner, | ||||
|   Marco Trevisan (Treviño) | ||||
|  | ||||
| Translators: | ||||
|   Charles Monzat [fr], Daniel Mustieles [es] | ||||
|  | ||||
| 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] | ||||
| * Misc. bug fixes [Jonas, Florian; #788607, #788943] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Florian Müllner | ||||
|  | ||||
| Translations: | ||||
|   Xavi Ivars [ca@valencia], Matej Urbančič [sl], Fabio Tomat [fur] | ||||
|  | ||||
| 3.26.1 | ||||
| ====== | ||||
| * Don't detach launched apps to not break pkexec and friends [Florian; #763531] | ||||
| * Allow search providers to not autostart [Bastien, Florian; #785380, #787986] | ||||
| * Fix crash when tray icons are hidden/shown in quick succession [Ray; #787361] | ||||
| * Make window group switcher more consistent [Didier; #786009] | ||||
| * Improve legibility of the top bar when translucent [Jakub; #787940] | ||||
| * Don't crash when running outside a logind session [Florian; #788046] | ||||
| * Allow to run headless [Mario, Jonas; #730551] | ||||
| * Update calendar on timezone changes [Martin; #678507] | ||||
| * Improve keyboard navigation of window previews [Florian; #786546] | ||||
| * Run unit tests on `meson test` [Florian; #786497] | ||||
| * Misc. bug fixes [Florian, Marc-Antoine, Mario, Jakub, Krzesimir; #787423, | ||||
|   #766368, #787580, #787907, #787901, #788039, #788003, #786343, #787902, | ||||
|   #788265, #788339, #787905, #788282, #787676] | ||||
|  | ||||
| Contributors: | ||||
|   Martin Andersson, Florian Müllner, Bastien Nocera, Krzesimir Nowak, | ||||
|   Marc-Antoine Perennou, Didier Roche, Mario Sanchez Prada, Jakub Steiner, | ||||
|   Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Efstathios Iosifidis [el], Khaled Hosny [ar], Stas Solovey [ru], | ||||
|   Arash Mousavi [fa], Sveinn í Felli [is], Athul R T [ml], | ||||
|   Cheng-Chia Tseng [zh_TW], Anders Jonsson [sv] | ||||
|  | ||||
| 3.26.0 | ||||
| ====== | ||||
| * Misc. bug fixes [Ray, Michael, Jonas; #786332] #786783, #786886, #786868] | ||||
|  | ||||
| Contributors: | ||||
|   Jonas Ådahl, Michael Catanzaro, Sebastian Keller, Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Daniel Mustieles [es], Fran Dieguez [gl], Baurzhan Muftakhidinov [kk], | ||||
|   Marek Cernocky [cs], Andika Triwidada [id], Aurimas Černius [lt], | ||||
|   Piotr Drąg [pl], Trần Ngọc Quân [vi], Jordi Mas [ca], Fabio Tomat [fur], | ||||
|   gogo [hr], Dušan Kazik [sk], Piotr Drąg [ne], Emin Tufan Çetin [tr], | ||||
|   Ask Hjorth Larsen [da], Cheng-Chia Tseng [zh_TW], Rūdolfs Mazurs [lv], | ||||
|   Balázs Meskó [hu], Matej Urbančič [sl], Jiri Grönroos [fi], | ||||
|   Милош Поповић [sr], Милош Поповић [sr@latin], Rafael Fontenelle [pt_BR], | ||||
|   Wolfgang Stöggl [de], Milo Casagrande [it], hanniedu [nl], | ||||
|   Yuras Shumovich [be], Changwoo Ryu [ko], Alain Lojewski [fr], | ||||
|   Alexander Shopov [bg], Daniel Korostil [uk], Kris Thomsen [da], | ||||
|   A S Alam [pa], Sebastian Rasmussen [sv], Inaki Larranaga Murgoitio [eu], | ||||
|   Jiro Matsuzawa [ja] | ||||
|  | ||||
| 3.25.91 | ||||
| ======= | ||||
| * Open context menu of highlighted search result on Shift+F10 [Florian; #675315] | ||||
| * Fix mid-sentence capitalization in weather forecasts [Florian; #779873] | ||||
| * Add switcher popup to cycle through monitor configurations [Rui; #783550] | ||||
| * Offer system actions in search [Rares; #691900] | ||||
| * Misc. bug fixes [Mario, Florian, Rui; #777519, #786120, #786145, #786419, | ||||
|   #786526, #786520, #786520, #786146] | ||||
|  | ||||
| Contributors: | ||||
|   Emmanuele Bassi, Marek Cernocky, Piotr Drąg, Carlos Garnacho, Rui Matos, | ||||
|   Florian Müllner, Mario Sanchez Prada, Rares Visalom | ||||
|  | ||||
| Translations: | ||||
|   Marek Cernocky [cs], Piotr Drąg [pl], Muhammet Kara [tr], | ||||
|   Мирослав Николић [sr, sr@latin], Kukuh Syafaat [id], | ||||
|   Baurzhan Muftakhidinov [kk], Aurimas Černius [lt], Fran Dieguez [gl], | ||||
|   gogo [hr], Jordi Mas [ca] | ||||
|  | ||||
| 3.25.90 | ||||
| ======= | ||||
| * Add permission dialog for inhibiting shortucts [Florian; #783342] | ||||
| * Improve window picker layout [Florian, Jakub; #783953] | ||||
| * Remove legacy status icon tray [Florian; #785956] | ||||
| * Drop autotools support [Florian; #785153] | ||||
| * Misc. bug fixes [Florian, Carlos, Cosimo; #785090, #785309, #767805, | ||||
|   #747794, #785358, #785556] | ||||
|  | ||||
| Contributors: | ||||
|   Emmanuele Bassi, Cosimo Cecchi, Carlos Garnacho, Florian Müllner, | ||||
|   Jakub Steiner | ||||
|  | ||||
| Translations: | ||||
|   Fabio Tomat [fur], Pawan Chitrakar [ne], Aurimas Černius [lt], gogo [hr], | ||||
|   Daniel Mustieles [es], Baurzhan Muftakhidinov [kk], Matej Urbančič [sl], | ||||
|   Marek Cernocky [cs], Dušan Kazik [sk], Jordi Mas [ca], Fran Dieguez [gl], | ||||
|   Andika Triwidada [id], Anders Jonsson [sv], Balázs Meskó [hu] | ||||
|  | ||||
| 3.25.4 | ||||
| ====== | ||||
| * gdm: Fix "Not listed" focus indication [Florian; #784040] | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| # 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 | ||||
| @@ -7,14 +6,15 @@ 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 the [project wiki][project-wiki]. | ||||
| see: | ||||
| 
 | ||||
| Bugs should be reported to the GNOME [bug tracking system][bug-tracker]. | ||||
|  https://wiki.gnome.org/Projects/GnomeShell | ||||
| 
 | ||||
| ## License | ||||
| Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' | ||||
| product. | ||||
| 
 | ||||
| License | ||||
| ======= | ||||
| GNOME Shell is distributed under the terms of the GNU General Public License, | ||||
| version 2 or later. See the [COPYING][license] file for details. | ||||
| version 2 or later. See the COPYING file for details. | ||||
| 
 | ||||
| [project-wiki]: https://wiki.gnome.org/Projects/GnomeShell | ||||
| [bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues | ||||
| [license]: COPYING | ||||
							
								
								
									
										35
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										35
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| #!/bin/sh | ||||
| # Run this to generate all the initial makefiles, etc. | ||||
|  | ||||
| srcdir=`dirname $0` | ||||
| test -z "$srcdir" && srcdir=. | ||||
|  | ||||
| olddir="$(pwd)" | ||||
|  | ||||
| cd "${srcdir}" | ||||
|  | ||||
| (test -f configure.ac \ | ||||
|   && test -d src) || { | ||||
|     echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" | ||||
|     echo " top-level gnome-shell directory" | ||||
|     exit 1 | ||||
| } | ||||
|  | ||||
| # Fetch submodules if needed | ||||
| if test ! -f subprojects/gvc/Makefile.am || test ! -f data/theme/gnome-shell-sass/COPYING; | ||||
| then | ||||
|   echo "+ Setting up submodules" | ||||
|   git submodule init | ||||
| fi | ||||
| git submodule update | ||||
|  | ||||
| aclocal --install || exit 1 | ||||
| gtkdocize --copy || exit 1 | ||||
| intltoolize --force --copy --automake || exit 1 | ||||
| autoreconf --verbose --force --install || exit 1 | ||||
|  | ||||
| cd "${olddir}" | ||||
|  | ||||
| if [ "$NOCONFIGURE" = "" ]; then | ||||
|     "${srcdir}/configure" "$@" || exit 1 | ||||
| fi | ||||
							
								
								
									
										23
									
								
								browser-plugin/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								browser-plugin/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
|  | ||||
| mozillalibdir = $(BROWSER_PLUGIN_DIR) | ||||
|  | ||||
| mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la | ||||
|  | ||||
| # Browsers can unload and reload the module while browsing, which is not supported by GObject. | ||||
| # We pass -Wl,-z,nodelete to the linker to ensure the module is never unloaded. | ||||
| # https://bugzilla.gnome.org/show_bug.cgi?id=737932 | ||||
| libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,-z,nodelete | ||||
|  | ||||
| libgnome_shell_browser_plugin_la_LIBADD = 	\ | ||||
| 	$(BROWSER_PLUGIN_LIBS) | ||||
|  | ||||
| libgnome_shell_browser_plugin_la_SOURCES = 	\ | ||||
| 	browser-plugin.c \ | ||||
| 	npapi/npapi.h \ | ||||
| 	npapi/npfunctions.h \ | ||||
| 	npapi/npruntime.h \ | ||||
| 	npapi/nptypes.h | ||||
|  | ||||
| libgnome_shell_browser_plugin_la_CFLAGS = 	\ | ||||
| 	$(BROWSER_PLUGIN_CFLAGS)		\ | ||||
| 	-DG_LOG_DOMAIN=\"GnomeShellBrowserPlugin\" | ||||
| @@ -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 to the GNOME [bug tracking system][bug-tracker]. | ||||
| Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' | ||||
| product. | ||||
| 
 | ||||
| ## 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 | ||||
| @@ -24,9 +24,3 @@ | ||||
|  | ||||
| /* Define if _NL_TIME_FIRST_WEEKDATE is available */ | ||||
| #mesondefine HAVE__NL_TIME_FIRST_WEEKDAY | ||||
|  | ||||
| /* Define if you have the `g_desktop_app_info_launch_uris_as_manager_with_fds` function */ | ||||
| #mesondefine HAVE_GIO_DESKTOP_LAUNCH_URIS_WITH_FDS | ||||
|  | ||||
| /* Define if fdwalk is available in libc */ | ||||
| #mesondefine HAVE_FDWALK | ||||
|   | ||||
							
								
								
									
										280
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										280
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,280 @@ | ||||
| AC_PREREQ(2.63) | ||||
| AC_INIT([gnome-shell],[3.25.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
| AX_IS_RELEASE([git-directory]) | ||||
|  | ||||
| AC_CONFIG_HEADERS([config.h]) | ||||
| AC_CONFIG_SRCDIR([src/shell-global.c]) | ||||
| AC_CONFIG_MACRO_DIR([m4]) | ||||
| AC_CONFIG_AUX_DIR([config]) | ||||
|  | ||||
| AC_SUBST([PACKAGE_NAME], ["$PACKAGE_NAME"]) | ||||
| AC_SUBST([PACKAGE_VERSION], ["$PACKAGE_VERSION"]) | ||||
|  | ||||
| AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar foreign]) | ||||
| AM_MAINTAINER_MODE([enable]) | ||||
|  | ||||
| m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) | ||||
|  | ||||
| # Checks for programs. | ||||
| AC_PROG_CC | ||||
|  | ||||
| # Initialize libtool | ||||
| LT_PREREQ([2.2.6]) | ||||
| LT_INIT([disable-static]) | ||||
|  | ||||
| # i18n | ||||
| GETTEXT_PACKAGE=gnome-shell | ||||
| AC_SUBST(GETTEXT_PACKAGE) | ||||
| AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", | ||||
|                    [The prefix for our gettext translation domains.]) | ||||
|  | ||||
| AM_GNU_GETTEXT_VERSION([0.19.6]) | ||||
| AM_GNU_GETTEXT([external]) | ||||
|  | ||||
| PKG_PROG_PKG_CONFIG([0.22]) | ||||
|  | ||||
| AC_PATH_PROG([XSLTPROC], [xsltproc]) | ||||
|  | ||||
| GLIB_GSETTINGS | ||||
|  | ||||
| # Get a value to substitute into gnome-shell.in | ||||
| AM_PATH_PYTHON([3]) | ||||
| AC_SUBST(PYTHON) | ||||
|  | ||||
| # We depend on a specific version of the libmutter API. The mutter variants of | ||||
| # the Cogl and Clutter libraries also use this API version. | ||||
| LIBMUTTER_API_VERSION=0 | ||||
|  | ||||
| LIBMUTTER=libmutter-$LIBMUTTER_API_VERSION | ||||
| LIBMUTTER_COGL=mutter-cogl-$LIBMUTTER_API_VERSION | ||||
| LIBMUTTER_COGL_PANGO=mutter-cogl-pango-$LIBMUTTER_API_VERSION | ||||
| LIBMUTTER_CLUTTER=mutter-clutter-$LIBMUTTER_API_VERSION | ||||
|  | ||||
| # We need at least this, since gst_plugin_register_static() was added | ||||
| # in 0.10.16, but nothing older than 0.10.21 has been tested. | ||||
| GSTREAMER_MIN_VERSION=0.11.92 | ||||
|  | ||||
| recorder_modules= | ||||
| build_recorder=false | ||||
| AC_MSG_CHECKING([for GStreamer (needed for recording functionality)]) | ||||
| if $PKG_CONFIG --exists gstreamer-1.0 '>=' $GSTREAMER_MIN_VERSION ; then | ||||
|    AC_MSG_RESULT(yes) | ||||
|    build_recorder=true | ||||
|    recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11 gtk+-3.0" | ||||
| else | ||||
|    AC_MSG_RESULT(no) | ||||
| fi | ||||
|  | ||||
| AM_CONDITIONAL(BUILD_RECORDER, $build_recorder) | ||||
|  | ||||
| AC_ARG_ENABLE([systemd], | ||||
|               AS_HELP_STRING([--enable-systemd], [Use systemd]), | ||||
|               [enable_systemd=$enableval], | ||||
|               [enable_systemd=auto]) | ||||
| AS_IF([test x$enable_systemd != xno], [ | ||||
|   AC_MSG_CHECKING([for libsystemd]) | ||||
|   PKG_CHECK_EXISTS([libsystemd], | ||||
|                    [have_systemd=yes | ||||
|                     AC_DEFINE([HAVE_SYSTEMD], [1], [Define if we have systemd])], | ||||
|                    [have_systemd=no]) | ||||
|   AC_MSG_RESULT($have_systemd) | ||||
| ]) | ||||
|  | ||||
| AC_MSG_RESULT($enable_systemd) | ||||
|  | ||||
| GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1 | ||||
| GJS_MIN_VERSION=1.47.0 | ||||
| MUTTER_MIN_VERSION=3.25.3 | ||||
| GTK_MIN_VERSION=3.15.0 | ||||
| GIO_MIN_VERSION=2.53.0 | ||||
| LIBECAL_MIN_VERSION=3.5.3 | ||||
| LIBEDATASERVER_MIN_VERSION=3.17.2 | ||||
| POLKIT_MIN_VERSION=0.100 | ||||
| STARTUP_NOTIFICATION_MIN_VERSION=0.11 | ||||
| GCR_MIN_VERSION=3.7.5 | ||||
| GNOME_DESKTOP_REQUIRED_VERSION=3.7.90 | ||||
| NETWORKMANAGER_MIN_VERSION=0.9.8 | ||||
| PULSE_MIN_VERS=2.0 | ||||
|  | ||||
| # Collect more than 20 libraries for a prize! | ||||
| SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION | ||||
|             libxml-2.0 | ||||
|             gtk+-3.0 >= $GTK_MIN_VERSION | ||||
|             atk-bridge-2.0 | ||||
|             gjs-1.0 >= $GJS_MIN_VERSION | ||||
|             $recorder_modules | ||||
|             gdk-x11-3.0 libsoup-2.4 | ||||
|             $LIBMUTTER_CLUTTER >= $MUTTER_MIN_VERSION | ||||
|             $LIBMUTTER_COGL_PANGO | ||||
|             libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION | ||||
|             gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION | ||||
|             libcanberra libcanberra-gtk3 | ||||
|             polkit-agent-1 >= $POLKIT_MIN_VERSION | ||||
|             gcr-base-3 >= $GCR_MIN_VERSION" | ||||
| if test x$have_systemd = xyes; then | ||||
|   SHARED_PCS="${SHARED_PCS} libsystemd" | ||||
| fi | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) | ||||
| PKG_CHECK_MODULES(MUTTER, $LIBMUTTER >= $MUTTER_MIN_VERSION) | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-1.0 >= $GJS_MIN_VERSION) | ||||
| PKG_CHECK_MODULES(ST, $LIBMUTTER_CLUTTER gtk+-3.0 libcroco-0.6 >= 0.6.8 x11) | ||||
| PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0) | ||||
| PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0) | ||||
| PKG_CHECK_MODULES(TRAY, $LIBMUTTER_CLUTTER gtk+-3.0) | ||||
| PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0) | ||||
| PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.21.3) | ||||
|  | ||||
| AC_SUBST(LIBMUTTER_API_VERSION) | ||||
|  | ||||
| AC_ARG_ENABLE(browser-plugin, | ||||
|               [AS_HELP_STRING([--enable-browser-plugin], | ||||
|                               [Enable browser plugin [default=yes]])],, | ||||
|               enable_browser_plugin=yes) | ||||
| AS_IF([test x$enable_browser_plugin = xyes], [ | ||||
|   PKG_CHECK_MODULES(BROWSER_PLUGIN, gio-2.0 >= $GIO_MIN_VERSION json-glib-1.0 >= 0.13.2) | ||||
| ]) | ||||
| AM_CONDITIONAL(BUILD_BROWSER_PLUGIN, test x$enable_browser_plugin = xyes) | ||||
|  | ||||
| PKG_CHECK_MODULES(BLUETOOTH, gnome-bluetooth-1.0 >= 3.9.0, | ||||
|         [AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet]) | ||||
| 	 AC_SUBST([HAVE_BLUETOOTH],[1])], | ||||
| 	[AC_DEFINE([HAVE_BLUETOOTH],[0]) | ||||
| 	 AC_SUBST([HAVE_BLUETOOTH],[0])]) | ||||
|  | ||||
| PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION gio-2.0) | ||||
| AC_SUBST(CALENDAR_SERVER_CFLAGS) | ||||
| AC_SUBST(CALENDAR_SERVER_LIBS) | ||||
|  | ||||
| GNOME_KEYBINDINGS_KEYSDIR=`$PKG_CONFIG --variable keysdir gnome-keybindings` | ||||
| AC_SUBST([GNOME_KEYBINDINGS_KEYSDIR]) | ||||
|  | ||||
| GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION]) | ||||
|  | ||||
| MUTTER_GIR_DIR=`$PKG_CONFIG --variable=girdir $LIBMUTTER` | ||||
| AC_SUBST(MUTTER_GIR_DIR) | ||||
|  | ||||
| MUTTER_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir $LIBMUTTER` | ||||
| AC_SUBST(MUTTER_TYPELIB_DIR) | ||||
|  | ||||
| GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0` | ||||
| AC_SUBST(GLIB_COMPILE_RESOURCES) | ||||
|  | ||||
| AC_CHECK_FUNCS(fdwalk) | ||||
| AC_CHECK_FUNCS(mallinfo) | ||||
| AC_CHECK_HEADERS([sys/resource.h]) | ||||
|  | ||||
| # _NL_TIME_FIRST_WEEKDAY is an enum and not a define | ||||
| AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY]) | ||||
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], | ||||
|                                    [[nl_langinfo(_NL_TIME_FIRST_WEEKDAY);]])], | ||||
|                [langinfo_ok=yes], [langinfo_ok=no]) | ||||
| AC_MSG_RESULT($langinfo_ok) | ||||
| if test "$langinfo_ok" = "yes"; then | ||||
|   AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1], | ||||
|             [Define if _NL_TIME_FIRST_WEEKDAY is available]) | ||||
| fi | ||||
|  | ||||
| AC_ARG_ENABLE(networkmanager, | ||||
|              AS_HELP_STRING([--disable-networkmanager], | ||||
|                             [disable NetworkManager support  @<:@default=auto@:>@]),, | ||||
|               [enable_networkmanager=auto]) | ||||
|  | ||||
| if test "x$enable_networkmanager" != "xno"; then | ||||
|    PKG_CHECK_MODULES(NETWORKMANAGER, | ||||
|                      [libnm-glib | ||||
|                      libnm-util >= $NETWORKMANAGER_MIN_VERSION | ||||
|                      libnm-gtk >= $NETWORKMANAGER_MIN_VERSION | ||||
|                      libsecret-1 >= 0.18], | ||||
|                      [have_networkmanager=yes], | ||||
|                      [have_networkmanager=no]) | ||||
|  | ||||
|    GNOME_SHELL_CFLAGS="$GNOME_SHELL_CFLAGS $NETWORKMANAGER_CFLAGS" | ||||
|    GNOME_SHELL_LIBS="$GNOME_SHELL_LIBS $NETWORKMANAGER_LIBS" | ||||
| else | ||||
|    have_networkmanager="no  (disabled)" | ||||
| fi | ||||
|  | ||||
| if test "x$have_networkmanager" = "xyes"; then | ||||
|    AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager]) | ||||
|    AC_SUBST([HAVE_NETWORKMANAGER], [1]) | ||||
| else | ||||
|    if test "x$enable_networkmanager" = "xyes"; then | ||||
|       AC_MSG_ERROR([Couldn't find NetworkManager.]) | ||||
|    fi | ||||
|    AC_SUBST([HAVE_NETWORKMANAGER], [0]) | ||||
| fi | ||||
|  | ||||
| AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes") | ||||
|  | ||||
| # Sets GLIB_GENMARSHAL and GLIB_MKENUMS | ||||
| AM_PATH_GLIB_2_0() | ||||
|  | ||||
| GTK_DOC_CHECK([1.15], [--flavour no-tmpl]) | ||||
|  | ||||
| AC_ARG_ENABLE(man, | ||||
|               [AS_HELP_STRING([--enable-man], | ||||
|                               [generate man pages [default=yes]])],, | ||||
|               enable_man=yes) | ||||
| if test "$enable_man" != no; then | ||||
|   AC_PATH_PROG([XSLTPROC], [xsltproc]) | ||||
|   if test -z "$XSLTPROC"; then | ||||
|     AC_MSG_ERROR([xsltproc is required for --enable-man]) | ||||
|   fi | ||||
| fi | ||||
| AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) | ||||
|  | ||||
| AX_COMPILER_FLAGS() | ||||
| case "$WARN_CFLAGS" in | ||||
|     *-Werror*) | ||||
|         WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations" | ||||
|         ;; | ||||
| esac | ||||
|  | ||||
| AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS" | ||||
| AC_SUBST(AM_CFLAGS) | ||||
|  | ||||
| if test -z "${BROWSER_PLUGIN_DIR}"; then | ||||
|   BROWSER_PLUGIN_DIR="\${libdir}/mozilla/plugins" | ||||
| fi | ||||
| AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to]) | ||||
|  | ||||
| AC_ARG_VAR([GDBUS_CODEGEN],[the gdbus-codegen programme]) | ||||
| AC_PATH_PROG([GDBUS_CODEGEN],[gdbus-codegen],[]) | ||||
| if test -z "$GDBUS_CODEGEN"; then | ||||
|   AC_MSG_ERROR([gdbus-codegen not found]) | ||||
| fi | ||||
|  | ||||
| AC_PATH_PROG([SASSC],[sassc],[]) | ||||
|  | ||||
| AC_CONFIG_FILES([ | ||||
|   Makefile | ||||
|   data/Makefile | ||||
|   docs/Makefile | ||||
|   docs/reference/Makefile | ||||
|   docs/reference/shell/Makefile | ||||
|   docs/reference/shell/version.xml | ||||
|   docs/reference/st/Makefile | ||||
|   docs/reference/st/version.xml | ||||
|   js/Makefile | ||||
|   src/Makefile | ||||
|   subprojects/gvc/Makefile | ||||
|   browser-plugin/Makefile | ||||
|   tests/Makefile | ||||
|   po/Makefile.in | ||||
|   man/Makefile | ||||
| ]) | ||||
| AC_OUTPUT | ||||
|  | ||||
| echo " | ||||
| Build configuration: | ||||
|  | ||||
|        Prefix:                                 ${prefix} | ||||
|        Source code location:                   ${srcdir} | ||||
|        Compiler:                               ${CC} | ||||
|        Compiler Warnings:                      $ax_enable_compile_warnings | ||||
|  | ||||
|        Support for NetworkManager:             $have_networkmanager | ||||
|        Support for GStreamer recording:        $build_recorder | ||||
| " | ||||
| @@ -1,6 +0,0 @@ | ||||
| [org.gnome.mutter:GNOME] | ||||
| attach-modal-dialogs=true | ||||
| edge-tiling=true | ||||
| dynamic-workspaces=true | ||||
| workspaces-only-on-primary=true | ||||
| focus-change-on-pointer-rest=true | ||||
							
								
								
									
										136
									
								
								data/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								data/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,136 @@ | ||||
| CLEANFILES = | ||||
| NULL = | ||||
|  | ||||
| portaldir = $(datadir)/xdg-desktop-portal/portals | ||||
| portal_DATA = gnome-shell.portal | ||||
|  | ||||
| desktopdir=$(datadir)/applications | ||||
| desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop | ||||
|  | ||||
| if HAVE_NETWORKMANAGER | ||||
| desktop_DATA += org.gnome.Shell.PortalHelper.desktop | ||||
|  | ||||
| servicedir = $(datadir)/dbus-1/services | ||||
| service_DATA = org.gnome.Shell.PortalHelper.service | ||||
|  | ||||
| CLEANFILES += \ | ||||
| 	org.gnome.Shell.PortalHelper.service 	\ | ||||
| 	org.gnome.Shell.PortalHelper.desktop 	\ | ||||
| 	org.gnome.Shell.PortalHelper.desktop.in \ | ||||
| 	$(NULL) | ||||
|  | ||||
| endif | ||||
|  | ||||
| %.service: %.service.in | ||||
| 	$(AM_V_GEN) sed -e "s|@libexecdir[@]|$(libexecdir)|" \ | ||||
| 	    $< > $@ || rm $@ | ||||
|  | ||||
| # We substitute in bindir so it works as an autostart | ||||
| # file when built in a non-system prefix | ||||
| %.desktop.in:%.desktop.in.in | ||||
| 	$(AM_V_GEN) sed -e "s|@bindir[@]|$(bindir)|" \ | ||||
| 	    -e "s|@VERSION[@]|$(VERSION)|" \ | ||||
| 	    $< > $@ || rm $@ | ||||
|  | ||||
| %.desktop:%.desktop.in | ||||
| 	$(AM_V_GEN) $(MSGFMT) --desktop --template $(builddir)/$< \ | ||||
| 	                      -d $(top_srcdir)/po -o $@ | ||||
|  | ||||
| introspectiondir = $(datadir)/dbus-1/interfaces | ||||
| introspection_DATA =				\ | ||||
| 	org.gnome.Shell.PadOsd.xml		\ | ||||
| 	org.gnome.Shell.Screencast.xml		\ | ||||
| 	org.gnome.Shell.Screenshot.xml		\ | ||||
| 	org.gnome.ShellSearchProvider.xml	\ | ||||
| 	org.gnome.ShellSearchProvider2.xml	\ | ||||
| 	$(NULL) | ||||
|  | ||||
| theme_sources = 						\ | ||||
| 	theme/gnome-shell-high-contrast.scss			\ | ||||
| 	theme/gnome-shell.scss					\ | ||||
| 	theme/gnome-shell-sass/_colors.scss			\ | ||||
| 	theme/gnome-shell-sass/_common.scss			\ | ||||
| 	theme/gnome-shell-sass/_drawing.scss			\ | ||||
| 	theme/gnome-shell-sass/_high-contrast-colors.scss	\ | ||||
| 	$(NULL) | ||||
|  | ||||
| dist_theme_files =						\ | ||||
| 	$(theme_sources)					\ | ||||
| 	theme/HACKING						\ | ||||
| 	theme/README						\ | ||||
| 	theme/gnome-shell-sass/COPYING				\ | ||||
| 	theme/gnome-shell-sass/HACKING				\ | ||||
| 	theme/gnome-shell-sass/NEWS				\ | ||||
| 	theme/gnome-shell-sass/README				\ | ||||
| 	theme/gnome-shell-sass/gnome-shell-sass.doap		\ | ||||
| 	theme/pad-osd.css					\ | ||||
| 	theme/parse-sass.sh					\ | ||||
| 	$(NULL) | ||||
|  | ||||
| %.css: %.scss $(theme_sources) | ||||
| 	@if test -n "$(SASSC)"; then \ | ||||
| 		if $(AM_V_P); then PS4= set -x; else echo "  GEN      $@"; fi; \ | ||||
| 		$(SASSC) -a $< $@; \ | ||||
| 	fi | ||||
|  | ||||
| resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/theme --generate-dependencies $(srcdir)/gnome-shell-theme.gresource.xml) | ||||
| gnome-shell-theme.gresource: gnome-shell-theme.gresource.xml $(resource_files) | ||||
| 	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/theme $< | ||||
| resourcedir = $(pkgdatadir) | ||||
| resource_DATA = gnome-shell-theme.gresource | ||||
|  | ||||
| backgrounddir = $(pkgdatadir) | ||||
| background_DATA = perf-background.xml | ||||
|  | ||||
| perf-background.xml: perf-background.xml.in | ||||
| 	$(AM_V_GEN) sed -e "s|@datadir[@]|$(datadir)|" \ | ||||
| 	    $< > $@ || rm $@ | ||||
|  | ||||
| keysdir = @GNOME_KEYBINDINGS_KEYSDIR@ | ||||
| keys_DATA = 50-gnome-shell-system.xml | ||||
|  | ||||
| gsettings_SCHEMAS = org.gnome.shell.gschema.xml | ||||
|  | ||||
| %.gschema.xml: %.gschema.xml.in Makefile | ||||
| 	$(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \ | ||||
| 	$< > $@ || rm $@ | ||||
|  | ||||
| @GSETTINGS_RULES@ | ||||
|  | ||||
| # We need to compile schemas at make time | ||||
| # to run from source tree | ||||
| gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid) | ||||
| 	$(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --targetdir=. . | ||||
|  | ||||
| all-local: gschemas.compiled | ||||
|  | ||||
| convertdir = $(datadir)/GConf/gsettings | ||||
| convert_DATA = gnome-shell-overrides.convert | ||||
|  | ||||
| EXTRA_DIST =						\ | ||||
| 	org.gnome.Shell.desktop.in.in			\ | ||||
| 	gnome-shell-extension-prefs.desktop.in.in	\ | ||||
| 	$(portal_DATA)					\ | ||||
| 	$(introspection_DATA)				\ | ||||
| 	$(menu_DATA)					\ | ||||
| 	$(convert_DATA)					\ | ||||
| 	$(keys_DATA)					\ | ||||
| 	$(dist_theme_files)				\ | ||||
| 	perf-background.xml.in				\ | ||||
| 	org.gnome.Shell.PortalHelper.desktop.in.in	\ | ||||
| 	org.gnome.Shell.PortalHelper.service.in		\ | ||||
| 	org.gnome.shell.gschema.xml.in			\ | ||||
| 	gnome-shell-theme.gresource.xml 		\ | ||||
| 	$(resource_files)				\ | ||||
| 	$(NULL) | ||||
|  | ||||
| CLEANFILES +=						\ | ||||
| 	org.gnome.Shell.desktop.in			\ | ||||
| 	gnome-shell-extension-prefs.in			\ | ||||
| 	$(desktop_DATA)					\ | ||||
| 	$(gsettings_SCHEMAS)				\ | ||||
| 	perf-background.xml				\ | ||||
| 	gschemas.compiled				\ | ||||
| 	org.gnome.shell.gschema.valid			\ | ||||
| 	gnome-shell-theme.gresource			\ | ||||
| 	$(NULL) | ||||
| @@ -1,33 +0,0 @@ | ||||
| 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 | ||||
| @@ -1,9 +0,0 @@ | ||||
| dbus_interfaces = [ | ||||
|   'org.gnome.Shell.Extensions.xml', | ||||
|   'org.gnome.Shell.PadOsd.xml', | ||||
|   'org.gnome.Shell.Screencast.xml', | ||||
|   'org.gnome.Shell.Screenshot.xml', | ||||
|   'org.gnome.ShellSearchProvider.xml', | ||||
|   'org.gnome.ShellSearchProvider2.xml' | ||||
| ] | ||||
| install_data(dbus_interfaces, install_dir: ifacedir) | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="net.hadess.SensorProxy"> | ||||
|     <property name="HasAccelerometer" type="b" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="net.hadess.SwitcherooControl"> | ||||
|     <property name="HasDualGpu" type="b" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,32 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.Gtk.MountOperationHandler"> | ||||
|     <method name="AskPassword"> | ||||
|       <arg type="s" direction="in" name="object_id"/> | ||||
|       <arg type="s" direction="in" name="message"/> | ||||
|       <arg type="s" direction="in" name="icon_name"/> | ||||
|       <arg type="s" direction="in" name="default_user"/> | ||||
|       <arg type="s" direction="in" name="default_domain"/> | ||||
|       <arg type="u" direction="in" name="flags"/> | ||||
|       <arg type="u" direction="out" name="response"/> | ||||
|       <arg type="a{sv}" direction="out" name="response_details"/> | ||||
|     </method> | ||||
|     <method name="AskQuestion"> | ||||
|       <arg type="s" direction="in" name="object_id"/> | ||||
|       <arg type="s" direction="in" name="message"/> | ||||
|       <arg type="s" direction="in" name="icon_name"/> | ||||
|       <arg type="as" direction="in" name="choices"/> | ||||
|       <arg type="u" direction="out" name="response"/> | ||||
|       <arg type="a{sv}" direction="out" name="response_details"/> | ||||
|     </method> | ||||
|     <method name="ShowProcesses"> | ||||
|       <arg type="s" direction="in" name="object_id"/> | ||||
|       <arg type="s" direction="in" name="message"/> | ||||
|       <arg type="s" direction="in" name="icon_name"/> | ||||
|       <arg type="ai" direction="in" name="application_pids"/> | ||||
|       <arg type="as" direction="in" name="choices"/> | ||||
|       <arg type="u" direction="out" name="response"/> | ||||
|       <arg type="a{sv}" direction="out" name="response_details"/> | ||||
|     </method> | ||||
|     <method name="Close"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,12 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.Application"> | ||||
|     <method name="ActivateAction"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="av" direction="in"/> | ||||
|       <arg type="a{sv}" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Activate"> | ||||
|       <arg type="a{sv}" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.DBus"> | ||||
|     <method name="ListNames"> | ||||
|       <arg type="as" direction="out" name="names"/> | ||||
|     </method> | ||||
|     <method name="GetConnectionUnixProcessID"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </method> | ||||
|     <signal name="NameOwnerChanged"> | ||||
|       <arg type="s" direction="out" name="name"/> | ||||
|       <arg type="s" direction="out" name="oldOwner"/> | ||||
|       <arg type="s" direction="out" name="newOwner"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,11 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.GeoClue2.Agent"> | ||||
|     <property name="MaxAccuracyLevel" type="u" access="read"/> | ||||
|     <method name="AuthorizeApp"> | ||||
|       <arg name="desktop_id" type="s" direction="in"/> | ||||
|       <arg name="req_accuracy_level" type="u" direction="in"/> | ||||
|       <arg name="authorized" type="b" direction="out"/> | ||||
|       <arg name="allowed_accuracy_level" type="u" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,9 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.GeoClue2.Manager"> | ||||
|     <property name="InUse" type="b" access="read"/> | ||||
|     <property name="AvailableAccuracyLevel" type="u" access="read"/> | ||||
|     <method name="AddAgent"> | ||||
|       <arg name="id" type="s" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.ModemManager.Modem.Cdma"> | ||||
|     <method name="GetSignalQuality"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </method> | ||||
|     <method name="GetServingSystem"> | ||||
|       <arg type="(usu)" direction="out"/> | ||||
|     </method> | ||||
|     <signal name="SignalQuality"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,19 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.ModemManager.Modem.Gsm.Network"> | ||||
|     <method name="GetRegistrationInfo"> | ||||
|       <arg type="(uss)" direction="out"/> | ||||
|     </method> | ||||
|     <method name="GetSignalQuality"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </method> | ||||
|     <property name="AccessTechnology" type="u" access="read"/> | ||||
|     <signal name="SignalQuality"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </signal> | ||||
|     <signal name="RegistrationInfo"> | ||||
|       <arg type="u" direction="out"/> | ||||
|       <arg type="s" direction="out"/> | ||||
|       <arg type="s" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,6 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp"> | ||||
|     <property name="OperatorCode" type="s" access="read"/> | ||||
|     <property name="OperatorName" type="s" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.ModemManager1.Modem.ModemCdma"> | ||||
|     <property name="Sid" type="u" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.ModemManager1.Modem"> | ||||
|     <property name="SignalQuality" type="(ub)" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,35 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.Notifications"> | ||||
|     <method name="Notify"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="u" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="as" direction="in"/> | ||||
|       <arg type="a{sv}" direction="in"/> | ||||
|       <arg type="i" direction="in"/> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </method> | ||||
|     <method name="CloseNotification"> | ||||
|       <arg type="u" direction="in"/> | ||||
|     </method> | ||||
|     <method name="GetCapabilities"> | ||||
|       <arg type="as" direction="out"/> | ||||
|     </method> | ||||
|     <method name="GetServerInformation"> | ||||
|       <arg type="s" direction="out"/> | ||||
|       <arg type="s" direction="out"/> | ||||
|       <arg type="s" direction="out"/> | ||||
|       <arg type="s" direction="out"/> | ||||
|     </method> | ||||
|     <signal name="NotificationClosed"> | ||||
|       <arg type="u"/> | ||||
|       <arg type="u"/> | ||||
|     </signal> | ||||
|     <signal name="ActionInvoked"> | ||||
|       <arg type="u"/> | ||||
|       <arg type="s"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.PackageKit.Offline"> | ||||
|     <property name="UpdatePrepared" type="b" access="read"/> | ||||
|     <property name="UpdateTriggered" type="b" access="read"/> | ||||
|     <property name="UpgradePrepared" type="b" access="read"/> | ||||
|     <property name="UpgradeTriggered" type="b" access="read"/> | ||||
|     <property name="PreparedUpgrade" type="a{sv}" access="read"/> | ||||
|     <method name="Trigger"> | ||||
|       <arg type="s" name="action" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Cancel"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,11 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.UPower.Device"> | ||||
|     <property name="Type" type="u" access="read"/> | ||||
|     <property name="State" type="u" access="read"/> | ||||
|     <property name="Percentage" type="d" access="read"/> | ||||
|     <property name="TimeToEmpty" type="x" access="read"/> | ||||
|     <property name="TimeToFull" type="x" access="read"/> | ||||
|     <property name="IsPresent" type="b" access="read"/> | ||||
|     <property name="IconName" type="s" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.UPower"> | ||||
|     <property name="OnBattery" type="b" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.bolt1.Device"> | ||||
|     <property name="Uid" type="s" access="read"></property> | ||||
|     <property name="Name" type="s" access="read"></property> | ||||
|     <property name="Vendor" type="s" access="read"></property> | ||||
|     <property name="Type" type="s" access="read"></property> | ||||
|     <property name="Status" type="s" access="read"></property> | ||||
|     <property name="Parent" type="s" access="read"></property> | ||||
|     <property name="SysfsPath" type="s" access="read"></property> | ||||
|     <property name="Stored" type="b" access="read"></property> | ||||
|     <property name="Policy" type="s" access="read"></property> | ||||
|     <property name="Key" type="s" access="read"></property> | ||||
|     <property name="Label" type="s" access="read"></property> | ||||
|     <property name="ConnectTime" type="t" access="read"></property> | ||||
|     <property name="AuthorizeTime" type="t" access="read"></property> | ||||
|     <property name="StoreTime" type="t" access="read"></property> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,15 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.bolt1.Manager"> | ||||
|     <property name="Probing" type="b" access="read"></property> | ||||
|     <property name="AuthMode" type="s" access="readwrite"></property> | ||||
|     <method name="EnrollDevice"> | ||||
|       <arg type="s" name="uid" direction="in"/> | ||||
|       <arg type="s" name="policy" direction="in"/> | ||||
|       <arg type="s" name="flags" direction="in"/> | ||||
|       <arg name="device" direction="out" type="o"/> | ||||
|     </method> | ||||
|     <signal name="DeviceAdded"> | ||||
|       <arg name="device" type="o"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,15 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.impl.portal.Access"> | ||||
|     <method name="AccessDialog"> | ||||
|       <arg type="o" name="handle" direction="in"/> | ||||
|       <arg type="s" name="app_id" direction="in"/> | ||||
|       <arg type="s" name="parent_window" direction="in"/> | ||||
|       <arg type="s" name="title" direction="in"/> | ||||
|       <arg type="s" name="subtitle" direction="in"/> | ||||
|       <arg type="s" name="body" direction="in"/> | ||||
|       <arg type="a{sv}" name="options" direction="in"/> | ||||
|       <arg type="u" name="response" direction="out"/> | ||||
|       <arg type="a{sv}" name="results" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,24 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.impl.portal.PermissionStore"> | ||||
|     <method name="Lookup"> | ||||
|       <arg name="table" type="s" direction="in"/> | ||||
|       <arg name="id" type="s" direction="in"/> | ||||
|       <arg name="permissions" type="a{sas}" direction="out"/> | ||||
|       <arg name="data" type="v" direction="out"/> | ||||
|     </method> | ||||
|     <method name="Set"> | ||||
|       <arg name="table" type="s" direction="in"/> | ||||
|       <arg name="create" type="b" direction="in"/> | ||||
|       <arg name="id" type="s" direction="in"/> | ||||
|       <arg name="app_permissions" type="a{sas}" direction="in"/> | ||||
|       <arg name="data" type="v" direction="in"/> | ||||
|     </method> | ||||
|     <signal name="Changed"> | ||||
|       <arg name="table" type="s" direction="out"/> | ||||
|       <arg name="id" type="s" direction="out"/> | ||||
|       <arg name="deleted" type="b" direction="out"/> | ||||
|       <arg name="data" type="v" direction="out"/> | ||||
|       <arg name="permissions" type="a{sas}" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.impl.portal.Request"> | ||||
|     <method name="Close"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,27 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.login1.Manager"> | ||||
|     <method name="Suspend"> | ||||
|       <arg type="b" direction="in"/> | ||||
|     </method> | ||||
|     <method name="CanSuspend"> | ||||
|       <arg type="s" direction="out"/> | ||||
|     </method> | ||||
|     <method name="Inhibit"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="h" direction="out"/> | ||||
|     </method> | ||||
|     <method name="GetSession"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="o" direction="out"/> | ||||
|     </method> | ||||
|     <method name="ListSessions"> | ||||
|       <arg name="sessions" type="a(susso)" direction="out"/> | ||||
|     </method> | ||||
|     <signal name="PrepareForSleep"> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,15 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.login1.Session"> | ||||
|     <signal name="Lock"/> | ||||
|     <signal name="Unlock"/> | ||||
|     <property name="Active" type="b" access="read"/> | ||||
|     <property name="Class" type="s" access="read"/> | ||||
|     <property name="Id" type="s" access="read"/> | ||||
|     <property name="Remote" type="b" access="read"/> | ||||
|     <property name="Type" type="s" access="read"/> | ||||
|     <property name="State" type="s" access="read"/> | ||||
|     <method name="SetLockedHint"> | ||||
|       <arg type="b" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,6 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.login1.User"> | ||||
|     <property name="Display" type="(so)" access="read"/> | ||||
|     <property name="Sessions" type="a(so)" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.realmd.Provider"> | ||||
|     <property name="Name" type="s" access="read"/> | ||||
|     <property name="Version" type="s" access="read"/> | ||||
|     <property name="Realms" type="ao" access="read"/> | ||||
|     <method name="Discover"> | ||||
|       <arg name="string" type="s" direction="in"/> | ||||
|       <arg name="options" type="a{sv}" direction="in"/> | ||||
|       <arg name="relevance" type="i" direction="out"/> | ||||
|       <arg name="realm" type="ao" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,20 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.realmd.Realm"> | ||||
|     <property name="Name" type="s" access="read"/> | ||||
|     <property name="Configured" type="s" access="read"/> | ||||
|     <property name="Details" type="a(ss)" access="read"/> | ||||
|     <property name="LoginFormats" type="as" access="read"/> | ||||
|     <property name="LoginPolicy" type="s" access="read"/> | ||||
|     <property name="PermittedLogins" type="as" access="read"/> | ||||
|     <property name="SupportedInterfaces" type="as" access="read"/> | ||||
|     <method name="ChangeLoginPolicy"> | ||||
|       <arg name="login_policy" type="s" direction="in"/> | ||||
|       <arg name="permitted_add" type="as" direction="in"/> | ||||
|       <arg name="permitted_remove" type="as" direction="in"/> | ||||
|       <arg name="options" type="a{sv}" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Deconfigure"> | ||||
|       <arg name="options" type="a{sv}" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,15 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.freedesktop.realmd.Service"> | ||||
|     <method name="Cancel"> | ||||
|       <arg name="operation" type="s" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Release"/> | ||||
|     <method name="SetLocale"> | ||||
|       <arg name="locale" type="s" direction="in"/> | ||||
|     </method> | ||||
|     <signal name="Diagnostics"> | ||||
|       <arg name="data" type="s"/> | ||||
|       <arg name="operation" type="s"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,26 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Magnifier.ZoomRegion"> | ||||
|     <method name="setMagFactor"> | ||||
|       <arg type="d" direction="in"/> | ||||
|       <arg type="d" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getMagFactor"> | ||||
|       <arg type="d" direction="out"/> | ||||
|       <arg type="d" direction="out"/> | ||||
|     </method> | ||||
|     <method name="setRoi"> | ||||
|       <arg type="ai" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getRoi"> | ||||
|       <arg type="ai" direction="out"/> | ||||
|     </method> | ||||
|     <method name="shiftContentsTo"> | ||||
|       <arg type="i" direction="in"/> | ||||
|       <arg type="i" direction="in"/> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="moveResize"> | ||||
|       <arg type="ai" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,54 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Magnifier"> | ||||
|     <method name="setActive"> | ||||
|       <arg type="b" direction="in"/> | ||||
|     </method> | ||||
|     <method name="isActive"> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="showCursor"/> | ||||
|     <method name="hideCursor"/> | ||||
|     <method name="createZoomRegion"> | ||||
|       <arg type="d" direction="in"/> | ||||
|       <arg type="d" direction="in"/> | ||||
|       <arg type="ai" direction="in"/> | ||||
|       <arg type="ai" direction="in"/> | ||||
|       <arg type="o" direction="out"/> | ||||
|     </method> | ||||
|     <method name="addZoomRegion"> | ||||
|       <arg type="o" direction="in"/> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="getZoomRegions"> | ||||
|       <arg type="ao" direction="out"/> | ||||
|     </method> | ||||
|     <method name="clearAllZoomRegions"/> | ||||
|     <method name="fullScreenCapable"> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="setCrosswireSize"> | ||||
|       <arg type="i" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getCrosswireSize"> | ||||
|       <arg type="i" direction="out"/> | ||||
|     </method> | ||||
|     <method name="setCrosswireLength"> | ||||
|       <arg type="i" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getCrosswireLength"> | ||||
|       <arg type="i" direction="out"/> | ||||
|     </method> | ||||
|     <method name="setCrosswireClip"> | ||||
|       <arg type="b" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getCrosswireClip"> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="setCrosswireColor"> | ||||
|       <arg type="u" direction="in"/> | ||||
|     </method> | ||||
|     <method name="getCrosswireColor"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.ScreenSaver"> | ||||
|     <method name="Lock"/> | ||||
|     <method name="GetActive"> | ||||
|       <arg type="b" direction="out" name="active"/> | ||||
|     </method> | ||||
|     <method name="SetActive"> | ||||
|       <arg type="b" direction="in" name="value"/> | ||||
|     </method> | ||||
|     <method name="GetActiveTime"> | ||||
|       <arg type="u" direction="out" name="value"/> | ||||
|     </method> | ||||
|     <signal name="ActiveChanged"> | ||||
|       <arg name="new_value" type="b"/> | ||||
|     </signal> | ||||
|     <signal name="WakeUpScreen"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SessionManager.EndSessionDialog"> | ||||
|     <method name="Open"> | ||||
|       <arg type="u" direction="in"/> | ||||
|       <arg type="u" direction="in"/> | ||||
|       <arg type="u" direction="in"/> | ||||
|       <arg type="ao" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Close"/> | ||||
|     <signal name="ConfirmedLogout"/> | ||||
|     <signal name="ConfirmedReboot"/> | ||||
|     <signal name="ConfirmedShutdown"/> | ||||
|     <signal name="Canceled"/> | ||||
|     <signal name="Closed"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,10 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SessionManager.Inhibitor"> | ||||
|     <method name="GetAppId"> | ||||
|       <arg type="s" direction="out"/> | ||||
|     </method> | ||||
|     <method name="GetReason"> | ||||
|       <arg type="s" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,11 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SessionManager.Presence"> | ||||
|     <method name="SetStatus"> | ||||
|       <arg type="u" direction="in"/> | ||||
|     </method> | ||||
|     <property name="status" type="u" access="readwrite"/> | ||||
|     <signal name="StatusChanged"> | ||||
|       <arg type="u" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,23 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SessionManager"> | ||||
|     <method name="Logout"> | ||||
|       <arg type="u" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Shutdown"/> | ||||
|     <method name="Reboot"/> | ||||
|     <method name="CanShutdown"> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <method name="IsInhibited"> | ||||
|       <arg type="u" direction="in"/> | ||||
|       <arg type="b" direction="out"/> | ||||
|     </method> | ||||
|     <property name="SessionIsActive" type="b" access="read"/> | ||||
|     <signal name="InhibitorAdded"> | ||||
|       <arg type="o" direction="out"/> | ||||
|     </signal> | ||||
|     <signal name="InhibitorRemoved"> | ||||
|       <arg type="o" direction="out"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,6 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SettingsDaemon.Color"> | ||||
|     <property name="DisabledUntilTomorrow" type="b" access="readwrite"/> | ||||
|     <property name="NightLightActive" type="b" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,5 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SettingsDaemon.Power.Screen"> | ||||
|     <property name="Brightness" type="i" access="readwrite"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,10 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.SettingsDaemon.Rfkill"> | ||||
|     <property name="AirplaneMode" type="b" access="readwrite"/> | ||||
|     <property name="HardwareAirplaneMode" type="b" access="read"/> | ||||
|     <property name="BluetoothAirplaneMode" type="b" access="readwrite"/> | ||||
|     <property name="BluetoothHasAirplaneMode" type="b" access="read"/> | ||||
|     <property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite"/> | ||||
|     <property name="ShouldShowAirplaneMode" type="b" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
| <interface name="org.gnome.SettingsDaemon.Wacom"> | ||||
|   <method name="SetGroupModeLED"> | ||||
|     <arg name="device_path" direction="in" type="s"/> | ||||
|     <arg name="group" direction="in" type="u"/> | ||||
|     <arg name="mode" direction="in" type="u"/> | ||||
|   </method> | ||||
|   <method name="SetOLEDLabels"> | ||||
|     <arg name="device_path" direction="in" type="s"/> | ||||
|     <arg name="labels" direction="in" type="as"/> | ||||
|   </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,12 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell.AudioDeviceSelection"> | ||||
|     <method name="Open"> | ||||
|       <arg name="devices" direction="in" type="as"/> | ||||
|     </method> | ||||
|     <method name="Close"> | ||||
|     </method> | ||||
|     <signal name="DeviceSelected"> | ||||
|       <arg name="device" type="s"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,205 +0,0 @@ | ||||
| <!DOCTYPE node PUBLIC | ||||
| '-//freedesktop//DTD D-BUS Object Introspection 1.0//EN' | ||||
| 'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'> | ||||
| <node> | ||||
|  | ||||
|   <!-- | ||||
|       org.gnome.Shell.Extensions: | ||||
|       @short_description: Extensions interface | ||||
|  | ||||
|       The interface used to query and manage extensions. | ||||
|   --> | ||||
|   <interface name="org.gnome.Shell.Extensions"> | ||||
|  | ||||
|     <!-- | ||||
|         ListExtensions: | ||||
|         @extensions: A dictionary of extension infos | ||||
|  | ||||
|         Get a list of installed extensions. The returned @extensions | ||||
|         dictionary maps extension UUIDs to info vardicts. See | ||||
|         GetExtensionInfo() for documentation on possible keys. | ||||
|     --> | ||||
|     <method name="ListExtensions"> | ||||
|       <arg type="a{sa{sv}}" direction="out" name="extensions"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         GetExtensionInfo: | ||||
|         @uuid: The UUID of the extension | ||||
|         @info: The returned extension info | ||||
|  | ||||
|         The information returned in the @info vardict depends on the | ||||
|         metadata the extension provides, however it is guaranteed to | ||||
|         contain the following keys: | ||||
|  | ||||
|         <variablelist> | ||||
|           <varlistentry> | ||||
|             <term>uuid s</term> | ||||
|             <listitem><para>The UUID of the extension</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>name s</term> | ||||
|             <listitem><para>The name of the extension</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>description s</term> | ||||
|             <listitem><para> | ||||
|               A short summary that describes what the extension does | ||||
|             </para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>shell-version as</term> | ||||
|             <listitem><para>An array of support shell versions</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>type d</term> | ||||
|             <listitem><para> | ||||
|               The type of extension: | ||||
|               <simplelist> | ||||
|                 <member>1: SYSTEM</member> | ||||
|                 <member>2: PER_USER</member> | ||||
|               </simplelist> | ||||
|             </para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>state d</term> | ||||
|             <listitem><para> | ||||
|               The state the extension is in: | ||||
|               <simplelist> | ||||
|                 <member>1: ENABLED</member> | ||||
|                 <member>2: DISABLED</member> | ||||
|                 <member>3: ERROR</member> | ||||
|                 <member>4: OUT_OF_DATE</member> | ||||
|                 <member>5: DOWNLOADING</member> | ||||
|                 <member>6: INITIALIZED</member> | ||||
|                 <member>99: UNINSTALLED</member> | ||||
|               </simplelist> | ||||
|             </para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>path s</term> | ||||
|             <listitem><para>The extension directory</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>error s</term> | ||||
|             <listitem><para>The most recent error caught in init(), enable() or disable()</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>hasPrefs b</term> | ||||
|             <listitem><para>Whether the extension includes preference UI</para></listitem> | ||||
|           </varlistentry> | ||||
|         </variablelist> | ||||
|  | ||||
|         By convention, many extensions will also include the following keys: | ||||
|         <variablelist> | ||||
|           <varlistentry> | ||||
|             <term>version d</term> | ||||
|             <listitem><para>The extension version</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>url s</term> | ||||
|             <listitem><para>The URL to the extension homepage or repository</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>settings-schema s</term> | ||||
|             <listitem><para>The ID of a bundled GSettings schema</para></listitem> | ||||
|           </varlistentry> | ||||
|  | ||||
|           <varlistentry> | ||||
|             <term>gettext-domain s</term> | ||||
|             <listitem><para>The domain used for translations</para></listitem> | ||||
|           </varlistentry> | ||||
|         </variablelist> | ||||
|     --> | ||||
|     <method name="GetExtensionInfo"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|       <arg type="a{sv}" direction="out" name="info"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         GetExtensionErrors: | ||||
|         @uuid: The UUID of the extension | ||||
|         @errors: The returned errors | ||||
|  | ||||
|         Get the list of errors that caused the extension | ||||
|         to be in ERROR state. | ||||
|     --> | ||||
|     <method name="GetExtensionErrors"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|       <arg type="as" direction="out" name="errors"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         InstallRemoteExtension: | ||||
|         @uuid: The UUID of the extension | ||||
|         @result: The result of the operation | ||||
|  | ||||
|         Download and install an extension. | ||||
|     --> | ||||
|     <method name="InstallRemoteExtension"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|       <arg type="s" direction="out" name="result"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         UninstallExtension: | ||||
|         @uuid: The UUID of the extension | ||||
|         @success: Whether the operation was successful | ||||
|  | ||||
|         Uninstall an extension. | ||||
|     --> | ||||
|     <method name="UninstallExtension"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|       <arg type="b" direction="out" name="success"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         ReloadExtension: | ||||
|         @uuid: The UUID of the extension | ||||
|  | ||||
|         Reload an extension. | ||||
|     --> | ||||
|     <method name="ReloadExtension"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         LaunchExtensionPrefs: | ||||
|         @uuid: The UUID of the extension | ||||
|  | ||||
|         Launch preferences of an extension. | ||||
|     --> | ||||
|     <method name="LaunchExtensionPrefs"> | ||||
|       <arg type="s" direction="in" name="uuid"/> | ||||
|     </method> | ||||
|  | ||||
|     <!-- | ||||
|         CheckForUpdates: | ||||
|         Update all extensions for which updates are available | ||||
|     --> | ||||
|     <method name="CheckForUpdates"/> | ||||
|  | ||||
|     <signal name="ExtensionStatusChanged"> | ||||
|       <arg type="s" name="uuid"/> | ||||
|       <arg type="i" name="state"/> | ||||
|       <arg type="s" name="error"/> | ||||
|     </signal> | ||||
|  | ||||
|     <!-- | ||||
|         ShellVersion: | ||||
|         The GNOME Shell version | ||||
|     --> | ||||
|     <property name="ShellVersion" type="s" access="read"/> | ||||
|  | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,8 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell.HotplugSniffer"> | ||||
|     <method name="SniffURI"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="as" direction="out"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell.PerfHelper"> | ||||
|     <method name="CreateWindow"> | ||||
|       <arg type="i" direction="in"/> | ||||
|       <arg type="i" direction="in"/> | ||||
|       <arg type="b" direction="in"/> | ||||
|       <arg type="b" direction="in"/> | ||||
|       <arg type="b" direction="in"/> | ||||
|     </method> | ||||
|     <method name="WaitWindows"/> | ||||
|     <method name="DestroyWindows"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,19 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell.PortalHelper"> | ||||
|     <method name="Authenticate"> | ||||
|       <arg name="connection" type="o" direction="in"/> | ||||
|       <arg name="url" type="s" direction="in"/> | ||||
|       <arg name="timestamp" type="u" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Close"> | ||||
|       <arg name="connection" type="o" direction="in"/> | ||||
|     </method> | ||||
|     <method name="Refresh"> | ||||
|       <arg name="connection" type="o" direction="in"/> | ||||
|     </method> | ||||
|     <signal name="Done"> | ||||
|       <arg type="o" name="connection"/> | ||||
|       <arg type="u" name="result"/> | ||||
|     </signal> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,8 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell.Wacom.PadOsd"> | ||||
|     <method name="Show"> | ||||
|       <arg name="device_node" direction="in" type="o"/> | ||||
|       <arg name="edition_mode" direction="in" type="b"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,44 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gnome.Shell"> | ||||
|     <method name="Eval"> | ||||
|       <arg type="s" direction="in" name="script"/> | ||||
|       <arg type="b" direction="out" name="success"/> | ||||
|       <arg type="s" direction="out" name="result"/> | ||||
|     </method> | ||||
|     <method name="FocusSearch"/> | ||||
|     <method name="ShowOSD"> | ||||
|       <arg type="a{sv}" direction="in" name="params"/> | ||||
|     </method> | ||||
|     <method name="ShowMonitorLabels"> | ||||
|       <arg type="a{uv}" direction="in" name="params"/> | ||||
|     </method> | ||||
|     <method name="ShowMonitorLabels2"> | ||||
|       <arg type="a{sv}" direction="in" name="params"/> | ||||
|     </method> | ||||
|     <method name="HideMonitorLabels"/> | ||||
|     <method name="FocusApp"> | ||||
|       <arg type="s" direction="in" name="id"/> | ||||
|     </method> | ||||
|     <method name="ShowApplications"/> | ||||
|     <method name="GrabAccelerator"> | ||||
|       <arg type="s" direction="in" name="accelerator"/> | ||||
|       <arg type="u" direction="in" name="flags"/> | ||||
|       <arg type="u" direction="out" name="action"/> | ||||
|     </method> | ||||
|     <method name="GrabAccelerators"> | ||||
|       <arg type="a(su)" direction="in" name="accelerators"/> | ||||
|       <arg type="au" direction="out" name="actions"/> | ||||
|     </method> | ||||
|     <method name="UngrabAccelerator"> | ||||
|       <arg type="u" direction="in" name="action"/> | ||||
|       <arg type="b" direction="out" name="success"/> | ||||
|     </method> | ||||
|     <signal name="AcceleratorActivated"> | ||||
|       <arg name="action" type="u"/> | ||||
|       <arg name="parameters" type="a{sv}"/> | ||||
|     </signal> | ||||
|     <property name="Mode" type="s" access="read"/> | ||||
|     <property name="OverviewActive" type="b" access="readwrite"/> | ||||
|     <property name="ShellVersion" type="s" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.gtk.Notifications"> | ||||
|     <method name="AddNotification"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="a{sv}" direction="in"/> | ||||
|     </method> | ||||
|     <method name="RemoveNotification"> | ||||
|       <arg type="s" direction="in"/> | ||||
|       <arg type="s" direction="in"/> | ||||
|     </method> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,12 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.mpris.MediaPlayer2.Player"> | ||||
|     <method name="PlayPause"/> | ||||
|     <method name="Next"/> | ||||
|     <method name="Previous"/> | ||||
|     <property name="CanGoNext" type="b" access="read"/> | ||||
|     <property name="CanGoPrevious" type="b" access="read"/> | ||||
|     <property name="CanPlay" type="b" access="read"/> | ||||
|     <property name="Metadata" type="a{sv}" access="read"/> | ||||
|     <property name="PlaybackStatus" type="s" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,7 +0,0 @@ | ||||
| <node> | ||||
|   <interface name="org.mpris.MediaPlayer2"> | ||||
|     <method name="Raise"/> | ||||
|     <property name="CanRaise" type="b" access="read"/> | ||||
|     <property name="DesktopEntry" type="s" access="read"/> | ||||
|   </interface> | ||||
| </node> | ||||
| @@ -1,55 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <gresources> | ||||
|   <gresource prefix="/org/gnome/shell/dbus-interfaces"> | ||||
|     <file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file> | ||||
|     <file preprocess="xml-stripblanks">net.hadess.SwitcherooControl.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.DBus.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.GeoClue2.Agent.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.GeoClue2.Manager.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.impl.portal.Access.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.impl.portal.PermissionStore.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.impl.portal.Request.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.login1.Manager.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.login1.Session.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.login1.User.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.Modem3gpp.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.ModemCdma.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.ModemManager.Modem.Cdma.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.ModemManager.Modem.Gsm.Network.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.Notifications.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.PackageKit.Offline.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.realmd.Provider.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.realmd.Realm.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.realmd.Service.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.UPower.Device.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.freedesktop.UPower.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Magnifier.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Magnifier.ZoomRegion.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.ScreenSaver.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SessionManager.EndSessionDialog.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SessionManager.Inhibitor.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SessionManager.Presence.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SessionManager.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Color.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Power.Screen.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Rfkill.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Wacom.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.AudioDeviceSelection.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.Extensions.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.HotplugSniffer.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.PerfHelper.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.PortalHelper.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.Screencast.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.Screenshot.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.Wacom.PadOsd.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gnome.Shell.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.Gtk.MountOperationHandler.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.gtk.Notifications.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.mpris.MediaPlayer2.Player.xml</file> | ||||
|     <file preprocess="xml-stripblanks">org.mpris.MediaPlayer2.xml</file> | ||||
|   </gresource> | ||||
| </gresources> | ||||
| @@ -1,58 +0,0 @@ | ||||
| <?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>in+mal.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> | ||||
| @@ -1,5 +0,0 @@ | ||||
| [Desktop Entry] | ||||
| Type=Application | ||||
| Name=GNOME settings overrides migration | ||||
| NoDisplay=true | ||||
| Exec=@libexecdir@/gnome-shell-overrides-migration.sh | ||||
| @@ -9,20 +9,15 @@ | ||||
|     <file>checkbox-off.svg</file> | ||||
|     <file>checkbox.svg</file> | ||||
|     <file>close-window.svg</file> | ||||
|     <file>close-window-active.svg</file> | ||||
|     <file>close-window-hover.svg</file> | ||||
|     <file>close.svg</file> | ||||
|     <file>corner-ripple-ltr.png</file> | ||||
|     <file>corner-ripple-rtl.png</file> | ||||
|     <file>dash-placeholder.svg</file> | ||||
|     <file>filter-selected-ltr.svg</file> | ||||
|     <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 alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file> | ||||
|     <file>logged-in-indicator.svg</file> | ||||
|     <file>no-events.svg</file> | ||||
|     <file>no-notifications.svg</file> | ||||
|     <file>noise-texture.png</file> | ||||
| @@ -32,11 +27,16 @@ | ||||
|     <file>page-indicator-checked.svg</file> | ||||
|     <file>page-indicator-hover.svg</file> | ||||
|     <file>process-working.svg</file> | ||||
|     <file>running-indicator.svg</file> | ||||
|     <file>source-button-border.svg</file> | ||||
|     <file>summary-counter.svg</file> | ||||
|     <file>toggle-off-us.svg</file> | ||||
|     <file>toggle-off-intl.svg</file> | ||||
|     <file>toggle-off-hc.svg</file> | ||||
|     <file>toggle-on-us.svg</file> | ||||
|     <file>toggle-on-intl.svg</file> | ||||
|     <file>toggle-on-hc.svg</file> | ||||
|     <file>ws-switch-arrow-up.png</file> | ||||
|     <file>ws-switch-arrow-down.png</file> | ||||
|   </gresource> | ||||
| </gresources> | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| [Unit] | ||||
| Description=GNOME Shell (wayland sync point) | ||||
| After=gnome-shell.service | ||||
| BindsTo=gnome-shell.service | ||||
| Conflicts=gnome-shell-x11.target | ||||
| @@ -1,5 +0,0 @@ | ||||
| [Unit] | ||||
| Description=GNOME Shell (x11 sync point) | ||||
| After=gnome-shell.service | ||||
| BindsTo=gnome-shell.service | ||||
| Conflicts=gnome-shell-wayland.target | ||||
| @@ -1,11 +0,0 @@ | ||||
| [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 | ||||
| @@ -41,25 +41,26 @@ foreach service_file : service_files | ||||
| endforeach | ||||
|  | ||||
|  | ||||
| subdir('dbus-interfaces') | ||||
| dbus_interfaces = [ | ||||
|   'org.gnome.Shell.PadOsd.xml', | ||||
|   'org.gnome.Shell.Screencast.xml', | ||||
|   'org.gnome.Shell.Screenshot.xml', | ||||
|   'org.gnome.ShellSearchProvider.xml', | ||||
|   'org.gnome.ShellSearchProvider2.xml' | ||||
| ] | ||||
| install_data(dbus_interfaces, install_dir: ifacedir) | ||||
|  | ||||
|  | ||||
| subdir('theme') | ||||
|  | ||||
| data_resources = [ | ||||
|   ['dbus-interfaces', []], | ||||
|   ['osk-layouts', []], | ||||
|   ['theme', theme_deps] | ||||
| ] | ||||
| foreach resource : data_resources | ||||
|   gnome.compile_resources( | ||||
|     'gnome-shell-' + resource[0], | ||||
|     'gnome-shell-@0@.gresource.xml'.format(resource[0]), | ||||
|     source_dir: resource[0], | ||||
|     dependencies: resource[1], | ||||
|     gresource_bundle: true, | ||||
|     install: true, | ||||
|     install_dir: pkgdatadir | ||||
|   ) | ||||
| endforeach | ||||
| theme_resources = gnome.compile_resources( | ||||
|   'gnome-shell-theme', 'gnome-shell-theme.gresource.xml', | ||||
|   source_dir: 'theme', | ||||
|   dependencies: theme_deps, | ||||
|   gresource_bundle: true, | ||||
|   install: true, | ||||
|   install_dir: pkgdatadir | ||||
| ) | ||||
|  | ||||
| perfconf = configuration_data() | ||||
| perfconf.set('datadir', datadir) | ||||
| @@ -77,45 +78,11 @@ install_data('50-gnome-shell-system.xml', install_dir: keysdir) | ||||
|  | ||||
| schemaconf = configuration_data() | ||||
| schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) | ||||
| schema = configure_file( | ||||
| configure_file( | ||||
|   input: 'org.gnome.shell.gschema.xml.in', | ||||
|   output: 'org.gnome.shell.gschema.xml', | ||||
|   configuration: schemaconf, | ||||
|   install_dir: schemadir | ||||
| ) | ||||
| install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir) | ||||
|  | ||||
| overrides_migration_conf = configuration_data() | ||||
| overrides_migration_conf.set('libexecdir', libexecdir) | ||||
| overrides_migration = configure_file( | ||||
|   input: 'gnome-shell-overrides-migration.desktop.in', | ||||
|   output: 'gnome-shell-overrides-migration.desktop', | ||||
|   configuration: overrides_migration_conf, | ||||
|   install_dir: autostartdir | ||||
| ) | ||||
|  | ||||
| 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, | ||||
|   output: 'gschemas.compiled', | ||||
|   command: [find_program('glib-compile-schemas'), meson.current_build_dir()], | ||||
|   build_by_default: true) | ||||
|  | ||||
| install_data('gnome-shell-overrides.convert', install_dir: convertdir) | ||||
|   | ||||
| @@ -91,23 +91,6 @@ | ||||
|       <arg type="s" direction="out" name="filename_used"/> | ||||
|     </method> | ||||
| 
 | ||||
|     <!-- | ||||
|         PickColor: | ||||
| 
 | ||||
|         Picks a color and returns the result. | ||||
| 
 | ||||
|         The @result vardict contains: | ||||
|         <variablelist> | ||||
|           <varlistentry> | ||||
|             <term>color (ddd)</term> | ||||
|             <listitem><para>The color, RGB values in the range [0,1].</para></listitem> | ||||
|           </varlistentry> | ||||
|         </variablelist> | ||||
|     --> | ||||
|     <method name="PickColor"> | ||||
|       <arg type="a{sv}" direction="out" name="result"/> | ||||
|     </method> | ||||
| 
 | ||||
|     <!-- | ||||
|         FlashArea: | ||||
|         @x: the X coordinate of the area to flash | ||||
| @@ -190,7 +190,6 @@ | ||||
|     </key> | ||||
|   </schema> | ||||
|  | ||||
|   <!-- unused, change 00_org.gnome.shell.gschema.override instead --> | ||||
|   <schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/" | ||||
| 	  gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="attach-modal-dialogs" type="b"> | ||||
|   | ||||
| @@ -1,599 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,488 +0,0 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "ض" | ||||
|           ], | ||||
|           [ | ||||
|             "ص" | ||||
|           ], | ||||
|           [ | ||||
|             "ث" | ||||
|           ], | ||||
|           [ | ||||
|             "ق", | ||||
|             "ڨ" | ||||
|           ], | ||||
|           [ | ||||
|             "ف", | ||||
|             "ڤ", | ||||
|             "ڢ", | ||||
|             "ڥ" | ||||
|           ], | ||||
|           [ | ||||
|             "غ" | ||||
|           ], | ||||
|           [ | ||||
|             "ع" | ||||
|           ], | ||||
|           [ | ||||
|             "ه", | ||||
|             "ه" | ||||
|           ], | ||||
|           [ | ||||
|             "خ" | ||||
|           ], | ||||
|           [ | ||||
|             "ح" | ||||
|           ], | ||||
|           [ | ||||
|             "ج", | ||||
|             "چ" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ش", | ||||
|             "ڜ" | ||||
|           ], | ||||
|           [ | ||||
|             "س" | ||||
|           ], | ||||
|           [ | ||||
|             "ي", | ||||
|             "ئ", | ||||
|             "ى" | ||||
|           ], | ||||
|           [ | ||||
|             "ب", | ||||
|             "پ" | ||||
|           ], | ||||
|           [ | ||||
|             "ل", | ||||
|             "لا", | ||||
|             "لأ", | ||||
|             "لإ", | ||||
|             "لآ" | ||||
|           ], | ||||
|           [ | ||||
|             "ا", | ||||
|             "آ", | ||||
|             "ء", | ||||
|             "أ", | ||||
|             "إ", | ||||
|             "ٱ" | ||||
|           ], | ||||
|           [ | ||||
|             "ت" | ||||
|           ], | ||||
|           [ | ||||
|             "ن" | ||||
|           ], | ||||
|           [ | ||||
|             "م" | ||||
|           ], | ||||
|           [ | ||||
|             "ك", | ||||
|             "گ", | ||||
|             "ک" | ||||
|           ], | ||||
|           [ | ||||
|             "ط" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "ذ" | ||||
|           ], | ||||
|           [ | ||||
|             "ء" | ||||
|           ], | ||||
|           [ | ||||
|             "ؤ" | ||||
|           ], | ||||
|           [ | ||||
|             "ر" | ||||
|           ], | ||||
|           [ | ||||
|             "ى", | ||||
|             "ئ" | ||||
|           ], | ||||
|           [ | ||||
|             "ة" | ||||
|           ], | ||||
|           [ | ||||
|             "و" | ||||
|           ], | ||||
|           [ | ||||
|             "ز", | ||||
|             "ژ" | ||||
|           ], | ||||
|           [ | ||||
|             "ظ" | ||||
|           ], | ||||
|           [ | ||||
|             "د" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "،" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "\"", | ||||
|             "'", | ||||
|             "#", | ||||
|             "-", | ||||
|             ":", | ||||
|             "!", | ||||
|             "،", | ||||
|             "؟", | ||||
|             "@", | ||||
|             "&", | ||||
|             "%", | ||||
|             "+", | ||||
|             "؛", | ||||
|             "/", | ||||
|             ")", | ||||
|             "(" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "١", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "٢", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "٣", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "٤", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "٥", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "٦" | ||||
|           ], | ||||
|           [ | ||||
|             "٧", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "٨" | ||||
|           ], | ||||
|           [ | ||||
|             "٩" | ||||
|           ], | ||||
|           [ | ||||
|             "٠", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢", | ||||
|             "£", | ||||
|             "€", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "٪", | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "﴿", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             "﴾", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "★", | ||||
|             "٭" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             "؛", | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "؟", | ||||
|             "?" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "!", | ||||
|             ":", | ||||
|             "-", | ||||
|             "/", | ||||
|             "'", | ||||
|             "\"" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "¥" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "،", | ||||
|             "؟", | ||||
|             "؛", | ||||
|             "!", | ||||
|             ":", | ||||
|             "-", | ||||
|             "/", | ||||
|             "'", | ||||
|             "\"" | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "ٕ", | ||||
|             "ٔ", | ||||
|             "ْ", | ||||
|             "ٍ", | ||||
|             "ٌ", | ||||
|             "ً", | ||||
|             "ّ", | ||||
|             "ٖ", | ||||
|             "ٰ", | ||||
|             "ٓ", | ||||
|             "ِ", | ||||
|             "ُ", | ||||
|             "َ", | ||||
|             "ـ" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "ar", | ||||
|   "name": "Arabic" | ||||
| } | ||||
| @@ -1,584 +0,0 @@ | ||||
| { | ||||
|   "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)" | ||||
| } | ||||
| @@ -1,533 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,541 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,613 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,570 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,590 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,666 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,711 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,602 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,604 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,570 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,599 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,409 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,532 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,531 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,579 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,507 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,419 +0,0 @@ | ||||
| { | ||||
|   "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" | ||||
| } | ||||
| @@ -1,439 +0,0 @@ | ||||
| { | ||||
|   "levels": [ | ||||
|     { | ||||
|       "level": "", | ||||
|       "mode": "default", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "◌ौ" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ै" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ा" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ी" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ू" | ||||
|           ], | ||||
|           [ | ||||
|             "ब", | ||||
|             "ब॒", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "ह" | ||||
|           ], | ||||
|           [ | ||||
|             "ग", | ||||
|             "ज्ञ", | ||||
|             "ग़", | ||||
|             "ग॒", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "द" | ||||
|           ], | ||||
|           [ | ||||
|             "ज", | ||||
|             "ज॒", | ||||
|             "ज्ञ", | ||||
|             "ज़", | ||||
|             "%" | ||||
|           ], | ||||
|           [ | ||||
|             "ड", | ||||
|             "ड॒", | ||||
|             "ड़" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "◌ो" | ||||
|           ], | ||||
|           [ | ||||
|             "◌े" | ||||
|           ], | ||||
|           [ | ||||
|             "◌्" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ि" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ु" | ||||
|           ], | ||||
|           [ | ||||
|             "प" | ||||
|           ], | ||||
|           [ | ||||
|             "र", | ||||
|             "ऋ", | ||||
|             "ऱ", | ||||
|             "ॠ" | ||||
|           ], | ||||
|           [ | ||||
|             "क", | ||||
|             "क़" | ||||
|           ], | ||||
|           [ | ||||
|             "त", | ||||
|             "त्र" | ||||
|           ], | ||||
|           [ | ||||
|             "च" | ||||
|           ], | ||||
|           [ | ||||
|             "ट" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "◌ॉ" | ||||
|           ], | ||||
|           [ | ||||
|             "◌ं" | ||||
|           ], | ||||
|           [ | ||||
|             "म", | ||||
|             "ॐ" | ||||
|           ], | ||||
|           [ | ||||
|             "न", | ||||
|             "ञ", | ||||
|             "ङ", | ||||
|             "ऩ" | ||||
|           ], | ||||
|           [ | ||||
|             "व" | ||||
|           ], | ||||
|           [ | ||||
|             "ल", | ||||
|             "ऌ", | ||||
|             "ॡ" | ||||
|           ], | ||||
|           [ | ||||
|             "स" | ||||
|           ], | ||||
|           [ | ||||
|             "य", | ||||
|             "य़" | ||||
|           ], | ||||
|           [ | ||||
|             "◌़" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "#", | ||||
|             "!", | ||||
|             ",", | ||||
|             "?", | ||||
|             "-", | ||||
|             ":", | ||||
|             "'", | ||||
|             "@" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "१", | ||||
|             "¹", | ||||
|             "½", | ||||
|             "⅓", | ||||
|             "¼", | ||||
|             "⅛" | ||||
|           ], | ||||
|           [ | ||||
|             "२", | ||||
|             "²", | ||||
|             "⅔" | ||||
|           ], | ||||
|           [ | ||||
|             "३", | ||||
|             "³", | ||||
|             "¾", | ||||
|             "⅜" | ||||
|           ], | ||||
|           [ | ||||
|             "४", | ||||
|             "⁴" | ||||
|           ], | ||||
|           [ | ||||
|             "५", | ||||
|             "⅝" | ||||
|           ], | ||||
|           [ | ||||
|             "६" | ||||
|           ], | ||||
|           [ | ||||
|             "७", | ||||
|             "⅞" | ||||
|           ], | ||||
|           [ | ||||
|             "८" | ||||
|           ], | ||||
|           [ | ||||
|             "९" | ||||
|           ], | ||||
|           [ | ||||
|             "०", | ||||
|             "ⁿ", | ||||
|             "∅" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "@" | ||||
|           ], | ||||
|           [ | ||||
|             "#" | ||||
|           ], | ||||
|           [ | ||||
|             "₹", | ||||
|             "$", | ||||
|             "¢", | ||||
|             "€", | ||||
|             "£", | ||||
|             "¥", | ||||
|             "₱" | ||||
|           ], | ||||
|           [ | ||||
|             "%", | ||||
|             "‰" | ||||
|           ], | ||||
|           [ | ||||
|             "&" | ||||
|           ], | ||||
|           [ | ||||
|             "-", | ||||
|             "_", | ||||
|             "–", | ||||
|             "—", | ||||
|             "·" | ||||
|           ], | ||||
|           [ | ||||
|             "+", | ||||
|             "±" | ||||
|           ], | ||||
|           [ | ||||
|             "(", | ||||
|             "<", | ||||
|             "{", | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             ")", | ||||
|             ">", | ||||
|             "}", | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "*", | ||||
|             "†", | ||||
|             "‡", | ||||
|             "★" | ||||
|           ], | ||||
|           [ | ||||
|             "\"", | ||||
|             "“", | ||||
|             "”", | ||||
|             "«", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             "'", | ||||
|             "‘", | ||||
|             "’", | ||||
|             "‹", | ||||
|             "›" | ||||
|           ], | ||||
|           [ | ||||
|             ":" | ||||
|           ], | ||||
|           [ | ||||
|             ";" | ||||
|           ], | ||||
|           [ | ||||
|             "!", | ||||
|             "¡" | ||||
|           ], | ||||
|           [ | ||||
|             "?", | ||||
|             "¿" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "_" | ||||
|           ], | ||||
|           [ | ||||
|             "/" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "level": "opt+shift", | ||||
|       "mode": "locked", | ||||
|       "rows": [ | ||||
|         [ | ||||
|           [ | ||||
|             "~" | ||||
|           ], | ||||
|           [ | ||||
|             "`" | ||||
|           ], | ||||
|           [ | ||||
|             "|" | ||||
|           ], | ||||
|           [ | ||||
|             "•", | ||||
|             "♪", | ||||
|             "♥", | ||||
|             "♠", | ||||
|             "♦", | ||||
|             "♣" | ||||
|           ], | ||||
|           [ | ||||
|             "√" | ||||
|           ], | ||||
|           [ | ||||
|             "Π", | ||||
|             "π" | ||||
|           ], | ||||
|           [ | ||||
|             "÷" | ||||
|           ], | ||||
|           [ | ||||
|             "×" | ||||
|           ], | ||||
|           [ | ||||
|             "¶", | ||||
|             "§" | ||||
|           ], | ||||
|           [ | ||||
|             "∆" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "£" | ||||
|           ], | ||||
|           [ | ||||
|             "€" | ||||
|           ], | ||||
|           [ | ||||
|             "$", | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "¢" | ||||
|           ], | ||||
|           [ | ||||
|             "^", | ||||
|             "↑", | ||||
|             "↓", | ||||
|             "←", | ||||
|             "→" | ||||
|           ], | ||||
|           [ | ||||
|             "°", | ||||
|             "′", | ||||
|             "″" | ||||
|           ], | ||||
|           [ | ||||
|             "=", | ||||
|             "≠", | ||||
|             "≈", | ||||
|             "∞" | ||||
|           ], | ||||
|           [ | ||||
|             "{" | ||||
|           ], | ||||
|           [ | ||||
|             "}" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "\\" | ||||
|           ], | ||||
|           [ | ||||
|             "©" | ||||
|           ], | ||||
|           [ | ||||
|             "®" | ||||
|           ], | ||||
|           [ | ||||
|             "™" | ||||
|           ], | ||||
|           [ | ||||
|             "℅" | ||||
|           ], | ||||
|           [ | ||||
|             "[" | ||||
|           ], | ||||
|           [ | ||||
|             "]" | ||||
|           ] | ||||
|         ], | ||||
|         [ | ||||
|           [ | ||||
|             "<", | ||||
|             "‹", | ||||
|             "≤", | ||||
|             "«" | ||||
|           ], | ||||
|           [ | ||||
|             ">", | ||||
|             "›", | ||||
|             "≥", | ||||
|             "»" | ||||
|           ], | ||||
|           [ | ||||
|             " " | ||||
|           ], | ||||
|           [ | ||||
|             "," | ||||
|           ], | ||||
|           [ | ||||
|             ".", | ||||
|             "…" | ||||
|           ] | ||||
|         ] | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "locale": "hi", | ||||
|   "name": "Hindi" | ||||
| } | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user