Compare commits
	
		
			25 Commits
		
	
	
		
			3.30.2
			...
			wip/quadbu
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b80641f45d | ||
|   | e4e3252ffc | ||
|   | e9ae77186d | ||
|   | a0c146bbfd | ||
|   | 6d679148b6 | ||
|   | 07198c5890 | ||
|   | 4720bc3412 | ||
|   | 7113821964 | ||
|   | c2ae98209d | ||
|   | 21f0e422c0 | ||
|   | eb0f2b8b34 | ||
|   | 65e781a973 | ||
|   | 4590903159 | ||
|   | 8b6fcbea50 | ||
|   | c6067ffa1d | ||
|   | 7b4254da4e | ||
|   | 2f576e3076 | ||
|   | 60d7c3ad86 | ||
|   | 43fdc15ac0 | ||
|   | f082a58071 | ||
|   | ae5dfb5740 | ||
|   | e8fdba4f66 | ||
|   | 1030cdfe8a | ||
|   | ca2d626b59 | ||
|   | 2b4eaf6b3f | 
							
								
								
									
										39
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,21 +6,28 @@ | ||||
| ABOUT-NLS | ||||
| ChangeLog | ||||
| INSTALL | ||||
| Makefile | ||||
| Makefile.in | ||||
| aclocal.m4 | ||||
| autom4te.cache | ||||
| data/.osk-layout-workbench | ||||
| data/org.gnome.Shell.desktop | ||||
| data/org.gnome.Shell.desktop.in | ||||
| config.h | ||||
| config.h.in | ||||
| config.log | ||||
| config.status | ||||
| config | ||||
| configure | ||||
| data/50-gnome-shell-*.xml | ||||
| data/gnome-shell.desktop | ||||
| data/gnome-shell.desktop.in | ||||
| data/gnome-shell-wayland.desktop | ||||
| data/gnome-shell-wayland.desktop.in | ||||
| data/gnome-shell-extension-prefs.desktop | ||||
| data/gnome-shell-extension-prefs.desktop.in | ||||
| data/gnome-shell-theme.gresource | ||||
| data/gschemas.compiled | ||||
| data/perf-background.xml | ||||
| data/org.gnome.shell.gschema.xml | ||||
| data/org.gnome.shell.gschema.valid | ||||
| data/org.gnome.Shell.PortalHelper.desktop | ||||
| data/org.gnome.Shell.PortalHelper.service | ||||
| data/theme/.sass-cache | ||||
| data/org.gnome.shell.evolution.calendar.gschema.xml | ||||
| data/org.gnome.shell.evolution.calendar.gschema.valid | ||||
| docs/reference/*/*.args | ||||
| docs/reference/*/*.bak | ||||
| docs/reference/*/*.hierarchy | ||||
| @@ -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,18 +68,22 @@ 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/evolution-calendar.desktop.in | ||||
| src/calendar-server/org.gnome.Shell.CalendarServer.service | ||||
| src/gnome-shell | ||||
| src/gnome-shell-calendar-server | ||||
| src/gnome-shell-extension-prefs | ||||
| src/gnome-shell-extension-tool | ||||
| src/gnome-shell-hotplug-sniffer | ||||
| src/gnome-shell-jhbuild | ||||
| src/gnome-shell-perf-helper | ||||
| src/gnome-shell-perf-tool | ||||
| src/gnome-shell-portal-helper | ||||
| src/gnome-shell-real | ||||
| src/gnome-shell-wayland | ||||
| src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service | ||||
| src/org-gtk-application.[ch] | ||||
| src/run-js-test | ||||
| src/test-recorder | ||||
| src/test-recorder.ogg | ||||
| @@ -77,6 +95,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? | ||||
|   | ||||
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,3 @@ | ||||
| [submodule "subprojects/gvc"] | ||||
| 	path = subprojects/gvc | ||||
| 	url = https://gitlab.gnome.org/GNOME/libgnome-volume-control.git | ||||
| [submodule "src/gvc"] | ||||
| 	path = src/gvc | ||||
| 	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({ | ||||
| 
 | ||||
|     const 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({ | ||||
| 
 | ||||
|     const 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({ | ||||
| 
 | ||||
|     const 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() { | ||||
|     const MyClass = new Lang.Class({ | ||||
|         _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({ | ||||
|     const ANIMATION_TIME = 2000; | ||||
| 
 | ||||
|     const 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 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 | ||||
| @@ -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 | ||||
							
								
								
									
										29
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| #!/bin/sh | ||||
| # Run this to generate all the initial makefiles, etc. | ||||
|  | ||||
| srcdir=`dirname $0` | ||||
| test -z "$srcdir" && srcdir=. | ||||
|  | ||||
| PKG_NAME="gnome-shell" | ||||
|  | ||||
| (test -f $srcdir/configure.ac \ | ||||
|   && test -d $srcdir/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 src/gvc/Makefile.am; | ||||
| then | ||||
|   echo "+ Setting up submodules" | ||||
|   git submodule init | ||||
| fi | ||||
| git submodule update | ||||
|  | ||||
| which gnome-autogen.sh || { | ||||
|     echo "You need to install gnome-common from GNOME Git (or from" | ||||
|     echo "your OS vendor's package manager)." | ||||
|     exit 1 | ||||
| } | ||||
| USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh | ||||
							
								
								
									
										20
									
								
								browser-plugin/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								browser-plugin/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
|  | ||||
| mozillalibdir = $(BROWSER_PLUGIN_DIR) | ||||
|  | ||||
| mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la | ||||
|  | ||||
| libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined | ||||
|  | ||||
| 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 | ||||
| @@ -33,16 +33,20 @@ | ||||
| #include <json-glib/json-glib.h> | ||||
|  | ||||
| #define ORIGIN "extensions.gnome.org" | ||||
| #define PLUGIN_NAME "GNOME Shell Integration" | ||||
| #define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \ | ||||
| #define PLUGIN_NAME "Gnome Shell Integration" | ||||
| #define PLUGIN_DESCRIPTION "This plugin provides integration with Gnome Shell " \ | ||||
|       "for live extension enabling and disabling. " \ | ||||
|       "It can be used only by extensions.gnome.org" | ||||
| #define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type"; | ||||
| #define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type"; | ||||
|  | ||||
| #define PLUGIN_API_VERSION 5 | ||||
|  | ||||
| #define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation" | ||||
|  | ||||
| typedef struct { | ||||
|   GDBusProxy *proxy; | ||||
| } PluginData; | ||||
|  | ||||
| static NPNetscapeFuncs funcs; | ||||
|  | ||||
| static inline gchar * | ||||
| @@ -141,6 +145,121 @@ check_origin_and_protocol (NPP instance) | ||||
|   return ret; | ||||
| } | ||||
|  | ||||
| /* =============== public entry points =================== */ | ||||
|  | ||||
| NPError | ||||
| NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin) | ||||
| { | ||||
|   /* global initialization routine, called once when plugin | ||||
|      is loaded */ | ||||
|  | ||||
|   g_debug ("plugin loaded"); | ||||
|  | ||||
|   memcpy (&funcs, pfuncs, sizeof (funcs)); | ||||
|  | ||||
|   plugin->size = sizeof(NPPluginFuncs); | ||||
|   plugin->newp = NPP_New; | ||||
|   plugin->destroy = NPP_Destroy; | ||||
|   plugin->getvalue = NPP_GetValue; | ||||
|   plugin->setwindow = NPP_SetWindow; | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NP_Shutdown(void) | ||||
| { | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| const char* | ||||
| NP_GetMIMEDescription(void) | ||||
| { | ||||
|   return PLUGIN_MIME_STRING; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NP_GetValue(void         *instance, | ||||
|             NPPVariable   variable, | ||||
|             void         *value) | ||||
| { | ||||
|   switch (variable) { | ||||
|   case NPPVpluginNameString: | ||||
|     *(char**)value = PLUGIN_NAME; | ||||
|     break; | ||||
|   case NPPVpluginDescriptionString: | ||||
|     *(char**)value = PLUGIN_DESCRIPTION; | ||||
|     break; | ||||
|   default: | ||||
|     ; | ||||
|   } | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NPP_New(NPMIMEType    mimetype, | ||||
|         NPP           instance, | ||||
|         uint16_t      mode, | ||||
|         int16_t       argc, | ||||
|         char        **argn, | ||||
|         char        **argv, | ||||
|         NPSavedData  *saved) | ||||
| { | ||||
|   /* instance initialization function */ | ||||
|   PluginData *data; | ||||
|   GError *error = NULL; | ||||
|  | ||||
|   g_debug ("plugin created"); | ||||
|  | ||||
|   if (!check_origin_and_protocol (instance)) | ||||
|     return NPERR_GENERIC_ERROR; | ||||
|  | ||||
|   data = g_slice_new (PluginData); | ||||
|   instance->pdata = data; | ||||
|  | ||||
|   data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, | ||||
|                                                G_DBUS_PROXY_FLAGS_NONE, | ||||
|                                                NULL, /* interface info */ | ||||
|                                                "org.gnome.Shell", | ||||
|                                                "/org/gnome/Shell", | ||||
|                                                "org.gnome.Shell.Extensions", | ||||
|                                                NULL, /* GCancellable */ | ||||
|                                                &error); | ||||
|   if (!data->proxy) | ||||
|     { | ||||
|       /* ignore error if the shell is not running, otherwise warn */ | ||||
|       if (error->domain != G_DBUS_ERROR || | ||||
|           error->code != G_DBUS_ERROR_NAME_HAS_NO_OWNER) | ||||
|         { | ||||
|           g_warning ("Failed to set up Shell proxy: %s", error->message); | ||||
|         } | ||||
|       g_clear_error (&error); | ||||
|       return NPERR_GENERIC_ERROR; | ||||
|     } | ||||
|  | ||||
|   g_debug ("plugin created successfully"); | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NPP_Destroy(NPP           instance, | ||||
| 	    NPSavedData **saved) | ||||
| { | ||||
|   /* instance finalization function */ | ||||
|  | ||||
|   PluginData *data = instance->pdata; | ||||
|  | ||||
|   g_debug ("plugin destroyed"); | ||||
|  | ||||
|   g_object_unref (data->proxy); | ||||
|  | ||||
|   g_slice_free (PluginData, data); | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| /* =================== scripting interface =================== */ | ||||
|  | ||||
| typedef struct { | ||||
| @@ -211,18 +330,45 @@ static NPObject * | ||||
| plugin_object_allocate (NPP      instance, | ||||
|                         NPClass *klass) | ||||
| { | ||||
|   PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject)); | ||||
|   PluginData *data = instance->pdata; | ||||
|   PluginObject *obj = g_slice_new0 (PluginObject); | ||||
|  | ||||
|   memset (obj, 0, sizeof (PluginObject)); | ||||
|   obj->instance = instance; | ||||
|   obj->proxy = g_object_ref (data->proxy); | ||||
|   obj->settings = g_settings_new (SHELL_SCHEMA); | ||||
|   obj->signal_id = g_signal_connect (obj->proxy, "g-signal", | ||||
|                                      G_CALLBACK (on_shell_signal), obj); | ||||
|  | ||||
|   return (NPObject*) obj; | ||||
|   obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION, | ||||
|                                          "org.gnome.Shell", | ||||
|                                          G_BUS_NAME_WATCHER_FLAGS_NONE, | ||||
|                                          on_shell_appeared, | ||||
|                                          NULL, | ||||
|                                          obj, | ||||
|                                          NULL); | ||||
|  | ||||
|   g_debug ("plugin object created"); | ||||
|  | ||||
|   return (NPObject*)obj; | ||||
| } | ||||
|  | ||||
| static void | ||||
| plugin_object_deallocate (NPObject *npobj) | ||||
| { | ||||
|   funcs.memfree (npobj); | ||||
|   PluginObject *obj = (PluginObject*)npobj; | ||||
|  | ||||
|   g_signal_handler_disconnect (obj->proxy, obj->signal_id); | ||||
|   g_object_unref (obj->proxy); | ||||
|  | ||||
|   if (obj->listener) | ||||
|     funcs.releaseobject (obj->listener); | ||||
|  | ||||
|   if (obj->watch_name_id) | ||||
|     g_bus_unwatch_name (obj->watch_name_id); | ||||
|  | ||||
|   g_debug ("plugin object destroyed"); | ||||
|  | ||||
|   g_slice_free (PluginObject, obj); | ||||
| } | ||||
|  | ||||
| static inline gboolean | ||||
| @@ -873,149 +1019,6 @@ init_methods_and_properties (void) | ||||
|   onextension_changed_id = funcs.getstringidentifier ("onchange"); | ||||
| } | ||||
|  | ||||
| /* =============== public entry points =================== */ | ||||
|  | ||||
| NPError | ||||
| NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin) | ||||
| { | ||||
|   /* global initialization routine, called once when plugin | ||||
|      is loaded */ | ||||
|  | ||||
|   g_debug ("plugin loaded"); | ||||
|  | ||||
|   memcpy (&funcs, pfuncs, sizeof (funcs)); | ||||
|  | ||||
|   plugin->size = sizeof(NPPluginFuncs); | ||||
|   plugin->newp = NPP_New; | ||||
|   plugin->destroy = NPP_Destroy; | ||||
|   plugin->getvalue = NPP_GetValue; | ||||
|   plugin->setwindow = NPP_SetWindow; | ||||
|   plugin->event = NPP_HandleEvent; | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NP_Shutdown(void) | ||||
| { | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| const char* | ||||
| NP_GetMIMEDescription(void) | ||||
| { | ||||
|   return PLUGIN_MIME_STRING; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NP_GetValue(void         *instance, | ||||
|             NPPVariable   variable, | ||||
|             void         *value) | ||||
| { | ||||
|   switch (variable) { | ||||
|   case NPPVpluginNameString: | ||||
|     *(char**)value = PLUGIN_NAME; | ||||
|     break; | ||||
|   case NPPVpluginDescriptionString: | ||||
|     *(char**)value = PLUGIN_DESCRIPTION; | ||||
|     break; | ||||
|   default: | ||||
|     ; | ||||
|   } | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NPP_New(NPMIMEType    mimetype, | ||||
|         NPP           instance, | ||||
|         uint16_t      mode, | ||||
|         int16_t       argc, | ||||
|         char        **argn, | ||||
|         char        **argv, | ||||
|         NPSavedData  *saved) | ||||
| { | ||||
|   /* instance initialization function */ | ||||
|   PluginObject *obj; | ||||
|   GError *error = NULL; | ||||
|  | ||||
|   g_debug ("plugin created"); | ||||
|  | ||||
|   if (!check_origin_and_protocol (instance)) | ||||
|     return NPERR_GENERIC_ERROR; | ||||
|  | ||||
|   /* set windowless mode */ | ||||
|   funcs.setvalue(instance, NPPVpluginWindowBool, NULL); | ||||
|  | ||||
|   g_debug ("creating scriptable object"); | ||||
|   init_methods_and_properties (); | ||||
|   obj = (PluginObject *) funcs.createobject (instance, &plugin_class); | ||||
|   instance->pdata = obj; | ||||
|  | ||||
|   obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, | ||||
|                                               G_DBUS_PROXY_FLAGS_NONE, | ||||
|                                               NULL, /* interface info */ | ||||
|                                               "org.gnome.Shell", | ||||
|                                               "/org/gnome/Shell", | ||||
|                                               "org.gnome.Shell.Extensions", | ||||
|                                               NULL, /* GCancellable */ | ||||
|                                               &error); | ||||
|   if (!obj->proxy) | ||||
|     { | ||||
|       /* ignore error if the shell is not running, otherwise warn */ | ||||
|       if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER)) | ||||
|         { | ||||
|           g_warning ("Failed to set up Shell proxy: %s", error->message); | ||||
|         } | ||||
|       g_clear_error (&error); | ||||
|       return NPERR_GENERIC_ERROR; | ||||
|     } | ||||
|  | ||||
|   obj->settings = g_settings_new (SHELL_SCHEMA); | ||||
|   obj->signal_id = g_signal_connect (obj->proxy, "g-signal", | ||||
|                                      G_CALLBACK (on_shell_signal), obj); | ||||
|   obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION, | ||||
|                                          "org.gnome.Shell", | ||||
|                                          G_BUS_NAME_WATCHER_FLAGS_NONE, | ||||
|                                          on_shell_appeared, | ||||
|                                          NULL, | ||||
|                                          obj, | ||||
|                                          NULL); | ||||
|  | ||||
|   g_debug ("plugin created successfully"); | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NPP_Destroy(NPP           instance, | ||||
| 	    NPSavedData **saved) | ||||
| { | ||||
|   /* instance finalization function */ | ||||
|   PluginObject *obj = (PluginObject *) instance->pdata; | ||||
|  | ||||
|   if (!obj) | ||||
|     return NPERR_INVALID_INSTANCE_ERROR; | ||||
|  | ||||
|   g_debug ("plugin destroyed"); | ||||
|  | ||||
|   g_signal_handler_disconnect (obj->proxy, obj->signal_id); | ||||
|   g_object_unref (obj->proxy); | ||||
|  | ||||
|   if (obj->listener) | ||||
|     funcs.releaseobject (obj->listener); | ||||
|  | ||||
|   if (obj->restart_listener) | ||||
|     funcs.releaseobject (obj->restart_listener); | ||||
|  | ||||
|   if (obj->watch_name_id) | ||||
|     g_bus_unwatch_name (obj->watch_name_id); | ||||
|  | ||||
|   funcs.releaseobject((NPObject *)obj); | ||||
|  | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| NPError | ||||
| NPP_GetValue(NPP          instance, | ||||
| 	     NPPVariable  variable, | ||||
| @@ -1026,11 +1029,13 @@ NPP_GetValue(NPP          instance, | ||||
|   switch (variable) { | ||||
|   case NPPVpluginScriptableNPObject: | ||||
|     g_debug ("creating scriptable object"); | ||||
|     if (!instance->pdata) | ||||
|       return NPERR_INVALID_INSTANCE_ERROR; | ||||
|     init_methods_and_properties (); | ||||
|  | ||||
|     funcs.retainobject (instance->pdata); | ||||
|     *(NPObject**)value = instance->pdata; | ||||
|     *(NPObject**)value = funcs.createobject (instance, &plugin_class); | ||||
|     break; | ||||
|  | ||||
|   case NPPVpluginNeedsXEmbed: | ||||
|     *(bool *)value = TRUE; | ||||
|     break; | ||||
|  | ||||
|   default: | ||||
| @@ -1048,11 +1053,3 @@ NPP_SetWindow(NPP          instance, | ||||
| { | ||||
|   return NPERR_NO_ERROR; | ||||
| } | ||||
|  | ||||
| int16_t | ||||
| NPP_HandleEvent(NPP   instance, | ||||
|                 void *event) | ||||
| { | ||||
|   /* Ignore the event */ | ||||
|   return FALSE; | ||||
| } | ||||
|   | ||||
| @@ -1,19 +0,0 @@ | ||||
| plugin_sources = [ | ||||
|   'browser-plugin.c', | ||||
|   'npapi/npapi.h', | ||||
|   'npapi/npfunctions.h', | ||||
|   'npapi/npruntime.h', | ||||
|   'npapi/nptypes.h' | ||||
| ] | ||||
|  | ||||
| shared_module('gnome-shell-browser-plugin', plugin_sources, | ||||
|   dependencies: [gio_dep, json_glib_dep], | ||||
|   c_args: ['-DG_LOG_DOMAIN="GnomeShellBrowserPlugin"'], | ||||
|   # 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. See https://bugzilla.gnome.org/show_bug.cgi?id=737932. | ||||
|   link_args: ['-Wl,-z,nodelete'], | ||||
|   install: true, | ||||
|   install_dir: plugindir | ||||
| ) | ||||
| @@ -1,32 +0,0 @@ | ||||
| /* The prefix for our gettext translation domains. */ | ||||
| #mesondefine GETTEXT_PACKAGE | ||||
|  | ||||
| /* Version number of package */ | ||||
| #mesondefine VERSION | ||||
|  | ||||
| /* Version number of package */ | ||||
| #mesondefine PACKAGE_VERSION | ||||
|  | ||||
| /* Define to 1 if you have the `fdwalk' function. */ | ||||
| #mesondefine HAVE_FDWALK | ||||
|  | ||||
| /* Define to 1 if you have the `mallinfo' function. */ | ||||
| #mesondefine HAVE_MALLINFO | ||||
|  | ||||
| /* Define to 1 fi you have the <sys/resource.h> header file. */ | ||||
| #mesondefine HAVE_SYS_RESOURCE_H | ||||
|  | ||||
| /* Define if we have NetworkManager */ | ||||
| #mesondefine HAVE_NETWORKMANAGER | ||||
|  | ||||
| /* Define if we have systemd */ | ||||
| #mesondefine HAVE_SYSTEMD | ||||
|  | ||||
| /* 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 | ||||
							
								
								
									
										267
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										267
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,267 @@ | ||||
| AC_PREREQ(2.63) | ||||
| AC_INIT([gnome-shell],[3.12.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
|  | ||||
| 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 | ||||
| AC_PROG_CXX | ||||
|  | ||||
| # Initialize libtool | ||||
| LT_PREREQ([2.2.6]) | ||||
| LT_INIT([disable-static]) | ||||
|  | ||||
| # i18n | ||||
| IT_PROG_INTLTOOL([0.40]) | ||||
|  | ||||
| GETTEXT_PACKAGE=gnome-shell | ||||
| AC_SUBST(GETTEXT_PACKAGE) | ||||
| AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", | ||||
|                    [The prefix for our gettext translation domains.]) | ||||
|  | ||||
| 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([2.5]) | ||||
| AC_SUBST(PYTHON) | ||||
|  | ||||
| # 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" | ||||
|    PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules clutter-1.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-journal]) | ||||
|   PKG_CHECK_EXISTS([libsystemd-journal], | ||||
|                    [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) | ||||
|  | ||||
| CLUTTER_MIN_VERSION=1.15.90 | ||||
| GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 | ||||
| GJS_MIN_VERSION=1.39.0 | ||||
| MUTTER_MIN_VERSION=3.12.1 | ||||
| GTK_MIN_VERSION=3.7.9 | ||||
| GIO_MIN_VERSION=2.37.0 | ||||
| LIBECAL_MIN_VERSION=3.5.3 | ||||
| LIBEDATASERVER_MIN_VERSION=3.5.3 | ||||
| TELEPATHY_GLIB_MIN_VERSION=0.17.5 | ||||
| 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-internals-1.0 >= $GJS_MIN_VERSION | ||||
|             $recorder_modules | ||||
|             gdk-x11-3.0 libsoup-2.4 | ||||
|             xtst | ||||
|             clutter-x11-1.0 >= $CLUTTER_MIN_VERSION | ||||
|             clutter-glx-1.0 >= $CLUTTER_MIN_VERSION | ||||
|             libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION | ||||
|             gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION | ||||
|             libcanberra libcanberra-gtk3 | ||||
|             telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION | ||||
|             polkit-agent-1 >= $POLKIT_MIN_VERSION | ||||
|             gcr-base-3 >= $GCR_MIN_VERSION" | ||||
| if test x$have_systemd = xyes; then | ||||
|   SHARED_PCS="${SHARED_PCS} libsystemd-journal" | ||||
| fi | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) | ||||
| PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION) | ||||
| PKG_CHECK_MODULES(MUTTER_WAYLAND, [libmutter-wayland >= $MUTTER_MIN_VERSION], | ||||
|                  [MUTTER_WAYLAND_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter-wayland` | ||||
|                   AC_SUBST(MUTTER_WAYLAND_TYPELIB_DIR) | ||||
|                   have_mutter_wayland=yes], | ||||
|                  [have_mutter_wayland=no]) | ||||
|  | ||||
| AM_CONDITIONAL(HAVE_MUTTER_WAYLAND, test $have_mutter_wayland != no) | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION) | ||||
| PKG_CHECK_MODULES(ST, clutter-1.0 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, 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.7.4) | ||||
| PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8) | ||||
|  | ||||
| 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) | ||||
|  | ||||
| GJS_CONSOLE=`$PKG_CONFIG --variable=gjs_console gjs-1.0` | ||||
| AC_SUBST(GJS_CONSOLE) | ||||
|  | ||||
| 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-unstable], | ||||
|                      [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) | ||||
|  | ||||
| GNOME_COMPILE_WARNINGS([error]) | ||||
|  | ||||
| BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}" | ||||
| AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to]) | ||||
|  | ||||
| AC_CONFIG_FILES([ | ||||
|   Makefile | ||||
|   data/Makefile | ||||
|   docs/Makefile | ||||
|   docs/reference/Makefile | ||||
|   docs/reference/shell/Makefile | ||||
|   docs/reference/shell/shell-docs.sgml | ||||
|   docs/reference/st/Makefile | ||||
|   docs/reference/st/st-docs.sgml | ||||
|   js/Makefile | ||||
|   src/calendar-server/evolution-calendar.desktop.in | ||||
|   src/Makefile | ||||
|   src/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:                      $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 | ||||
| @@ -1,24 +1,24 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" ?> | ||||
| <KeyListEntries schema="org.gnome.shell.keybindings" | ||||
|                 group="system" | ||||
|                 name="System" | ||||
|                 _name="System" | ||||
|                 wm_name="GNOME Shell" | ||||
|                 package="gnome-shell"> | ||||
| 
 | ||||
| 	<KeyListEntry name="toggle-message-tray" | ||||
|                       description="Show the notification list"/> | ||||
|                       _description="Show the message tray"/> | ||||
| 
 | ||||
| 	<KeyListEntry name="focus-active-notification" | ||||
|                       description="Focus the active notification"/> | ||||
|                       _description="Focus the active notification"/> | ||||
| 
 | ||||
| 	<KeyListEntry name="toggle-overview" | ||||
|                       description="Show the overview"/> | ||||
|                       _description="Show the overview"/> | ||||
| 
 | ||||
| 	<KeyListEntry name="toggle-application-view" | ||||
|                       description="Show all applications"/> | ||||
|                       _description="Show all applications"/> | ||||
| 
 | ||||
| 	<KeyListEntry name="open-application-menu" | ||||
|                       description="Open the application menu"/> | ||||
|                       _description="Open the application menu"/> | ||||
| 
 | ||||
| </KeyListEntries> | ||||
| 
 | ||||
							
								
								
									
										107
									
								
								data/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								data/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| desktopdir=$(datadir)/applications | ||||
| desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop | ||||
| if HAVE_MUTTER_WAYLAND | ||||
| desktop_DATA += gnome-shell-wayland.desktop | ||||
| endif HAVE_MUTTER_WAYLAND | ||||
|  | ||||
|  | ||||
| # 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 $@ | ||||
|  | ||||
| @INTLTOOL_DESKTOP_RULE@ | ||||
|  | ||||
| introspectiondir = $(datadir)/dbus-1/interfaces | ||||
| introspection_DATA =				\ | ||||
| 	org.gnome.Shell.Screencast.xml		\ | ||||
| 	org.gnome.Shell.Screenshot.xml		\ | ||||
| 	org.gnome.ShellSearchProvider.xml	\ | ||||
| 	org.gnome.ShellSearchProvider2.xml | ||||
|  | ||||
| themedir = $(pkgdatadir)/theme | ||||
| dist_theme_DATA =				\ | ||||
| 	theme/calendar-arrow-left.svg		\ | ||||
| 	theme/calendar-arrow-right.svg		\ | ||||
| 	theme/calendar-today.svg		\ | ||||
| 	theme/checkbox-focused.svg		\ | ||||
| 	theme/checkbox-off-focused.svg		\ | ||||
| 	theme/checkbox-off.svg			\ | ||||
| 	theme/checkbox.svg			\ | ||||
| 	theme/close-window.svg			\ | ||||
| 	theme/close.svg				\ | ||||
| 	theme/corner-ripple-ltr.png		\ | ||||
| 	theme/corner-ripple-rtl.png		\ | ||||
| 	theme/dash-placeholder.svg		\ | ||||
| 	theme/filter-selected-ltr.svg		\ | ||||
| 	theme/filter-selected-rtl.svg		\ | ||||
| 	theme/gnome-shell.css			\ | ||||
| 	theme/logged-in-indicator.svg		\ | ||||
| 	theme/menu-arrow-symbolic.svg		    \ | ||||
| 	theme/message-tray-background.png	\ | ||||
| 	theme/more-results.svg			\ | ||||
| 	theme/noise-texture.png			\ | ||||
| 	theme/page-indicator-active.svg		\ | ||||
| 	theme/page-indicator-inactive.svg	\ | ||||
| 	theme/page-indicator-checked.svg	\ | ||||
| 	theme/page-indicator-hover.svg		\ | ||||
| 	theme/panel-button-border.svg		\ | ||||
| 	theme/panel-button-highlight-narrow.svg	\ | ||||
| 	theme/panel-button-highlight-wide.svg	\ | ||||
| 	theme/process-working.svg		\ | ||||
| 	theme/running-indicator.svg		\ | ||||
| 	theme/source-button-border.svg		\ | ||||
| 	theme/summary-counter.svg		\ | ||||
| 	theme/toggle-off-us.svg			\ | ||||
| 	theme/toggle-off-intl.svg		\ | ||||
| 	theme/toggle-on-us.svg			\ | ||||
| 	theme/toggle-on-intl.svg		\ | ||||
| 	theme/ws-switch-arrow-up.png		\ | ||||
| 	theme/ws-switch-arrow-down.png | ||||
|  | ||||
| keysdir = @GNOME_KEYBINDINGS_KEYSDIR@ | ||||
| keys_in_files = 50-gnome-shell-system.xml.in | ||||
| keys_DATA = $(keys_in_files:.xml.in=.xml) | ||||
|  | ||||
| gsettings_SCHEMAS = org.gnome.shell.gschema.xml | ||||
|  | ||||
| @INTLTOOL_XML_NOMERGE_RULE@ | ||||
|  | ||||
| %.gschema.xml.in: %.gschema.xml.in.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 =						\ | ||||
| 	gnome-shell.desktop.in.in			\ | ||||
| 	gnome-shell-wayland.desktop.in.in		\ | ||||
| 	gnome-shell-extension-prefs.desktop.in.in	\ | ||||
| 	$(introspection_DATA)				\ | ||||
| 	$(menu_DATA)					\ | ||||
| 	$(convert_DATA)					\ | ||||
| 	$(keys_in_files)				\ | ||||
| 	org.gnome.shell.gschema.xml.in.in | ||||
|  | ||||
| CLEANFILES =						\ | ||||
| 	gnome-shell.desktop.in				\ | ||||
| 	gnome-shell-wayland.desktop.in			\ | ||||
| 	gnome-shell-extension-prefs.in			\ | ||||
| 	$(desktop_DATA)					\ | ||||
| 	$(keys_DATA)					\ | ||||
| 	$(gsettings_SCHEMAS)				\ | ||||
| 	gschemas.compiled				\ | ||||
| 	org.gnome.shell.gschema.valid			\ | ||||
| 	org.gnome.shell.gschema.xml.in | ||||
| @@ -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,28 +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.PadOSD: | ||||
|       @short_description: Pad OSD interface | ||||
|  | ||||
|       The interface used to show button map OSD on pad devices. | ||||
|   --> | ||||
|   <interface name='org.gnome.Shell.Wacom.PadOsd'> | ||||
|  | ||||
|     <!-- | ||||
|         Show: | ||||
|         @device_node: device node file, usually in /dev/input/... | ||||
|         @edition_mode: whether toggling edition mode on when showing | ||||
|  | ||||
|         Shows the pad button map OSD for the requested device, the OSD | ||||
| 	will be shown according the current device settings (output | ||||
| 	mapping, left handed mode, ...) | ||||
|     --> | ||||
|     <method name='Show'> | ||||
|       <arg name='device_node' direction='in' type='o'/> | ||||
|       <arg name='edition_mode' direction='in' type='b'/> | ||||
|     </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,7 +1,7 @@ | ||||
| [Desktop Entry] | ||||
| Type=Application | ||||
| Name=Shell Extensions | ||||
| Comment=Configure GNOME Shell Extensions | ||||
| _Name=GNOME Shell Extension Preferences | ||||
| _Comment=Configure GNOME Shell Extensions | ||||
| Exec=@bindir@/gnome-shell-extension-prefs %u | ||||
| X-GNOME-Bugzilla-Bugzilla=GNOME | ||||
| X-GNOME-Bugzilla-Product=gnome-shell | ||||
|   | ||||
| @@ -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 | ||||
| @@ -1,4 +1,5 @@ | ||||
| [org.gnome.shell.overrides] | ||||
| attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs | ||||
| button-layout = /desktop/gnome/shell/windows/button_layout | ||||
| edge-tiling = /desktop/gnome/shell/windows/edge_tiling | ||||
| workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary | ||||
|   | ||||
| @@ -1,42 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <gresources> | ||||
|   <gresource prefix="/org/gnome/shell/theme"> | ||||
|     <file>calendar-arrow-left.svg</file> | ||||
|     <file>calendar-arrow-right.svg</file> | ||||
|     <file>calendar-today.svg</file> | ||||
|     <file>checkbox-focused.svg</file> | ||||
|     <file>checkbox-off-focused.svg</file> | ||||
|     <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>corner-ripple-ltr.png</file> | ||||
|     <file>corner-ripple-rtl.png</file> | ||||
|     <file>dash-placeholder.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>no-events.svg</file> | ||||
|     <file>no-notifications.svg</file> | ||||
|     <file>noise-texture.png</file> | ||||
|     <file>pad-osd.css</file> | ||||
|     <file>page-indicator-active.svg</file> | ||||
|     <file>page-indicator-inactive.svg</file> | ||||
|     <file>page-indicator-checked.svg</file> | ||||
|     <file>page-indicator-hover.svg</file> | ||||
|     <file>process-working.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> | ||||
|   </gresource> | ||||
| </gresources> | ||||
							
								
								
									
										15
									
								
								data/gnome-shell-wayland.desktop.in.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								data/gnome-shell-wayland.desktop.in.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| [Desktop Entry] | ||||
| Type=Application | ||||
| _Name=GNOME Shell (wayland compositor) | ||||
| _Comment=Window management and application launching | ||||
| Exec=@bindir@/mutter-launch -- gnome-shell-wayland --wayland --display-server | ||||
| X-GNOME-Bugzilla-Bugzilla=GNOME | ||||
| X-GNOME-Bugzilla-Product=gnome-shell | ||||
| X-GNOME-Bugzilla-Component=general | ||||
| X-GNOME-Bugzilla-Version=@VERSION@ | ||||
| Categories=GNOME;GTK;Core; | ||||
| OnlyShowIn=GNOME; | ||||
| NoDisplay=true | ||||
| X-GNOME-Autostart-Phase=DisplayServer | ||||
| X-GNOME-Autostart-Notify=true | ||||
| X-GNOME-AutoRestart=false | ||||
| @@ -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,7 +1,7 @@ | ||||
| [Desktop Entry] | ||||
| Type=Application | ||||
| Name=GNOME Shell | ||||
| Comment=Window management and application launching | ||||
| _Name=GNOME Shell | ||||
| _Comment=Window management and application launching | ||||
| Exec=@bindir@/gnome-shell | ||||
| X-GNOME-Bugzilla-Bugzilla=GNOME | ||||
| X-GNOME-Bugzilla-Product=gnome-shell | ||||
| @@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@ | ||||
| Categories=GNOME;GTK;Core; | ||||
| OnlyShowIn=GNOME; | ||||
| NoDisplay=true | ||||
| X-GNOME-Autostart-Phase=DisplayServer | ||||
| X-GNOME-Autostart-Phase=WindowManager | ||||
| X-GNOME-Provides=panel;windowmanager; | ||||
| X-GNOME-Autostart-Notify=true | ||||
| X-GNOME-AutoRestart=false | ||||
| @@ -1,4 +0,0 @@ | ||||
| [portal] | ||||
| DBusName=org.freedesktop.impl.portal.desktop.gnome | ||||
| Interfaces=org.freedesktop.impl.portal.Access | ||||
| UseIn=gnome | ||||
| @@ -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 | ||||
							
								
								
									
										121
									
								
								data/meson.build
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								data/meson.build
									
									
									
									
									
								
							| @@ -1,121 +0,0 @@ | ||||
| desktop_files = [ | ||||
|   'org.gnome.Shell.desktop', | ||||
|   'gnome-shell-extension-prefs.desktop' | ||||
| ] | ||||
| service_files = [] | ||||
|  | ||||
| if have_networkmanager | ||||
|   desktop_files += 'org.gnome.Shell.PortalHelper.desktop' | ||||
|   service_files += 'org.gnome.Shell.PortalHelper.service' | ||||
| endif | ||||
|  | ||||
| desktopconf = configuration_data() | ||||
| # We substitute in bindir so it works as an autostart | ||||
| # file when built in a non-system prefix | ||||
| desktopconf.set('bindir', bindir) | ||||
| desktopconf.set('VERSION', meson.project_version()) | ||||
| foreach desktop_file : desktop_files | ||||
|   i18n.merge_file('desktop', | ||||
|     input: configure_file( | ||||
|       input: desktop_file + '.in.in', | ||||
|       output: desktop_file + '.in', | ||||
|       configuration: desktopconf | ||||
|     ), | ||||
|     output: desktop_file, | ||||
|     po_dir: '../po', | ||||
|     install: true, | ||||
|     install_dir: desktopdir, | ||||
|     type: 'desktop' | ||||
|   ) | ||||
| endforeach | ||||
|  | ||||
| serviceconf = configuration_data() | ||||
| serviceconf.set('libexecdir', libexecdir) | ||||
| foreach service_file : service_files | ||||
|   configure_file( | ||||
|     input: service_file + '.in', | ||||
|     output: service_file, | ||||
|     configuration: serviceconf, | ||||
|     install_dir: servicedir | ||||
|   ) | ||||
| endforeach | ||||
|  | ||||
|  | ||||
| subdir('dbus-interfaces') | ||||
| 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 | ||||
|  | ||||
| perfconf = configuration_data() | ||||
| perfconf.set('datadir', datadir) | ||||
| configure_file( | ||||
|   input: 'perf-background.xml.in', | ||||
|   output: 'perf-background.xml', | ||||
|   configuration: perfconf, | ||||
|   install_dir: pkgdatadir | ||||
| ) | ||||
|  | ||||
|  | ||||
| install_data('gnome-shell.portal', install_dir: portaldir) | ||||
| install_data('50-gnome-shell-system.xml', install_dir: keysdir) | ||||
|  | ||||
|  | ||||
| schemaconf = configuration_data() | ||||
| schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) | ||||
| schema = 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) | ||||
| @@ -1,10 +0,0 @@ | ||||
| [Desktop Entry] | ||||
| Name=Network Login | ||||
| Type=Application | ||||
| Exec=gapplication launch org.gnome.Shell.PortalHelper | ||||
| DBusActivatable=true | ||||
| NoDisplay=true | ||||
| # Translators: Do NOT translate or transliterate this text (this is an icon file name)! | ||||
| Icon=network-workgroup | ||||
| StartupNotify=true | ||||
| OnlyShowIn=GNOME; | ||||
| @@ -1,3 +0,0 @@ | ||||
| [D-BUS Service] | ||||
| Name=org.gnome.Shell.PortalHelper | ||||
| Exec=@libexecdir@/gnome-shell-portal-helper | ||||
| @@ -38,6 +38,7 @@ | ||||
|     <method name="Screencast"> | ||||
|       <arg type="s" direction="in" name="file_template"/> | ||||
|       <arg type="a{sv}" direction="in" name="options"/> | ||||
|       <arg type="b" direction="in" name="flash"/> | ||||
|       <arg type="b" direction="out" name="success"/> | ||||
|       <arg type="s" direction="out" name="filename_used"/> | ||||
|     </method> | ||||
| @@ -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 | ||||
| @@ -3,48 +3,40 @@ | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="development-tools" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary> | ||||
|       <_summary> | ||||
|         Enable internal tools useful for developers and testers from Alt-F2 | ||||
|       </summary> | ||||
|       <description> | ||||
|       </_summary> | ||||
|       <_description> | ||||
|         Allows access to internal debugging and monitoring tools | ||||
|         using the Alt-F2 dialog. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="enabled-extensions" type="as"> | ||||
|       <default>[]</default> | ||||
|       <summary>UUIDs of extensions to enable</summary> | ||||
|       <description> | ||||
|       <_summary>UUIDs of extensions to enable</_summary> | ||||
|       <_description> | ||||
|         GNOME Shell extensions have a UUID property; this key lists extensions | ||||
|         which should be loaded. Any extension that wants to be loaded needs | ||||
|         to be in this list. You can also manipulate this list with the | ||||
|         EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell. | ||||
|       </description> | ||||
|     </key> | ||||
|     <key name="disable-user-extensions" type="b"> | ||||
|       <default>false</default> | ||||
|       <summary>Disable user extensions</summary> | ||||
|       <description> | ||||
|         Disable all extensions the user has enabled without affecting | ||||
|         the “enabled-extension” setting. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="disable-extension-version-validation" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary>Disables the validation of extension version compatibility</summary> | ||||
|       <description> | ||||
|       <default>false</default> | ||||
|       <_summary>Disables the validation of extension version compatibility</_summary> | ||||
|       <_description> | ||||
|         GNOME Shell will only load extensions that claim to support the current | ||||
|         running version. Enabling this option will disable this check and try to | ||||
|         load all extensions regardless of the versions they claim to support. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="favorite-apps" type="as"> | ||||
|       <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default> | ||||
|       <summary>List of desktop file IDs for favorite applications</summary> | ||||
|       <description> | ||||
|       <default>[ 'epiphany.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop' ]</default> | ||||
|       <_summary>List of desktop file IDs for favorite applications</_summary> | ||||
|       <_description> | ||||
|         The applications corresponding to these identifiers | ||||
|         will be displayed in the favorites area. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="app-picker-view" type="u"> | ||||
|       <default>0</default> | ||||
| @@ -55,82 +47,84 @@ | ||||
|     </key> | ||||
|     <key name="command-history" type="as"> | ||||
|       <default>[]</default> | ||||
|       <summary>History for command (Alt-F2) dialog</summary> | ||||
|       <_summary>History for command (Alt-F2) dialog</_summary> | ||||
|     </key> | ||||
|     <key name="looking-glass-history" type="as"> | ||||
|       <default>[]</default> | ||||
|       <!-- Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass --> | ||||
|       <summary>History for the looking glass dialog</summary> | ||||
|       <_summary>History for the looking glass dialog</_summary> | ||||
|     </key> | ||||
|     <key name="always-show-log-out" type="b"> | ||||
|       <default>false</default> | ||||
|       <summary>Always show the “Log out” menu item in the user menu.</summary> | ||||
|       <description> | ||||
|         This key overrides the automatic hiding of the “Log out” | ||||
|       <_summary>Always show the 'Log out' menu item in the user menu.</_summary> | ||||
|       <_description> | ||||
|         This key overrides the automatic hiding of the 'Log out' | ||||
|         menu item in single-user, single-session situations. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="remember-mount-password" type="b"> | ||||
|       <default>false</default> | ||||
|       <summary>Whether to remember password for mounting encrypted or remote filesystems</summary> | ||||
|       <description> | ||||
|       <_summary>Whether to remember password for mounting encrypted or remote filesystems</_summary> | ||||
|       <_description> | ||||
|         The shell will request a password when an encrypted device or a | ||||
|         remote filesystem is mounted.  If the password can be saved for | ||||
|         future use a “Remember Password” checkbox will be present. | ||||
|         future use a 'Remember Password' checkbox will be present. | ||||
|         This key sets the default state of the checkbox. | ||||
|       </description> | ||||
|     </key> | ||||
|     <key name="had-bluetooth-devices-setup" type="b"> | ||||
|       <default>false</default> | ||||
|       <summary>Whether the default Bluetooth adapter had set up devices associated to it</summary> | ||||
|       <description> | ||||
|         The shell will only show a Bluetooth menu item if a Bluetooth | ||||
|         adapter is powered, or if there were devices set up associated | ||||
|         with the default adapter. This will be reset if the default | ||||
|         adapter is ever seen not to have devices associated to it. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <child name="calendar" schema="org.gnome.shell.calendar"/> | ||||
|     <child name="keybindings" schema="org.gnome.shell.keybindings"/> | ||||
|     <child name="keyboard" schema="org.gnome.shell.keyboard"/> | ||||
|     <child name="location" schema="org.gnome.shell.location"/> | ||||
|   </schema> | ||||
| 
 | ||||
|   <schema id="org.gnome.shell.calendar" path="/org/gnome/shell/calendar/" | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="show-weekdate" type="b"> | ||||
|       <default>false</default> | ||||
|       <_summary>Show the week date in the calendar</_summary> | ||||
|       <_description> | ||||
|         If true, display the ISO week date in the calendar. | ||||
|       </_description> | ||||
|       </key> | ||||
|   </schema> | ||||
| 
 | ||||
|   <schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/" | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="open-application-menu" type="as"> | ||||
|       <default>["<Super>F10"]</default> | ||||
|       <summary>Keybinding to open the application menu</summary> | ||||
|       <description> | ||||
|       <_summary>Keybinding to open the application menu</_summary> | ||||
|       <_description> | ||||
|         Keybinding to open the application menu. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="toggle-application-view" type="as"> | ||||
|       <default>["<Super>a"]</default> | ||||
|       <summary>Keybinding to open the “Show Applications” view</summary> | ||||
|       <description> | ||||
|         Keybinding to open the “Show Applications” view of the Activities | ||||
|       <_summary>Keybinding to open the "Show Applications" view</_summary> | ||||
|       <_description> | ||||
|         Keybinding to open the "Show Applications" view of the Activities | ||||
|         Overview. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="toggle-overview" type="as"> | ||||
|       <default>["<Super>s"]</default> | ||||
|       <summary>Keybinding to open the overview</summary> | ||||
|       <description> | ||||
|       <_summary>Keybinding to open the overview</_summary> | ||||
|       <_description> | ||||
|         Keybinding to open the Activities Overview. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="toggle-message-tray" type="as"> | ||||
|       <default>["<Super>v","<Super>m"]</default> | ||||
|       <summary>Keybinding to toggle the visibility of the notification list</summary> | ||||
|       <description> | ||||
|         Keybinding to toggle the visibility of the notification list. | ||||
|       </description> | ||||
|       <default>["<Super>m"]</default> | ||||
|       <_summary>Keybinding to toggle the visibility of the message tray</_summary> | ||||
|       <_description> | ||||
|         Keybinding to toggle the visibility of the message tray. | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="focus-active-notification" type="as"> | ||||
|       <default>["<Super>n"]</default> | ||||
|       <summary>Keybinding to focus the active notification</summary> | ||||
|       <description> | ||||
|       <_summary>Keybinding to focus the active notification</_summary> | ||||
|       <_description> | ||||
|         Keybinding to focus the active notification. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key name="pause-resume-tweens" type="as"> | ||||
|       <default>[]</default> | ||||
| @@ -143,10 +137,36 @@ | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="keyboard-type" type="s"> | ||||
|       <default>'touch'</default> | ||||
|       <summary>Which keyboard to use</summary> | ||||
|       <description> | ||||
|       <_summary>Which keyboard to use</_summary> | ||||
|       <_description> | ||||
|         The type of keyboard to use. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|   </schema> | ||||
| 
 | ||||
|   <enum id="org.gnome.shell.geoclue.AccuracyLevel"> | ||||
|     <value value="0" nick="off"/> | ||||
|     <value value="1" nick="country"/> | ||||
|     <value value="4" nick="city"/> | ||||
|     <value value="5" nick="neighborhood"/> | ||||
|     <value value="6" nick="street"/> | ||||
|     <value value="8" nick="exact"/> | ||||
|   </enum> | ||||
|   <schema id="org.gnome.shell.location" | ||||
|           path="/org/gnome/shell/location/" | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="max-accuracy-level" enum="org.gnome.shell.geoclue.AccuracyLevel"> | ||||
|       <default>'exact'</default> | ||||
|       <_summary>The maximum accuracy level of location.</_summary> | ||||
|       <_description> | ||||
|         Configures the maximum level of location accuracy applications are | ||||
|         allowed to see. Valid options are 'off' (disable location tracking), | ||||
|         'country', 'city', 'neighborhood', 'street', and 'exact' (typically | ||||
|         requires GPS receiver). Please keep in mind that this only controls | ||||
|         what GeoClue will allow applications to see and they can find user's | ||||
|         location on their own using network resources (albeit with street-level | ||||
|         accuracy at best). | ||||
|       </_description> | ||||
|     </key> | ||||
|   </schema> | ||||
| 
 | ||||
| @@ -173,12 +193,12 @@ | ||||
|           gettext-domain="@GETTEXT_PACKAGE@"> | ||||
|     <key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode"> | ||||
|       <default>'both'</default> | ||||
|       <summary>The application icon mode.</summary> | ||||
|       <description> | ||||
|       <_summary>The application icon mode.</_summary> | ||||
|       <_description> | ||||
| 	Configures how the windows are shown in the switcher. Valid possibilities | ||||
| 	are “thumbnail-only” (shows a thumbnail of the window), “app-icon-only” | ||||
| 	(shows only the application icon) or “both”. | ||||
|       </description> | ||||
| 	are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' | ||||
| 	(shows only the application icon) or 'both'. | ||||
|       </_description> | ||||
|     </key> | ||||
|     <key type="b" name="current-workspace-only"> | ||||
|       <default>true</default> | ||||
| @@ -190,48 +210,56 @@ | ||||
|     </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"> | ||||
|       <default>true</default> | ||||
|       <summary>Attach modal dialog to the parent window</summary> | ||||
|       <description> | ||||
|       <_summary>Attach modal dialog to the parent window</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.mutter when running | ||||
|         GNOME Shell. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
| 
 | ||||
|     <key name="button-layout" type="s"> | ||||
|       <default>":close"</default> | ||||
|       <_summary>Arrangement of buttons on the titlebar</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.desktop.wm.preferences when | ||||
|         running GNOME Shell. | ||||
|       </_description> | ||||
|     </key> | ||||
| 
 | ||||
|     <key name="edge-tiling" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary>Enable edge tiling when dropping windows on screen edges</summary> | ||||
|       <description> | ||||
|       <_summary>Enable edge tiling when dropping windows on screen edges</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.mutter when running GNOME Shell. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
| 
 | ||||
|     <key name="dynamic-workspaces" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary>Workspaces are managed dynamically</summary> | ||||
|       <description> | ||||
|       <_summary>Workspaces are managed dynamically</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.mutter when running GNOME Shell. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
| 
 | ||||
|     <key name="workspaces-only-on-primary" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary>Workspaces only on primary monitor</summary> | ||||
|       <description> | ||||
|       <_summary>Workspaces only on primary monitor</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.mutter when running GNOME Shell. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
| 
 | ||||
|     <key name="focus-change-on-pointer-rest" type="b"> | ||||
|       <default>true</default> | ||||
|       <summary>Delay focus changes in mouse mode until the pointer stops moving</summary> | ||||
|       <description> | ||||
|       <_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary> | ||||
|       <_description> | ||||
|         This key overrides the key in org.gnome.mutter when running GNOME Shell. | ||||
|       </description> | ||||
|       </_description> | ||||
|     </key> | ||||
|   </schema> | ||||
| </schemalist> | ||||
| @@ -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" | ||||
| } | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user