Compare commits
	
		
			3 Commits
		
	
	
		
			v1.17.0
			...
			squeekboar
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3af10285b7 | |||
| 53997abc46 | |||
| 34765be22e | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,6 +1,5 @@
 | 
				
			|||||||
 | 
					.zanata-cache/
 | 
				
			||||||
_build
 | 
					_build
 | 
				
			||||||
po/squeekboard.pot
 | 
					 | 
				
			||||||
po/*.mo
 | 
					 | 
				
			||||||
TAGS
 | 
					TAGS
 | 
				
			||||||
tags
 | 
					tags
 | 
				
			||||||
vgdump
 | 
					vgdump
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										125
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										125
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							@ -1,143 +1,56 @@
 | 
				
			|||||||
image: pureos/byzantium
 | 
					image: debian:buster
 | 
				
			||||||
 | 
					
 | 
				
			||||||
stages:
 | 
					stages:
 | 
				
			||||||
  - build
 | 
					  - build
 | 
				
			||||||
  - test
 | 
					  - test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.tags: &tags
 | 
				
			||||||
 | 
					  tags:
 | 
				
			||||||
 | 
					    - librem5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
before_script:
 | 
					before_script:
 | 
				
			||||||
  - apt-get -y update
 | 
					  - apt-get -y update
 | 
				
			||||||
  - apt-get -y install ca-certificates
 | 
					  - apt-get -y install wget ca-certificates gnupg
 | 
				
			||||||
 | 
					  - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list
 | 
				
			||||||
build_docs:
 | 
					  - wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
 | 
				
			||||||
  stage: build
 | 
					  - apt-get -y update
 | 
				
			||||||
  artifacts:
 | 
					  - apt-get -y build-dep .
 | 
				
			||||||
    paths:
 | 
					 | 
				
			||||||
      - _build
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - apt-get -y install python3-pip python3-sphinx
 | 
					 | 
				
			||||||
    - pip3 install recommonmark
 | 
					 | 
				
			||||||
    - ./doc/build.sh _build
 | 
					 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
build_meson:
 | 
					build_meson:
 | 
				
			||||||
 | 
					  <<: *tags
 | 
				
			||||||
  stage: build
 | 
					  stage: build
 | 
				
			||||||
  artifacts:
 | 
					  artifacts:
 | 
				
			||||||
    paths:
 | 
					    paths:
 | 
				
			||||||
      - _build
 | 
					      - _build
 | 
				
			||||||
    expire_in: 3h
 | 
					    expire_in: 3h
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - meson . _build/ -Ddepdatadir=/usr/share
 | 
				
			||||||
    - meson . _build/ -Ddepdatadir=/usr/share --werror
 | 
					 | 
				
			||||||
    - ninja -C _build install
 | 
					    - ninja -C _build install
 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
build_deb:
 | 
					build_deb:
 | 
				
			||||||
 | 
					    <<: *tags
 | 
				
			||||||
    stage: build
 | 
					    stage: build
 | 
				
			||||||
    artifacts:
 | 
					    artifacts:
 | 
				
			||||||
      paths:
 | 
					      paths:
 | 
				
			||||||
      - '*.deb'
 | 
					        - "*.deb"
 | 
				
			||||||
    script:
 | 
					    script:
 | 
				
			||||||
    - rm -f ../*.deb
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					 | 
				
			||||||
        - apt-get -y install devscripts
 | 
					        - apt-get -y install devscripts
 | 
				
			||||||
    - REV=$(git log -1 --format=%h)
 | 
					 | 
				
			||||||
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
					 | 
				
			||||||
    - DEBFULLNAME="Librem5 CI"
 | 
					 | 
				
			||||||
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
					 | 
				
			||||||
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
					 | 
				
			||||||
    - debuild -i -us -uc -b
 | 
					 | 
				
			||||||
    - cp ../*.deb .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
build_deb:arm64:
 | 
					 | 
				
			||||||
  image: pureos/byzantium
 | 
					 | 
				
			||||||
  tags:
 | 
					 | 
				
			||||||
    - aarch64
 | 
					 | 
				
			||||||
  stage: build
 | 
					 | 
				
			||||||
  artifacts:
 | 
					 | 
				
			||||||
    paths:
 | 
					 | 
				
			||||||
      - '*.deb'
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - rm -f ../*.deb
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					 | 
				
			||||||
    - apt-get -y install devscripts
 | 
					 | 
				
			||||||
    - REV=$(git log -1 --format=%h)
 | 
					 | 
				
			||||||
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
					 | 
				
			||||||
    - DEBFULLNAME="Librem5 CI"
 | 
					 | 
				
			||||||
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
					 | 
				
			||||||
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
					 | 
				
			||||||
    - debuild -i -us -uc -b
 | 
					 | 
				
			||||||
    - cp ../*.deb .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
build_deb:future:
 | 
					 | 
				
			||||||
  image: debian:sid
 | 
					 | 
				
			||||||
  tags:
 | 
					 | 
				
			||||||
    - aarch64
 | 
					 | 
				
			||||||
  stage: build
 | 
					 | 
				
			||||||
  artifacts:
 | 
					 | 
				
			||||||
    paths:
 | 
					 | 
				
			||||||
      - '*.deb'
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - rm -f ../*.deb
 | 
					 | 
				
			||||||
    - mv debian/control-newer debian/control
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					 | 
				
			||||||
    - apt-get -y install devscripts
 | 
					 | 
				
			||||||
    - REV=$(git log -1 --format=%h)
 | 
					 | 
				
			||||||
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
					 | 
				
			||||||
    - DEBFULLNAME="Librem5 CI"
 | 
					 | 
				
			||||||
    - EMAIL="librem5-builds@lists.community.puri.sm"
 | 
					 | 
				
			||||||
    - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
 | 
					 | 
				
			||||||
        - debuild -i -us -uc -b
 | 
					        - debuild -i -us -uc -b
 | 
				
			||||||
        - cp ../*.deb .
 | 
					        - cp ../*.deb .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test_lintian:
 | 
					test_lintian:
 | 
				
			||||||
 | 
					    <<: *tags
 | 
				
			||||||
    stage: test
 | 
					    stage: test
 | 
				
			||||||
  needs:
 | 
					    dependencies:
 | 
				
			||||||
    - job: build_deb
 | 
					        - build_deb
 | 
				
			||||||
      artifacts: true
 | 
					 | 
				
			||||||
    script:
 | 
					    script:
 | 
				
			||||||
        - apt-get -y install lintian
 | 
					        - apt-get -y install lintian
 | 
				
			||||||
        - lintian *.deb
 | 
					        - lintian *.deb
 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
test:
 | 
					test:
 | 
				
			||||||
 | 
					  <<: *tags
 | 
				
			||||||
  stage: test
 | 
					  stage: test
 | 
				
			||||||
  needs:
 | 
					  needs:
 | 
				
			||||||
    - job: build_meson
 | 
					    - build_meson
 | 
				
			||||||
      artifacts: true
 | 
					 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					 | 
				
			||||||
    - apt-get -y install clang-tidy
 | 
					 | 
				
			||||||
    - ninja -C _build test
 | 
					    - ninja -C _build test
 | 
				
			||||||
    - tools/style-check_build _build
 | 
					 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
test_style:
 | 
					 | 
				
			||||||
  stage: test
 | 
					 | 
				
			||||||
  needs: []
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					 | 
				
			||||||
    - tools/style-check_source
 | 
					 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
check_release:
 | 
					 | 
				
			||||||
  stage: test
 | 
					 | 
				
			||||||
  needs: []
 | 
					 | 
				
			||||||
  only:
 | 
					 | 
				
			||||||
    refs:
 | 
					 | 
				
			||||||
      - master
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - apt-get -y install git python3
 | 
					 | 
				
			||||||
    - (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py
 | 
					 | 
				
			||||||
  except:
 | 
					 | 
				
			||||||
    variables:
 | 
					 | 
				
			||||||
      - $PKG_ONLY == "1"
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										32
									
								
								Cargo.deps
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								Cargo.deps
									
									
									
									
									
								
							@ -1,32 +0,0 @@
 | 
				
			|||||||
# Dependencies which change based on build flags
 | 
					 | 
				
			||||||
bitflags = "1.2.*"
 | 
					 | 
				
			||||||
clap = { version = "2.33.*", default-features = false }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.cairo-rs]
 | 
					 | 
				
			||||||
version = "0.7.*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.cairo-sys-rs]
 | 
					 | 
				
			||||||
version = "0.9"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gdk]
 | 
					 | 
				
			||||||
version = "0.11.*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gio]
 | 
					 | 
				
			||||||
version = "0.7.*"
 | 
					 | 
				
			||||||
features = ["v2_44"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.glib]
 | 
					 | 
				
			||||||
version = "0.8.*"
 | 
					 | 
				
			||||||
features = ["v2_44"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.glib-sys]
 | 
					 | 
				
			||||||
version = "*"
 | 
					 | 
				
			||||||
features = ["v2_44"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gtk]
 | 
					 | 
				
			||||||
version = "0.7.*"
 | 
					 | 
				
			||||||
features = ["v3_22"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gtk-sys]
 | 
					 | 
				
			||||||
version = "0.9"
 | 
					 | 
				
			||||||
features = ["v3_22"]
 | 
					 | 
				
			||||||
@ -1,33 +0,0 @@
 | 
				
			|||||||
# Dependencies which change based on build flags
 | 
					 | 
				
			||||||
# For the newer-than-Byzantium config
 | 
					 | 
				
			||||||
bitflags = "1.3.*"
 | 
					 | 
				
			||||||
clap = { version = "2.33.*", default-features = false }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.cairo-rs]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.cairo-sys-rs]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gdk]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gio]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
features = ["v2_58"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.glib]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
features = ["v2_58"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.glib-sys]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
features = ["v2_58"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gtk]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
features = ["v3_22"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.gtk-sys]
 | 
					 | 
				
			||||||
version = "0.14.*"
 | 
					 | 
				
			||||||
features = ["v3_22"]
 | 
					 | 
				
			||||||
							
								
								
									
										514
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										514
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -1,492 +1,476 @@
 | 
				
			|||||||
# This file is automatically @generated by Cargo.
 | 
					# This file is automatically @generated by Cargo.
 | 
				
			||||||
# It is not intended for manual editing.
 | 
					# It is not intended for manual editing.
 | 
				
			||||||
version = 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "atk"
 | 
					name = "aho-corasick"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.7.6"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "86b7499272acf036bb5820c6e346bbfb5acc5dceb104bc2c4fd7e6e33dfcde6a"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "atk-sys",
 | 
					 "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "bitflags",
 | 
					 | 
				
			||||||
 "glib",
 | 
					 | 
				
			||||||
 "glib-sys",
 | 
					 | 
				
			||||||
 "gobject-sys",
 | 
					 | 
				
			||||||
 "libc",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "atk-sys"
 | 
					name = "atk-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "e552c1776737a4c80110d06b36d099f47c727335f9aaa5d942a72b6863a8ec6f"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "autocfg"
 | 
					 | 
				
			||||||
version = "1.1.0"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "bitflags"
 | 
					name = "bitflags"
 | 
				
			||||||
version = "1.2.1"
 | 
					version = "1.0.4"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "cairo-rs"
 | 
					name = "cairo-rs"
 | 
				
			||||||
version = "0.7.1"
 | 
					version = "0.5.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "e05db47de3b0f09a222fa4bba2eab957d920d4243962a86b2d77ab401e4a359c"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "cairo-sys-rs"
 | 
					name = "cairo-sys-rs"
 | 
				
			||||||
version = "0.9.2"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "ff65ba02cac715be836f63429ab00a767d48336efc5497c5637afb53b4f14d63"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "cc"
 | 
					name = "cc"
 | 
				
			||||||
version = "1.0.73"
 | 
					version = "1.0.45"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "clap"
 | 
					name = "dtoa"
 | 
				
			||||||
version = "2.33.4"
 | 
					version = "0.4.4"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "826bf7bc84f9435630275cb8e802a4a0ec792b615969934bd16d42ffed10f207"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "bitflags",
 | 
					 | 
				
			||||||
 "textwrap",
 | 
					 | 
				
			||||||
 "unicode-width",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "fragile"
 | 
					name = "fragile"
 | 
				
			||||||
version = "0.3.0"
 | 
					version = "0.3.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "05f8140122fa0d5dcb9fc8627cfce2b37cc1500f752636d46ea28bc26785c2f9"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gdk"
 | 
					name = "gdk"
 | 
				
			||||||
version = "0.11.0"
 | 
					version = "0.9.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "6243e995f41f3a61a31847e54cc719edce93dd9140c89dca3b9919be1cfe22d5"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-rs",
 | 
					 "cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-pixbuf",
 | 
					 "gdk-pixbuf 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-sys",
 | 
					 "gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio",
 | 
					 "gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pango",
 | 
					 "pango 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gdk-pixbuf"
 | 
					name = "gdk-pixbuf"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.5.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "9726408ee1bbada83094326a99b9c68fea275f9dbb515de242a69e72051f4fcc"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "gdk-pixbuf-sys",
 | 
					 "gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio",
 | 
					 "gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gdk-pixbuf-sys"
 | 
					name = "gdk-pixbuf-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "d8991b060a9e9161bafd09bf4a202e6fd404f5b4dd1a08d53a1e84256fb34ab0"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gdk-sys"
 | 
					name = "gdk-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "6adf679e91d1bff0c06860287f80403e7db54c2d2424dce0a470023b56c88fbb"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-pixbuf-sys",
 | 
					 "gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pango-sys",
 | 
					 "pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gio"
 | 
					name = "gio"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.5.1"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "6261b5d34c30c2d59f879e643704cf54cb44731f3a2038000b68790c03e360e3"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "fragile",
 | 
					 "fragile 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "lazy_static",
 | 
					 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gio-sys"
 | 
					name = "gio-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "4fad225242b9eae7ec8a063bb86974aca56885014672375e5775dc0ea3533911"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "glib"
 | 
					name = "glib"
 | 
				
			||||||
version = "0.8.2"
 | 
					version = "0.6.1"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "be27232841baa43e0fd5ae003f7941925735b2f733a336dc75f07b9eff415e7b"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "lazy_static",
 | 
					 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "glib-sys"
 | 
					name = "glib-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gobject-sys"
 | 
					name = "gobject-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gtk"
 | 
					name = "gtk"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.5.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "709f1074259d4685b96133f92b75c7f35b504715b0fcdc96ec95de2607296a60"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "atk",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "bitflags",
 | 
					 "cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-rs",
 | 
					 "cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cc",
 | 
					 "gdk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk",
 | 
					 "gdk-pixbuf 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-pixbuf",
 | 
					 "gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-pixbuf-sys",
 | 
					 "gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-sys",
 | 
					 "gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gtk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gtk-sys",
 | 
					 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "lazy_static",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "pango 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pango",
 | 
					 | 
				
			||||||
 "pango-sys",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "gtk-sys"
 | 
					name = "gtk-sys"
 | 
				
			||||||
version = "0.9.2"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "53def660c7b48b00b510c81ef2d2fbd3c570f1527081d8d7947f471513e1a4c1"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "atk-sys",
 | 
					 "atk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-pixbuf-sys",
 | 
					 "gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk-sys",
 | 
					 "gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio-sys",
 | 
					 "gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pango-sys",
 | 
					 "pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "hashbrown"
 | 
					 | 
				
			||||||
version = "0.11.2"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "indexmap"
 | 
					 | 
				
			||||||
version = "1.8.0"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "autocfg",
 | 
					 | 
				
			||||||
 "hashbrown",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "lazy_static"
 | 
					name = "lazy_static"
 | 
				
			||||||
version = "1.4.0"
 | 
					version = "1.4.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "libc"
 | 
					name = "libc"
 | 
				
			||||||
version = "0.2.119"
 | 
					version = "0.2.62"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "linked-hash-map"
 | 
					name = "linked-hash-map"
 | 
				
			||||||
version = "0.5.4"
 | 
					version = "0.5.2"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "maplit"
 | 
					name = "maplit"
 | 
				
			||||||
version = "1.0.2"
 | 
					version = "1.0.2"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "memchr"
 | 
				
			||||||
 | 
					version = "2.2.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "memmap"
 | 
					name = "memmap"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "winapi",
 | 
					 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "pango"
 | 
					name = "pango"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.5.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "393fa071b144f8ffb83ede273758983cf414ca3c0b1d2a5a9ce325b3ba3dd786"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "lazy_static",
 | 
					 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pango-sys",
 | 
					 "pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "pango-sys"
 | 
					name = "pango-sys"
 | 
				
			||||||
version = "0.9.1"
 | 
					version = "0.7.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "86b93d84907b3cf0819bff8f13598ba72843bee579d5ebc2502e4b0367b4be7d"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "glib-sys",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gobject-sys",
 | 
					 "gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "pkg-config",
 | 
					 "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "pkg-config"
 | 
					name = "pkg-config"
 | 
				
			||||||
version = "0.3.24"
 | 
					version = "0.3.16"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "proc-macro2"
 | 
					name = "proc-macro2"
 | 
				
			||||||
version = "1.0.36"
 | 
					version = "1.0.4"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "unicode-xid",
 | 
					 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "quote"
 | 
					name = "quote"
 | 
				
			||||||
version = "1.0.15"
 | 
					version = "1.0.2"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "proc-macro2",
 | 
					 "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "regex"
 | 
				
			||||||
 | 
					version = "1.1.9"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					 "utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "regex-syntax"
 | 
				
			||||||
 | 
					version = "0.6.12"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "rs"
 | 
					name = "rs"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "0.1.0"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-rs",
 | 
					 "gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "cairo-sys-rs",
 | 
					 "glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "clap",
 | 
					 "glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gdk",
 | 
					 "gtk 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gio",
 | 
					 "gtk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib",
 | 
					 "maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "glib-sys",
 | 
					 "regex 1.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gtk",
 | 
					 "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "gtk-sys",
 | 
					 "serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "maplit",
 | 
					 "xkbcommon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "serde",
 | 
					 | 
				
			||||||
 "serde_yaml",
 | 
					 | 
				
			||||||
 "xkbcommon",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "ryu"
 | 
					 | 
				
			||||||
version = "1.0.9"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "serde"
 | 
					name = "serde"
 | 
				
			||||||
version = "1.0.136"
 | 
					version = "1.0.101"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "serde_derive",
 | 
					 "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "serde_derive"
 | 
					name = "serde_derive"
 | 
				
			||||||
version = "1.0.136"
 | 
					version = "1.0.101"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "proc-macro2",
 | 
					 "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "quote",
 | 
					 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "syn",
 | 
					 "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "serde_yaml"
 | 
					name = "serde_yaml"
 | 
				
			||||||
version = "0.8.23"
 | 
					version = "0.8.9"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "indexmap",
 | 
					 "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "ryu",
 | 
					 "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "serde",
 | 
					 "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "yaml-rust",
 | 
					 "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "syn"
 | 
					name = "syn"
 | 
				
			||||||
version = "1.0.86"
 | 
					version = "1.0.5"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "proc-macro2",
 | 
					 "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "quote",
 | 
					 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "unicode-xid",
 | 
					 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "textwrap"
 | 
					name = "thread_local"
 | 
				
			||||||
version = "0.11.0"
 | 
					version = "0.3.6"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "unicode-width",
 | 
					 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "unicode-width"
 | 
					 | 
				
			||||||
version = "0.1.9"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "unicode-xid"
 | 
					name = "unicode-xid"
 | 
				
			||||||
version = "0.2.2"
 | 
					version = "0.2.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "utf8-ranges"
 | 
				
			||||||
 | 
					version = "1.0.4"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "winapi"
 | 
					name = "winapi"
 | 
				
			||||||
version = "0.3.9"
 | 
					version = "0.3.8"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "winapi-i686-pc-windows-gnu",
 | 
					 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "winapi-x86_64-pc-windows-gnu",
 | 
					 "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "winapi-i686-pc-windows-gnu"
 | 
					name = "winapi-i686-pc-windows-gnu"
 | 
				
			||||||
version = "0.4.0"
 | 
					version = "0.4.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "winapi-x86_64-pc-windows-gnu"
 | 
					name = "winapi-x86_64-pc-windows-gnu"
 | 
				
			||||||
version = "0.4.0"
 | 
					version = "0.4.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "xkbcommon"
 | 
					name = "xkbcommon"
 | 
				
			||||||
version = "0.4.0"
 | 
					version = "0.4.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "fda0ea5f7ddabd51deeeda7799bee06274112f577da7dd3d954b8eda731b2fce"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "libc",
 | 
					 "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "memmap",
 | 
					 "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "yaml-rust"
 | 
					name = "yaml-rust"
 | 
				
			||||||
version = "0.4.5"
 | 
					version = "0.4.3"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "linked-hash-map",
 | 
					 "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[metadata]
 | 
				
			||||||
 | 
					"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 | 
				
			||||||
 | 
					"checksum atk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7017e53393e713212aed7aea336b6553be4927f58c37070a56c2fe3d107e489"
 | 
				
			||||||
 | 
					"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 | 
				
			||||||
 | 
					"checksum cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dd940f0d609699e343ef71c4af5f66423afbf30d666f796dabd8fd15229cf5b6"
 | 
				
			||||||
 | 
					"checksum cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d25596627380be4381247dba06c69ad05ca21b3b065bd9827e416882ac41dcd2"
 | 
				
			||||||
 | 
					"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
 | 
				
			||||||
 | 
					"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
 | 
				
			||||||
 | 
					"checksum fragile 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f8140122fa0d5dcb9fc8627cfce2b37cc1500f752636d46ea28bc26785c2f9"
 | 
				
			||||||
 | 
					"checksum gdk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc52c7244046df9d959df87289f1fc5cca23f9f850bab0c967963e2ecb83a96"
 | 
				
			||||||
 | 
					"checksum gdk-pixbuf 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc3aa730cb4df3de5d9fed59f43afdf9e5fb2d3d10bfcbd04cec031435ce87f5"
 | 
				
			||||||
 | 
					"checksum gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08284f16ce4d909b10d785a763ba190e222d2c1557b29908bf0a661e27a8ac3b"
 | 
				
			||||||
 | 
					"checksum gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "108548ebf5329b551f2b97ab356908d14627905abb74b936c3372de1535aee81"
 | 
				
			||||||
 | 
					"checksum gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "29a44b051990573448edc80b1995237f8b97b5734d2aec05105b9242aa10af11"
 | 
				
			||||||
 | 
					"checksum gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6975ada29f7924dc1c90b30ed3b32d777805a275556c05e420da4fbdc22eb250"
 | 
				
			||||||
 | 
					"checksum glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a333edf5b9f1411c246ef14e7881b087255f04c56dbef48c64a0cb039b4b340"
 | 
				
			||||||
 | 
					"checksum glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3573351e846caed9f11207b275cd67bc07f0c2c94fb628e5d7c92ca056c7882d"
 | 
				
			||||||
 | 
					"checksum gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08475e4a08f27e6e2287005950114735ed61cec2cb8c1187682a5aec8c69b715"
 | 
				
			||||||
 | 
					"checksum gtk 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "56a6b30f194f09a17bb7ffa95c3ecdb405abd3b75ff981f831b1f6d18fe115ff"
 | 
				
			||||||
 | 
					"checksum gtk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d487d333a4b87072e6bf9f2e55befa0ebef01b9496c2e263c0f4a1ff3d6c04b1"
 | 
				
			||||||
 | 
					"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 | 
				
			||||||
 | 
					"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
 | 
				
			||||||
 | 
					"checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
 | 
				
			||||||
 | 
					"checksum maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 | 
				
			||||||
 | 
					"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 | 
				
			||||||
 | 
					"checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
 | 
				
			||||||
 | 
					"checksum pango 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4c2cb169402a3eb1ba034a7cc7d95b8b1c106e9be5ba4be79a5a93dc1a2795f4"
 | 
				
			||||||
 | 
					"checksum pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d6eb49268e69dd0c1da5d3001a61aac08e2e9d2bfbe4ae4b19b9963c998f6453"
 | 
				
			||||||
 | 
					"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
 | 
				
			||||||
 | 
					"checksum proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc"
 | 
				
			||||||
 | 
					"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 | 
				
			||||||
 | 
					"checksum regex 1.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "d9d8297cc20bbb6184f8b45ff61c8ee6a9ac56c156cec8e38c3e5084773c44ad"
 | 
				
			||||||
 | 
					"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
 | 
				
			||||||
 | 
					"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
 | 
				
			||||||
 | 
					"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
 | 
				
			||||||
 | 
					"checksum serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)" = "38b08a9a90e5260fe01c6480ec7c811606df6d3a660415808c3c3fa8ed95b582"
 | 
				
			||||||
 | 
					"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
 | 
				
			||||||
 | 
					"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
 | 
				
			||||||
 | 
					"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 | 
				
			||||||
 | 
					"checksum utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba"
 | 
				
			||||||
 | 
					"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 | 
				
			||||||
 | 
					"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
				
			||||||
 | 
					"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 | 
				
			||||||
 | 
					"checksum xkbcommon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fda0ea5f7ddabd51deeeda7799bee06274112f577da7dd3d954b8eda731b2fce"
 | 
				
			||||||
 | 
					"checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d"
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										39
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "rs"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
 | 
					bitflags = "1.0.*"
 | 
				
			||||||
 | 
					clap = "2.32.*"
 | 
				
			||||||
 | 
					maplit = "1.0.*"
 | 
				
			||||||
 | 
					regex = "1.1.*"
 | 
				
			||||||
 | 
					serde = { version = "1.0.*", features = ["derive"] }
 | 
				
			||||||
 | 
					serde_yaml = "0.8.*"
 | 
				
			||||||
 | 
					xkbcommon = { version = "0.4.*", features = ["wayland"] }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.gio]
 | 
				
			||||||
 | 
					version = ""
 | 
				
			||||||
 | 
					features = ["v2_44"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.glib]
 | 
				
			||||||
 | 
					version = ""
 | 
				
			||||||
 | 
					features = ["v2_44"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.glib-sys]
 | 
				
			||||||
 | 
					version = ""
 | 
				
			||||||
 | 
					features = ["v2_44"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.gtk]
 | 
				
			||||||
 | 
					version = "0.5.*"
 | 
				
			||||||
 | 
					features = ["v3_22"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.gtk-sys]
 | 
				
			||||||
 | 
					version = ""
 | 
				
			||||||
 | 
					features = ["v3_22"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[lib]
 | 
				
			||||||
 | 
					name = "rs"
 | 
				
			||||||
 | 
					path = "src/lib.rs"
 | 
				
			||||||
 | 
					crate-type = ["staticlib", "rlib"]
 | 
				
			||||||
@ -1,28 +0,0 @@
 | 
				
			|||||||
[package]
 | 
					 | 
				
			||||||
name = "rs"
 | 
					 | 
				
			||||||
version = "0.1.0"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[lib]
 | 
					 | 
				
			||||||
name = "rs"
 | 
					 | 
				
			||||||
path = "@path@/src/lib.rs"
 | 
					 | 
				
			||||||
crate-type = ["staticlib", "rlib"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Cargo can't do autodiscovery if Cargo.toml is not in the root.
 | 
					 | 
				
			||||||
[[bin]]
 | 
					 | 
				
			||||||
name = "test_layout"
 | 
					 | 
				
			||||||
path = "@path@/src/bin/test_layout.rs"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[example]]
 | 
					 | 
				
			||||||
name = "test_layout"
 | 
					 | 
				
			||||||
path = "@path@/examples/test_layout.rs"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[features]
 | 
					 | 
				
			||||||
glib_v0_14 = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Dependencies which don't change based on build flags
 | 
					 | 
				
			||||||
[dependencies]
 | 
					 | 
				
			||||||
maplit = "1.0.*"
 | 
					 | 
				
			||||||
serde = { version = "1.0.*", features = ["derive"] }
 | 
					 | 
				
			||||||
serde_yaml = "0.8.*"
 | 
					 | 
				
			||||||
xkbcommon = { version = "0.4.*", features = ["wayland"] }
 | 
					 | 
				
			||||||
# Here is inserted the Cargo.deps file
 | 
					 | 
				
			||||||
							
								
								
									
										128
									
								
								HACKING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								HACKING.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,128 @@
 | 
				
			|||||||
 | 
					Hacking
 | 
				
			||||||
 | 
					=======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This document describes the standards for modifying and maintaining the *squeekboard* project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Development environment
 | 
				
			||||||
 | 
					-----------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*Squeekboard* is regularly built and tested on [the develpment environment](https://developer.puri.sm/Librem5/Development_Environment.html).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Recent Fedora releases are likely to be tested as well.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					On a Debian based system run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					sudo apt-get -y install build-essential
 | 
				
			||||||
 | 
					sudo apt-get -y build-dep .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For an explicit list of dependencies check the `Build-Depends` entry in the
 | 
				
			||||||
 | 
					[debian/control][] file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Testing
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Most common testing is done in CI. Occasionally, and for each release, do perform manual tests to make sure that
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- the application draws correctly
 | 
				
			||||||
 | 
					- it shows when relevant
 | 
				
			||||||
 | 
					- it changes layouts
 | 
				
			||||||
 | 
					- it changes views
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Testing with an application:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					python3 tests/entry.py
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Testing visibility:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
 | 
				
			||||||
 | 
					$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Testing layouts:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Layouts can be selected using the GNOME Settings application.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					# define all available layouts. First one is currently selected.
 | 
				
			||||||
 | 
					$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'de')]"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Coding
 | 
				
			||||||
 | 
					------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Code submitted should roughly match the style of surrounding code. Things that will *not* be accepted are ones that often lead to errors:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- skipping brackets `{}` after every `if()`, `else`, and similar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bad example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					if (foo)
 | 
				
			||||||
 | 
					  bar();
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Good example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					if (foo) {
 | 
				
			||||||
 | 
					  bar();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- mixing tabs and spaces in the same block of code (or config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Strongly encouraged:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- don't make lines too long. If it's longer than ~80 characters, it's probably unreadable already, and the code needs to be clarified;
 | 
				
			||||||
 | 
					- put operators in the beginning of a continuation line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bad example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					foobar = verylongexpression +
 | 
				
			||||||
 | 
					    anotherverylongexpression + 
 | 
				
			||||||
 | 
					    yetanotherexpression;
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Good example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					foobar = verylongexpression
 | 
				
			||||||
 | 
					    + anotherverylongexpression
 | 
				
			||||||
 | 
					    + yetanotherexpression;
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- use `///` for documentation comments in front of definitions and `/*! ... */` for documentation comments in the beginning of modules (see [Rust doc-comments](https://doc.rust-lang.org/reference/comments.html#doc-comments))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If in doubt, check [PEP8](https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md), the [kernel coding style](https://www.kernel.org/doc/html/v4.10/process/coding-style.html), or the [Rust style guide](https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Maintenance
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Squeekboard uses Rust & Cargo for some of its dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Use the `cargo.sh` script for maintaining the Cargo part of the build. The script takes the usual Cargo commands, after the first 2 positionsl arguments: source directory, and output artifact. So, `cargo test` becomes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					cd build_dir
 | 
				
			||||||
 | 
					sh /source_path/cargo.sh test
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Cargo dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Dependencies must be specified in `Cargo.toml` with 2 numbers: "major.minor". Since bugfix version number is meant to not affect the interface, this allows for safe updates.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Cargo.lock` is used for remembering the revisions of all Rust dependencies. It should be updated often, preferably with each bugfix revision, and in a commit on its own:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					cd build_dir
 | 
				
			||||||
 | 
					sh /source_path/cargo.sh update
 | 
				
			||||||
 | 
					ninja test
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
							
								
								
									
										70
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								README.md
									
									
									
									
									
								
							@ -1,7 +1,7 @@
 | 
				
			|||||||
*squeekboard* - a Wayland on-screen keyboard
 | 
					*squeekboard* - a Wayland virtual keyboard
 | 
				
			||||||
========================================
 | 
					========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*Squeekboard* is a keyboard-shaped input method supporting Wayland, built primarily for the *Librem 5* phone.
 | 
					*Squeekboard* is a virtual keyboard supporting Wayland, built primarily for the *Librem 5* phone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
It squeaks because some Rust got inside.
 | 
					It squeaks because some Rust got inside.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -11,79 +11,49 @@ Features
 | 
				
			|||||||
### Present
 | 
					### Present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- GTK3
 | 
					- GTK3
 | 
				
			||||||
- Custom keyboard layouts defined in yaml
 | 
					- Custom yaml-defined keyboards
 | 
				
			||||||
- Input purpose dependent keyboard layouts
 | 
					 | 
				
			||||||
- DBus interface to show and hide
 | 
					- DBus interface to show and hide
 | 
				
			||||||
- Use Wayland input method protocol to submit text
 | 
					- Use Wayland input method protocol to show and hide
 | 
				
			||||||
- Use Wayland virtual keyboard protocol
 | 
					- Use Wayland virtual keyboard protocol
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Temporarily dropped
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- A settings interface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### TODO
 | 
					### TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Text prediction/correction
 | 
					- Use Wayland input method protocol
 | 
				
			||||||
- Use preedit
 | 
					 | 
				
			||||||
- Submit actions like "next field" using a future Wayland protocol
 | 
					 | 
				
			||||||
- Pick up DBus interface files from /usr/share
 | 
					- Pick up DBus interface files from /usr/share
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Creating layouts
 | 
					 | 
				
			||||||
-------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If you want to work on layouts, check out the [guide](doc/tutorial.md).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Building
 | 
					Building
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Dependencies
 | 
					### Dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See `.gitlab-ci.yml` or run `apt-get build-dep .`
 | 
					See `.gitlab-ci.yml`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Build from git repo
 | 
					### Build from git repo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
$ git clone https://gitlab.gnome.org/World/Phosh/squeekboard.git
 | 
					 | 
				
			||||||
$ cd squeekboard
 | 
					 | 
				
			||||||
$ mkdir _build
 | 
					 | 
				
			||||||
$ meson _build/
 | 
					 | 
				
			||||||
$ cd _build
 | 
					 | 
				
			||||||
$ ninja
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					$ git clone https://source.puri.sm/Librem5/squeekboard.git
 | 
				
			||||||
To run tests use `ninja test`. To install squeekboard run `ninja install`.
 | 
					$ cd squeekboard
 | 
				
			||||||
 | 
					$ mkdir ../build
 | 
				
			||||||
 | 
					$ meson ../build/
 | 
				
			||||||
 | 
					$ cd ../build
 | 
				
			||||||
 | 
					$ ninja test
 | 
				
			||||||
 | 
					$ ninja install
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Running
 | 
					Running
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```
 | 
				
			||||||
$ phoc # if no compatible Wayland compositor is running yet
 | 
					$ phoc # if no compatible Wayland compositor is running yet
 | 
				
			||||||
$ cd ../build/
 | 
					$ cd ../build/
 | 
				
			||||||
$ src/squeekboard
 | 
					$ src/squeekboard
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Squeekboard's panel will appear whenever a compatible application requests an input method. Click a text field in any GTK application, like `python3 ./tools/entry.py`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard honors the gnome "screen-keyboard-enabled" setting. Either enable this through gnome-settings under accessibility or run:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
$ gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Alternatively, force panel visibility manually with:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### What the compositor has to support
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A compatible compositor has to support the protocols:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- layer-shell
 | 
					 | 
				
			||||||
- virtual-keyboard-v1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It's strongly recommended to support:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- input-method-v2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Developing
 | 
					Developing
 | 
				
			||||||
----------
 | 
					----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See [`doc/hacking.md`](doc/hacking.md) for this copy, or the [official documentation](https://developer.puri.sm/projects/squeekboard/) for the current release.
 | 
					See `HACKING.md`
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										7
									
								
								cargo.sh
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								cargo.sh
									
									
									
									
									
								
							@ -13,10 +13,5 @@ CARGO_TARGET_DIR="$(pwd)"
 | 
				
			|||||||
export CARGO_TARGET_DIR
 | 
					export CARGO_TARGET_DIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cd "$SOURCE_DIR"
 | 
					cd "$SOURCE_DIR"
 | 
				
			||||||
 | 
					cargo "$@"
 | 
				
			||||||
# the 'run" command takes arguments at the end,
 | 
					 | 
				
			||||||
# so --manifest-path must not be last
 | 
					 | 
				
			||||||
CMD="$1"
 | 
					 | 
				
			||||||
shift
 | 
					 | 
				
			||||||
cargo "$CMD" --manifest-path "$CARGO_TARGET_DIR"/Cargo.toml "$@"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,49 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"""This script manages Cargo builds
 | 
					 | 
				
			||||||
while keeping the artifact directory within the build tree
 | 
					 | 
				
			||||||
instead of the source tree.
 | 
					 | 
				
			||||||
"""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from pathlib import Path
 | 
					 | 
				
			||||||
import shlex
 | 
					 | 
				
			||||||
import subprocess
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
source_dir = Path(__file__).absolute().parent
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
args = sys.argv[1:]
 | 
					 | 
				
			||||||
binary_dir = "debug"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if '--release' in args:
 | 
					 | 
				
			||||||
    binary_dir = "release"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The file produced by Cargo will have a special name
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    i = args.index('--rename')
 | 
					 | 
				
			||||||
except ValueError:
 | 
					 | 
				
			||||||
    filename = None
 | 
					 | 
				
			||||||
else:
 | 
					 | 
				
			||||||
    args.pop(i)
 | 
					 | 
				
			||||||
    filename = args.pop(i)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The target destination of the produced file is a positional argument
 | 
					 | 
				
			||||||
out_path = [arg for arg in args if not arg.startswith('--')]
 | 
					 | 
				
			||||||
if out_path:
 | 
					 | 
				
			||||||
    out_path = out_path[0]
 | 
					 | 
				
			||||||
    i = args.index(out_path)
 | 
					 | 
				
			||||||
    args.pop(i)    
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
subprocess.run(['sh', "{}/cargo.sh".format(source_dir.as_posix()), 'build']
 | 
					 | 
				
			||||||
    + args,
 | 
					 | 
				
			||||||
    check=True)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if out_path:
 | 
					 | 
				
			||||||
    out_path = Path(out_path).absolute()
 | 
					 | 
				
			||||||
    out_basename = out_path.name
 | 
					 | 
				
			||||||
    filename = filename or out_basename
 | 
					 | 
				
			||||||
    subprocess.run(['cp', '-a',
 | 
					 | 
				
			||||||
        './{}/{}'.format(binary_dir, filename),
 | 
					 | 
				
			||||||
        out_path],
 | 
					 | 
				
			||||||
        check=True)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										34
									
								
								cargo_build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										34
									
								
								cargo_build.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This script manages Cargo builds
 | 
				
			||||||
 | 
					# while keeping the artifact directory within the build tree
 | 
				
			||||||
 | 
					# instead of the source tree
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SCRIPT_PATH="$(realpath "$0")"
 | 
				
			||||||
 | 
					SOURCE_DIR="$(dirname "$SCRIPT_PATH")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RELEASE=""
 | 
				
			||||||
 | 
					BINARY_DIR="debug"
 | 
				
			||||||
 | 
					if [ "${1}" = "--release" ]; then
 | 
				
			||||||
 | 
					    shift
 | 
				
			||||||
 | 
					    BINARY_DIR="release"
 | 
				
			||||||
 | 
					    RELEASE="--release"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "${1}" = "--rename" ]; then
 | 
				
			||||||
 | 
					    shift
 | 
				
			||||||
 | 
					    FILENAME="${1}"
 | 
				
			||||||
 | 
					    shift
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					OUT_PATH="$(realpath "${1}")"
 | 
				
			||||||
 | 
					shift
 | 
				
			||||||
 | 
					OUT_BASENAME="$(basename "${OUT_PATH}")"
 | 
				
			||||||
 | 
					FILENAME="${FILENAME:-"${OUT_BASENAME}"}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sh "$SOURCE_DIR"/cargo.sh build $RELEASE "$@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -n "${OUT_PATH}" ]; then
 | 
				
			||||||
 | 
					    cp -a ./"${BINARY_DIR}"/"${FILENAME}" "${OUT_PATH}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
@ -1,33 +0,0 @@
 | 
				
			|||||||
/* Theme independent styles */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_view {
 | 
					 | 
				
			||||||
    font-family: cantarell, sans-serif;
 | 
					 | 
				
			||||||
    font-size: 1.5em;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button {
 | 
					 | 
				
			||||||
    border-radius: 4px;
 | 
					 | 
				
			||||||
    margin: 2px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_view.wide sq_button {
 | 
					 | 
				
			||||||
    margin: 3px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button.latched,
 | 
					 | 
				
			||||||
sq_button.locked {
 | 
					 | 
				
			||||||
    font-weight: bold;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button.action {
 | 
					 | 
				
			||||||
    font-size: 0.75em;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button.small {
 | 
					 | 
				
			||||||
    font-size: 0.5em;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_view.pin sq_button {
 | 
					 | 
				
			||||||
    border-radius: 0px;
 | 
					 | 
				
			||||||
    margin: 1px 1px 1px 1px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,84 +0,0 @@
 | 
				
			|||||||
# Armenian layout created by Norayr Chilingarian
 | 
					 | 
				
			||||||
# Yerevan
 | 
					 | 
				
			||||||
# Oct 2021
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 32, height: 32 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "՝ է թ փ ձ ջ ւ և ռ չ ճ ֊ ժ"
 | 
					 | 
				
			||||||
        - "ք ո ե ր տ ը ւ ի օ պ խ ծ շ"
 | 
					 | 
				
			||||||
        - "ա ս դ ֆ գ հ յ կ լ ․"
 | 
					 | 
				
			||||||
        - "Shift_L զ ղ ց վ բ ն մ ՛ BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "՝ Է Թ Փ Ձ Ջ Ւ և Ռ Չ Ճ — Ժ"
 | 
					 | 
				
			||||||
        - "Ք Ո Ե Ր Տ Ը Ւ Ի Օ Պ Խ Ծ Շ"
 | 
					 | 
				
			||||||
        - "Ա Ս Դ Ֆ Գ Հ Յ Կ Լ ։"
 | 
					 | 
				
			||||||
        - "Shift_L Զ Ղ Ց Վ Բ Ն Մ ՞ BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "ﬓ  ﬔ  ﬕ  ﬖ  ﬗ   ՟ և"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ԱԲԳ"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,84 +0,0 @@
 | 
				
			|||||||
# Armenian layout created by Norayr Chilingarian
 | 
					 | 
				
			||||||
# Yerevan
 | 
					 | 
				
			||||||
# Oct 2021
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 32, height: 32 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "՝ ֆ ձ ֊ , ։ ՞ ․ ՛ ) օ է ղ"
 | 
					 | 
				
			||||||
        - "ճ փ բ ս մ ո ւ կ ը թ ծ ց »"
 | 
					 | 
				
			||||||
        - "ջ վ գ ե ա ն ի տ հ պ ր"
 | 
					 | 
				
			||||||
        - "Shift_L ժ դ չ յ զ լ ք խ շ ռ BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "՜ Ֆ Ձ — $ … ՟ և ՚ ( Օ Է Ղ"
 | 
					 | 
				
			||||||
        - "Ճ Փ Բ Ս Մ Ո Ւ Կ Ը Թ Ծ Ց «"
 | 
					 | 
				
			||||||
        - "Ջ Վ Գ Ե Ա Ն Ի Տ Հ Պ Պ Ր"
 | 
					 | 
				
			||||||
        - "Shift_L Ժ Դ Չ Յ Զ Լ Ք Խ Շ Ռ BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "ﬓ  ﬔ  ﬕ  ﬖ  ﬗ   ՟ և"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ԱԲԳ"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,70 +0,0 @@
 | 
				
			|||||||
# Maintained by: Khaled Eldoheiri <khalid@kdehairy.com>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32.66, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 48.99, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 195.96, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 35.66, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ذ ض ص ث ق ف غ ع خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ي ب ل ا ت ن م ك ط"
 | 
					 | 
				
			||||||
        - "Shift_L ء ؤ ر ة و ز ظ د BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    extra:
 | 
					 | 
				
			||||||
        - "ذ ض ص ث ق لإ إ ع خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ى ب لأ أ ت ن م ك ط"
 | 
					 | 
				
			||||||
        - "Shift_L ئ لآ لا ه آ ز ظ د BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   ، \" ' : ؛ ! ؟  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "extra"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ض"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
@ -1,70 +0,0 @@
 | 
				
			|||||||
# Maintained by: Khaled Eldoheiri <khalid@kdehairy.com>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 49, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 73.5, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 324, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 49, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ذ ض ص ث ق ف غ ع خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ي ب ل ا ت ن م ك ط"
 | 
					 | 
				
			||||||
        - "Shift_L ء ؤ ر ة و ز ظ د BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    extra:
 | 
					 | 
				
			||||||
        - "ذ ض ص ث ق لإ إ ع خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ى ب لأ أ ت ن م ك ط"
 | 
					 | 
				
			||||||
        - "Shift_L ئ لآ لا ه آ ز ظ د BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   ، \" ' : ؛ ! ؟  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "extra"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ض"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline:   { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide:      { width: 59,    height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 140,   height: 52 }
 | 
					 | 
				
			||||||
    special:   { width: 44,    height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n .   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 54,  height: 42 }
 | 
					 | 
				
			||||||
    altline:   { width: 81,  height: 42 }
 | 
					 | 
				
			||||||
    wide:      { width: 100, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 205, height: 42 }
 | 
					 | 
				
			||||||
    special:   { width: 54,  height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n .   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32.72, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 47, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 49.09, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 185, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "я в е р т ъ у и о п ю"
 | 
					 | 
				
			||||||
        - "а с д ф г х й к л ш щ"
 | 
					 | 
				
			||||||
        - "Shift_L з ь ц ж б н м ч BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space   .    Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Я В Е Р Т Ъ У И О П Ю"
 | 
					 | 
				
			||||||
        - "А С Д Ф Г Х Й К Л Ш Щ"
 | 
					 | 
				
			||||||
        - "Shift_L З Ь Ц Ж Б Н М Ч BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space   ,    Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32.72, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 47, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 49.09, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 185, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "у е и ш щ к с д з ц б"
 | 
					 | 
				
			||||||
        - "ь я а о ж г т н в м ч"
 | 
					 | 
				
			||||||
        - "Shift_L ю й ъ ф х п р л BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space   .    Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "У Е И Ш Щ К С Д З Ц Б"
 | 
					 | 
				
			||||||
        - "Ь Я А О Ж Г Т Н В М Ч"
 | 
					 | 
				
			||||||
        - "Shift_L Ю Й Ъ Ф Х П Р Л BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space   ,    Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols , \" ' colon ; ! ? ѝ BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ç"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space     , Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ç"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space     period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "à À á Á ã Ã â Â é É"
 | 
					 | 
				
			||||||
        - "show_symbols   ê Ê í Í ó Ó ô Ô"
 | 
					 | 
				
			||||||
        - "show_letters        õ Õ ú Ú ü Ü period BackSpace"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "@ # $ % - + ÷ × = ≠"
 | 
					 | 
				
			||||||
        - "( ) § & < > / * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols     º \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "1ã"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "1ã"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,73 +0,0 @@
 | 
				
			|||||||
# Maintained by Patrick Jörg <patrickjoerg@gmx.ch>. No Copyright, enjoy!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline:   { width: 48,    height: 52 }
 | 
					 | 
				
			||||||
    wide:      { width: 59,    height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 70,    height: 52 }
 | 
					 | 
				
			||||||
    special:   { width: 28,    height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p ü"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ö ä"
 | 
					 | 
				
			||||||
        - "Shift_L   y x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers ? !  preferences    '   space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P Ü"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ö Ä"
 | 
					 | 
				
			||||||
        - "Shift_L   Y X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers - _  preferences    \"  space        , . Return"
 | 
					 | 
				
			||||||
    numbers:      
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ * + - = ( ) ~ < >"
 | 
					 | 
				
			||||||
        - "show_symbols  # & / \\ √ ; : BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters ? !  preferences    _   space        , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "€ $ £ ¥ % | § µ [ ]"
 | 
					 | 
				
			||||||
        - "© ® § ` ^ { } · ¡ ¿"
 | 
					 | 
				
			||||||
        - "show_numbers  « » ÷ × “ ” „ BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters  preferences    -   space        , . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,91 +0,0 @@
 | 
				
			|||||||
# Maintained by: Jordi Bossy <jordi@bossy.space>. No Copyright, enjoy!
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline:   { width: 48,    height: 52 }
 | 
					 | 
				
			||||||
    wide:      { width: 59,    height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 70,    height: 52 }
 | 
					 | 
				
			||||||
    special:   { width: 28,    height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ?"
 | 
					 | 
				
			||||||
        - "Shift_L   y x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    '   space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L !"
 | 
					 | 
				
			||||||
        - "Shift_L   Y X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    \"  space        , . Return"
 | 
					 | 
				
			||||||
    numbers:      
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ * + - = ( ) ~ < >"
 | 
					 | 
				
			||||||
        - "show_symbols  # & / \\ √ ; : BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    _   space        , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "€ $ £ ¥ % | § µ [ ]"
 | 
					 | 
				
			||||||
        - "© ® § ` ^ { } · ¡ ¿"
 | 
					 | 
				
			||||||
        - "show_numbers  « » ÷ × “ ” „ BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    -   space        , . Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters_from_accents preferences  ñ Ñ   space        ° ß Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    show_letters_from_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,93 +0,0 @@
 | 
				
			|||||||
# Maintained by: Jordy Bossy <jordi@bossy.space>
 | 
					 | 
				
			||||||
# and Patrick Jörg <patrickjoerg@gmx.ch>. No Copyright, enjoy!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline:   { width: 48,    height: 52 }
 | 
					 | 
				
			||||||
    wide:      { width: 59,    height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 70,    height: 52 }
 | 
					 | 
				
			||||||
    special:   { width: 28,    height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p ü"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ö ä"
 | 
					 | 
				
			||||||
        - "Shift_L   y x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    '   space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P Ü"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ö Ä"
 | 
					 | 
				
			||||||
        - "Shift_L   Y X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    \"  space        , . Return"
 | 
					 | 
				
			||||||
    numbers:      
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ * + - = ( ) ~ < > ? !"
 | 
					 | 
				
			||||||
        - "show_symbols  # & / \\ √ ; : BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    _   space        , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "€ $ £ ¥ % | § µ [ ]"
 | 
					 | 
				
			||||||
        - "© ® § ` ^ { } · ¡ ¿"
 | 
					 | 
				
			||||||
        - "show_numbers  « » ÷ × “ ” „ BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    -   space        , . Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters_from_accents preferences  ñ Ñ   space        ° ß Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    show_letters_from_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,93 +0,0 @@
 | 
				
			|||||||
# Maintained by: Jordy Bossy <jordy@bossy.space>
 | 
					 | 
				
			||||||
# and Patrick Jörg <patrickjoerg@gmx.ch>. No Copyright, enjoy!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 48, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 48, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p ü"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ö ä"
 | 
					 | 
				
			||||||
        - "Shift_L   y x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    '   space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P Ü"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ö Ä"
 | 
					 | 
				
			||||||
        - "Shift_L   Y X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences    \"  space        , . Return"
 | 
					 | 
				
			||||||
    numbers:      
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ * + - = ( ) ~ < > ? !"
 | 
					 | 
				
			||||||
        - "show_symbols  # & / \\ √ ; : BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    _   space        , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "€ $ £ ¥ % | § µ [ ]"
 | 
					 | 
				
			||||||
        - "© ® § ` ^ { } · ¡ ¿"
 | 
					 | 
				
			||||||
        - "show_numbers  « » ÷ × “ ” „ BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences    -   space        , . Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters_from_accents preferences  ñ Ñ   space        ° ß Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "äÄ"
 | 
					 | 
				
			||||||
    show_letters_from_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,106 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 106, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L    z x c v b n m    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L    Z X C V B N M    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_upper_accents    space    ! ? Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols    , \" ' colon ; ! ?    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols    \\ / < > = [ ]    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "ä ě é ř ť ý ů í ó ö"
 | 
					 | 
				
			||||||
        - "á š ď ë ŕ ú ü ô ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    ž ß č ç ñ ň ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Ä Ě É Ř Ť Ý Ů Í Ó Ö"
 | 
					 | 
				
			||||||
        - "Á Š Ď Ë Ŕ Ú Ü Ô Ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    Ž ẞ Č Ç Ñ Ň Ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_upper_accents    space    , . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    accents_Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "á"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "Á"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,106 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 162, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L    z x c v b n m    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L    Z X C V B N M    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_upper_accents    space    ! ? Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols    , \" ' colon ; ! ?    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols    \\ / < > = [ ]    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "ä ě é ř ť ý ů í ó ö"
 | 
					 | 
				
			||||||
        - "á š ď ë ŕ ú ü ô ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    ž ß č ç ñ ň ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Ä Ě É Ř Ť Ý Ů Í Ó Ö"
 | 
					 | 
				
			||||||
        - "Á Š Ď Ë Ŕ Ú Ü Ô Ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    Ž ẞ Č Ç Ñ Ň Ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_upper_accents    space    , . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    accents_Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "á"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "Á"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,106 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 106, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L    y x c v b n m    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L    Y X C V B N M    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_upper_accents    space    ! ? Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols    , \" ' colon ; ! ?    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols    \\ / < > = [ ]    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "ä ě é ř ť ž ů í ó ö"
 | 
					 | 
				
			||||||
        - "á š ď ë ŕ ú ü ô ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    ý ß č ç ñ ň ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Ä Ě É Ř Ť Ž Ů Í Ó Ö"
 | 
					 | 
				
			||||||
        - "Á Š Ď Ë Ŕ Ú Ü Ô Ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    Ý ẞ Č Ç Ñ Ň Ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_upper_accents    space    , . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    accents_Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "á"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "Á"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,106 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 162, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t z u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L    y x c v b n m    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Z U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L    Y X C V B N M    BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences show_upper_accents    space    ! ? Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols    , \" ' colon ; ! ?    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols    \\ / < > = [ ]    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "ä ě é ř ť ž ů í ó ö"
 | 
					 | 
				
			||||||
        - "á š ď ë ŕ ú ü ô ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    ý ß č ç ñ ň ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_accents    space    , . Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Ä Ě É Ř Ť Ž Ů Í Ó Ö"
 | 
					 | 
				
			||||||
        - "Á Š Ď Ë Ŕ Ú Ü Ô Ľ"
 | 
					 | 
				
			||||||
        - "accents_Shift_L    Ý ẞ Č Ç Ñ Ň Ĺ    BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences show_upper_accents    space    , . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    accents_Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "á"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: "Á"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,11 +1,18 @@
 | 
				
			|||||||
# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
					# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 360, height: 208 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 35.33, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 52.67, height: 52 }
 | 
				
			||||||
    special: { width: 35.33, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 99.67, height: 52 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 35.33, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -21,7 +28,7 @@ views:
 | 
				
			|||||||
    numbers:
 | 
					    numbers:
 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					        - "1 2 3 4 5 6 7 8 9 0"
 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					        - "@ # € % & - _ + ( )"
 | 
				
			||||||
        - "show_symbols   ; \" ' : = < >  BackSpace"
 | 
					        - "show_symbols   , \" ' : = < >  BackSpace"
 | 
				
			||||||
        - "show_letters show_eschars preferences         space        , . Return"
 | 
					        - "show_letters show_eschars preferences         space        , . Return"
 | 
				
			||||||
    symbols:
 | 
					    symbols:
 | 
				
			||||||
        - "~ ` ´ | · √ µ ÷ × ¶"
 | 
					        - "~ ` ´ | · √ µ ÷ × ¶"
 | 
				
			||||||
@ -45,7 +52,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "special"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,18 @@
 | 
				
			|||||||
# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
					# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 540, height: 168 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 48, height: 42 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					        bounds: { x: 0, y: 0, width: 48, height: 42 }
 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					        bounds: { x: 0, y: 0, width: 81, height: 42 }
 | 
				
			||||||
    special: { width: 48, height: 42 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 108, height: 42 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 216, height: 42 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 48, height: 42 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -21,7 +28,7 @@ views:
 | 
				
			|||||||
    numbers:
 | 
					    numbers:
 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					        - "1 2 3 4 5 6 7 8 9 0"
 | 
				
			||||||
        - "@ # % & - _ + ( ) ß"
 | 
					        - "@ # % & - _ + ( ) ß"
 | 
				
			||||||
        - "show_symbols   ; \" ' : = < >  BackSpace"
 | 
					        - "show_symbols   , \" ' : = < >  BackSpace"
 | 
				
			||||||
        - "show_letters preferences         space        , . Return"
 | 
					        - "show_letters preferences         space        , . Return"
 | 
				
			||||||
    symbols:
 | 
					    symbols:
 | 
				
			||||||
        - "~ ` ´  · © ® ÷ × ¶"
 | 
					        - "~ ` ´  · © ® ÷ × ¶"
 | 
				
			||||||
@ -45,7 +52,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "special"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,98 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    outline7: { width: 88.97561, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 150.5853, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p å"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ø æ"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        .    Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P Å"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ø Æ"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        .    Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' : ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        .    Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
 | 
					 | 
				
			||||||
        - "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree * { }"
 | 
					 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        .    Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    ".":
 | 
					 | 
				
			||||||
        outline: altline
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: spaceline
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    U00B7:
 | 
					 | 
				
			||||||
        text: "·"
 | 
					 | 
				
			||||||
    squareroot:
 | 
					 | 
				
			||||||
        text: "√"
 | 
					 | 
				
			||||||
    Greek_pi:
 | 
					 | 
				
			||||||
        text: "π"
 | 
					 | 
				
			||||||
    division:
 | 
					 | 
				
			||||||
        text: "÷"
 | 
					 | 
				
			||||||
    multiply:
 | 
					 | 
				
			||||||
        text: "×"
 | 
					 | 
				
			||||||
    paragraph:
 | 
					 | 
				
			||||||
        text: "¶"
 | 
					 | 
				
			||||||
    Greek_tau:
 | 
					 | 
				
			||||||
        text: "τ"
 | 
					 | 
				
			||||||
    copyright:
 | 
					 | 
				
			||||||
        text: "©"
 | 
					 | 
				
			||||||
    U00AE:
 | 
					 | 
				
			||||||
        text: "®"
 | 
					 | 
				
			||||||
    U00A3:
 | 
					 | 
				
			||||||
        text: "£"
 | 
					 | 
				
			||||||
    EuroSign:
 | 
					 | 
				
			||||||
        text: "€"
 | 
					 | 
				
			||||||
    U00A5:
 | 
					 | 
				
			||||||
        text: "¥"
 | 
					 | 
				
			||||||
    asciicircum:
 | 
					 | 
				
			||||||
        text: "^"
 | 
					 | 
				
			||||||
    degree:
 | 
					 | 
				
			||||||
        text: "°"
 | 
					 | 
				
			||||||
@ -2,12 +2,19 @@
 | 
				
			|||||||
# University of the Aegean, Department of Mathematics, atsol@aegean.gr
 | 
					# University of the Aegean, Department of Mathematics, atsol@aegean.gr
 | 
				
			||||||
# Sep 2019
 | 
					# Sep 2019
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 0.33, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 32, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    outline7: { width: 88.97561, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 48.39024, height: 52 }
 | 
				
			||||||
    spaceline: { width: 150.5853, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    outline7:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 88.97561, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 150.5853, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -46,7 +53,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
@ -1,81 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 106.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        at period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        at period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        at period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        at period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    at:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "@"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,80 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 52, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 40, height: 52 }
 | 
					 | 
				
			||||||
    narrow: { width: 22, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "😀 😁 😅 😂 😊 😇 🙃"
 | 
					 | 
				
			||||||
        - "😍 😘 😋 😜 😎 🥳 😔"
 | 
					 | 
				
			||||||
        - "😢 😭 😡 😱 🤔 😬 🙄"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
    two:
 | 
					 | 
				
			||||||
        - "🤩 🤨 🤓 😴 🤢 🤮 😈"
 | 
					 | 
				
			||||||
        - "💩 🙌 👏 👍 👎 👌 👋"
 | 
					 | 
				
			||||||
        - "💪 🖕 🙏 💋 🤦♀️ 🤷♀️ 💃"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
    three:
 | 
					 | 
				
			||||||
        - "🐶 🐱 🐯 🙈 🐴 🦄 🌳"
 | 
					 | 
				
			||||||
        - "🍀 🌹 💫 ⭐️ ✨ 💥 🔥"
 | 
					 | 
				
			||||||
        - "🌈 ☀️ 🌤 🌧 ⛄️ ☂️ 🌊"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
    four:
 | 
					 | 
				
			||||||
        - "🍎 🍓 🍑 🍍 🍆 🥑 🥦"
 | 
					 | 
				
			||||||
        - "🍕 🎂 🍫 🍿 🍻 🍾 🍽"
 | 
					 | 
				
			||||||
        - "⚽️ 🏀 🏓 🏆 🎹 🎸 🎯"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
    five:
 | 
					 | 
				
			||||||
        - "🚗 🚌 🚲 🚄 🚂 ✈️ 🛰"
 | 
					 | 
				
			||||||
        - "🚀 🛸 🚁 🚦 🏝 🏔 ⛺️"
 | 
					 | 
				
			||||||
        - "🏠 🏢 🏥 🏛 🛤 🌅 🎇"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
    six:
 | 
					 | 
				
			||||||
        - "⌚️ 📱 💻 🖥 🖨 🕹 ✉️"
 | 
					 | 
				
			||||||
        - "📞 ☎️ ⏰ ⏳ 📈 📉 📌"
 | 
					 | 
				
			||||||
        - "🎁 ❤️ 💕 💯 ✅ ❎ 📢"
 | 
					 | 
				
			||||||
        - "preferences blank 1 2 3 4 5 6 blank BackSpace"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    1:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "1"
 | 
					 | 
				
			||||||
    2:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "two"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "2"
 | 
					 | 
				
			||||||
    3:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "three"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "3"
 | 
					 | 
				
			||||||
    4:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "four"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "4"
 | 
					 | 
				
			||||||
    5:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "five"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "5"
 | 
					 | 
				
			||||||
    6:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "six"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "6"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        keysym: BackSpace
 | 
					 | 
				
			||||||
    blank:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
        text: ""
 | 
					 | 
				
			||||||
@ -1,81 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        ! ? Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' : ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "ĉ ĝ ĥ ĵ ŝ ŭ ?"
 | 
					 | 
				
			||||||
        - "Ĉ Ĝ Ĥ Ĵ Ŝ Ŭ !"
 | 
					 | 
				
			||||||
        - "show_numbers ' - 🐊 💚 🌐 . BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        „ “ Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ŭŜ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
@ -1,87 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l ç"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        ? period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L Ç"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        ¿ period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! = BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? period Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "á é í ó ú Á É Í Ó Ú"
 | 
					 | 
				
			||||||
        - "à è ì ò ù À È Ì Ò Ù"
 | 
					 | 
				
			||||||
        - "show_numbers ü ç ï Ü Ç Ï ¡  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        « » Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "default"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "àÀ"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "default"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,10 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 35.33, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 52.67, height: 52 }
 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 99.67, height: 52 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 44, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -44,7 +51,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "default"
 | 
					        outline: "default"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 0.33, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 32, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    outline7: { width: 88.97561, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 48.39024, height: 52 }
 | 
				
			||||||
    spaceline: { width: 150.5853, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    outline7:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 88.97561, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 150.5853, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -39,7 +46,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline:   { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide:      { width: 59,    height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 140,   height: 52 }
 | 
					 | 
				
			||||||
    special:   { width: 44,    height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n .   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 54,  height: 42 }
 | 
					 | 
				
			||||||
    altline:   { width: 81,  height: 42 }
 | 
					 | 
				
			||||||
    wide:      { width: 100, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 205, height: 42 }
 | 
					 | 
				
			||||||
    special:   { width: 54,  height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n .   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,71 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 40, height: 60 }
 | 
					 | 
				
			||||||
    altline: { width: 56, height: 60 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 60 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 60 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 60 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "' - ק  ר א ט ו ן ם פ"
 | 
					 | 
				
			||||||
        - "ש ד ג כ ע י ח ל ך ף"
 | 
					 | 
				
			||||||
        - "ז ס ב ה נ מ צ ת ץ  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers comma preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # ₪ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € $ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "default"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    comma:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: ","
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ض ص ق ف غ ع ه خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ی ب ل ا ت ن م ک"
 | 
					 | 
				
			||||||
        - "Shift_L   ظ ط ز ر ذ د و  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "پ { } [ ] ّ   َ   ِ  ُ چ"
 | 
					 | 
				
			||||||
        - "ؤ ئ ي إ أ آ ة » « گ"
 | 
					 | 
				
			||||||
        - "Shift_L  ك ٓ ژ ء > < ؟  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰"
 | 
					 | 
				
			||||||
        - "@ # ﷼ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ؛ ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ض ص ق ف غ ع ه خ ح ج"
 | 
					 | 
				
			||||||
        - "ش س ی ب ل ا ت ن م ک"
 | 
					 | 
				
			||||||
        - "Shift_L   ظ ط ز ر ذ د و  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "پ { } [ ] ّ   َ   ِ  ُ چ"
 | 
					 | 
				
			||||||
        - "ؤ ئ ي إ أ آ ة » « گ"
 | 
					 | 
				
			||||||
        - "Shift_L  ك ٓ ژ ء > < ؟  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰"
 | 
					 | 
				
			||||||
        - "@ # ﷼ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ؛ ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    ".":
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
# Friulian layout created by Fabio Tomat
 | 
					 | 
				
			||||||
# 14 october 2020
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        , . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        “ ” Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' : ; ! =  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? . Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "â ê î ô û Â Ê Î Ô Û"
 | 
					 | 
				
			||||||
        - "à è ì ò ù À È Ì Ò Ù"
 | 
					 | 
				
			||||||
        - "show_numbers   ç Ç ᶜ ᵐ ⁿ ᵉ ᵗ  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ᶠ . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "àê"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        label: " "
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,34 +1,41 @@
 | 
				
			|||||||
# Italian layout created by Antonio Pandolfo
 | 
					# Italian layout created by Antonio Pandolfo
 | 
				
			||||||
# 03 october 2019
 | 
					# 03 october 2019
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 35.33, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 52.67, height: 52 }
 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 99.67, height: 52 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 44, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					        - "q w e r t y u i o p"
 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					        - "a s d f g h j k l"
 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					        - "Shift_L   z x c v b n m  BackSpace"
 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        , . Return"
 | 
					        - "show_numbers show_eschars preferences         space        , period Return"
 | 
				
			||||||
    upper:
 | 
					    upper:
 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					        - "Q W E R T Y U I O P"
 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					        - "A S D F G H J K L"
 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					        - "Shift_L   Z X C V B N M  BackSpace"
 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        ? . Return"
 | 
					        - "show_numbers show_eschars preferences         space        ? period Return"
 | 
				
			||||||
    numbers:
 | 
					    numbers:
 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					        - "1 2 3 4 5 6 7 8 9 0"
 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					        - "@ # € % & - _ + ( )"
 | 
				
			||||||
        - "show_symbols   , \" ' : ; ! ?  BackSpace"
 | 
					        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? . Return"
 | 
					        - "show_letters show_eschars preferences         space        ? period Return"
 | 
				
			||||||
    symbols:
 | 
					    symbols:
 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					        - "~ ` | · √ π τ ÷ × ¶"
 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					        - "© ® £ $ ¥ ^ ° * { }"
 | 
				
			||||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
					        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
				
			||||||
        - "show_letters show_eschars preferences         space        ? . Return"
 | 
					        - "show_letters show_eschars preferences         space        ? period Return"
 | 
				
			||||||
    eschars:
 | 
					    eschars:
 | 
				
			||||||
        - "á é í ó ú Á É Í Ó Ú"
 | 
					        - "á é í ó ú Á É Í Ó Ú"
 | 
				
			||||||
        - "à è ì ò « » ù ! { }"
 | 
					        - "à è ì ò « » ù ! { }"
 | 
				
			||||||
@ -46,7 +53,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "default"
 | 
					        outline: "default"
 | 
				
			||||||
@ -76,12 +83,17 @@ buttons:
 | 
				
			|||||||
            set_view: "eschars"
 | 
					            set_view: "eschars"
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "àè"
 | 
					        label: "àè"
 | 
				
			||||||
 | 
					    period:
 | 
				
			||||||
 | 
					        outline: "default"
 | 
				
			||||||
 | 
					        label: "."
 | 
				
			||||||
    space:
 | 
					    space:
 | 
				
			||||||
        outline: "spaceline"
 | 
					        outline: "spaceline"
 | 
				
			||||||
        label: " "
 | 
					        label: " "
 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					    Return:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "key-enter"
 | 
					        icon: "key-enter"
 | 
				
			||||||
        keysym: "Return"
 | 
					        keysym: "Return"
 | 
				
			||||||
 | 
					    colon:
 | 
				
			||||||
 | 
					        label: ":"
 | 
				
			||||||
 | 
					    "\"":
 | 
				
			||||||
 | 
					        keysym: "quotedbl"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,18 @@
 | 
				
			|||||||
# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
					# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 360, height: 208 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 62, height: 52 }
 | 
					    default:
 | 
				
			||||||
    default-wide: { width: 62, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
    altline: { width: 62, height: 52 }
 | 
					    default-wide:
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
    special: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base: # hiragana
 | 
					    base: # hiragana
 | 
				
			||||||
@ -195,7 +202,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "wide"
 | 
					        outline: "wide"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: erase
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    Return:
 | 
					    Return:
 | 
				
			||||||
        outline: "wide"
 | 
					        outline: "wide"
 | 
				
			||||||
        icon: "key-enter"
 | 
					        icon: "key-enter"
 | 
				
			||||||
@ -438,7 +445,7 @@ buttons:
 | 
				
			|||||||
                unlock_view: "カタカナ"
 | 
					                unlock_view: "カタカナ"
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "。"
 | 
					        label: "。"
 | 
				
			||||||
    # Buttons for Latin characters
 | 
					    # Buttons for Latin charachters
 | 
				
			||||||
    RSYM1:
 | 
					    RSYM1:
 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
            locking:
 | 
					            locking:
 | 
				
			||||||
 | 
				
			|||||||
@ -1,525 +0,0 @@
 | 
				
			|||||||
# Maintained by: Mark Müller <markmueller86@gmail.com>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 62, height: 42 }
 | 
					 | 
				
			||||||
    default-wide: { width: 62, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 62, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 62, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base: # hiragana
 | 
					 | 
				
			||||||
        - "preferences _a ka sa BackSpace"
 | 
					 | 
				
			||||||
        - "Left ta na ha Right"
 | 
					 | 
				
			||||||
        - "カタカナ ma ya ra space"
 | 
					 | 
				
			||||||
        - "switch2roman symbols wa punct Return"
 | 
					 | 
				
			||||||
    _a:
 | 
					 | 
				
			||||||
        - "preferences dummykey _a dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "あ い う え お"
 | 
					 | 
				
			||||||
        - "ぁ ぃ ぅ ぇ ぉ" # 2 code points each
 | 
					 | 
				
			||||||
        - "dummykey dummykey ゔ dummykey dummykey"
 | 
					 | 
				
			||||||
    ka:
 | 
					 | 
				
			||||||
        - "preferences dummykey ka dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "か き く け こ"
 | 
					 | 
				
			||||||
        - "が ぎ ぐ げ ご"
 | 
					 | 
				
			||||||
        - "ゕ dummykey dummykey ゖ dummykey"
 | 
					 | 
				
			||||||
    sa:
 | 
					 | 
				
			||||||
        - "preferences dummykey sa dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "さ し す せ そ"
 | 
					 | 
				
			||||||
        - "ざ じ ず ぜ ぞ"
 | 
					 | 
				
			||||||
    ta:
 | 
					 | 
				
			||||||
        - "preferences dummykey ta dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "た ち つ て と"
 | 
					 | 
				
			||||||
        - "だ ぢ づ で ど"
 | 
					 | 
				
			||||||
        - "dummykey dummykey っ dummykey dummykey"
 | 
					 | 
				
			||||||
    na:
 | 
					 | 
				
			||||||
        - "preferences dummykey na dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "な に ぬ ね の"
 | 
					 | 
				
			||||||
    ha:
 | 
					 | 
				
			||||||
        - "preferences dummykey ha dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "は ひ ふ へ ほ"
 | 
					 | 
				
			||||||
        - "ば び ぶ べ ぼ"
 | 
					 | 
				
			||||||
        - "ぱ ぴ ぷ ぺ ぽ"
 | 
					 | 
				
			||||||
    ma:
 | 
					 | 
				
			||||||
        - "preferences dummykey ma dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "ま み む め も"
 | 
					 | 
				
			||||||
    ya:
 | 
					 | 
				
			||||||
        - "preferences dummykey ya dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "や dummykey ゆ dummykey よ"
 | 
					 | 
				
			||||||
        - "ゃ dummykey ゅ dummykey ょ"
 | 
					 | 
				
			||||||
    ra:
 | 
					 | 
				
			||||||
        - "preferences dummykey ra dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "ら り る れ ろ"
 | 
					 | 
				
			||||||
    wa:
 | 
					 | 
				
			||||||
        - "preferences dummykey wa dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "わ ゐ dummykey ゑ を"
 | 
					 | 
				
			||||||
        - "ゎ dummykey ん dummykey dummykey"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "preferences dummykey symbols dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "「 」 ( ) §"
 | 
					 | 
				
			||||||
        - "【 】 < > ="
 | 
					 | 
				
			||||||
        - "+ * & % $ "
 | 
					 | 
				
			||||||
    punct:
 | 
					 | 
				
			||||||
        - "preferences dummykey punct dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "。 、 ? ! ー"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        - ": ; ・ 〜 …"
 | 
					 | 
				
			||||||
        - "♪ ” ’ ゙ ゚"
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
#a 	あア 	かカ 	さサ 	たタ 	なナ 	はハ 	まマ 	やヤ 	らラ 	わワ
 | 
					 | 
				
			||||||
#i 	いイ 	きキ 	しシ 	ちチ 	にニ 	ひヒ 	みミ 	※      りリ 	ゐヰ
 | 
					 | 
				
			||||||
#u 	うウ 	くク 	すス 	つツ 	ぬヌ 	ふフ 	むム 	ゆユ 	るル 	※
 | 
					 | 
				
			||||||
#e 	えエ 	けケ 	せセ 	てテ 	ねネ 	へヘ 	めメ 	※      れレ 	ゑヱ
 | 
					 | 
				
			||||||
#o 	おオ 	こコ 	そソ 	とト 	のノ 	ほホ 	もモ 	よヨ 	ろロ 	をヲ
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#      g       z       d       b       p      n
 | 
					 | 
				
			||||||
#a 	が ガ 	ざ ザ 	だ ダ 	ば バ 	ぱ パ   ん ン
 | 
					 | 
				
			||||||
#i 	ぎ ギ 	じ ジ 	ぢ ヂ 	び ビ 	ぴ ピ 
 | 
					 | 
				
			||||||
#u 	ぐ グ 	ず ズ 	づ ヅ 	ぶ ブ 	ぷ プ 
 | 
					 | 
				
			||||||
#e 	げ ゲ 	ぜ ゼ 	で デ 	べ ベ 	ぺ ペ 
 | 
					 | 
				
			||||||
#o 	ご ゴ 	ぞ ゾ 	ど ド 	ぼ ボ 	ぽ ポ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    カタカナ: # katakana
 | 
					 | 
				
			||||||
        - "preferences _A KA SA BackSpace"
 | 
					 | 
				
			||||||
        - "Left TA NA HA Right"
 | 
					 | 
				
			||||||
        - "ひらがな MA YA RA space"
 | 
					 | 
				
			||||||
        - "switch2roman SYMBOLS WA PUNCT Return"
 | 
					 | 
				
			||||||
    _A:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY _A DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ア イ ウ エ オ"
 | 
					 | 
				
			||||||
        - "ァ ィ ゥ ェ ォ"
 | 
					 | 
				
			||||||
        - "DUMMYKEY DUMMYKEY ヴ DUMMYKEY DUMMYKEY"
 | 
					 | 
				
			||||||
    KA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY KA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "カ キ ク ケ コ"
 | 
					 | 
				
			||||||
        - "ガ ギ グ ゲ ゴ"
 | 
					 | 
				
			||||||
        - "ヵ DUMMYKEY ㇰ ヶ DUMMYKEY"
 | 
					 | 
				
			||||||
    SA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY SA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "サ シ ス セ ソ"
 | 
					 | 
				
			||||||
        - "ザ ジ ズ ゼ ゾ"
 | 
					 | 
				
			||||||
        - "DUMMYKEY ㇱ ㇲ DUMMYKEY DUMMYKEY"
 | 
					 | 
				
			||||||
    TA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY TA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "タ チ ツ テ ト"
 | 
					 | 
				
			||||||
        - "ダ ヂ ヅ デ ド"
 | 
					 | 
				
			||||||
        - "DUMMYKEY DUMMYKEY ッ DUMMYKEY ㇳ"
 | 
					 | 
				
			||||||
    NA: 
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY NA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ナ ニ ヌ ネ ノ"
 | 
					 | 
				
			||||||
        - "DUMMYKEY DUMMYKEY ㇴ DUMMYKEY DUMMYKEY"
 | 
					 | 
				
			||||||
    HA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY HA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ハ ヒ フ ヘ ホ"
 | 
					 | 
				
			||||||
        - "バ ビ ブ ベ ボ"
 | 
					 | 
				
			||||||
        - "パ ピ プ ペ ポ"
 | 
					 | 
				
			||||||
    MA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY MA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "マ ミ ム メ モ"
 | 
					 | 
				
			||||||
        - "DUMMYKEY DUMMYKEY ㇺ DUMMYKEY DUMMYKEY"
 | 
					 | 
				
			||||||
    YA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY YA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ヤ DUMMYKEY ユ DUMMYKEY ヨ"
 | 
					 | 
				
			||||||
        - "ャ DUMMYKEY ュ DUMMYKEY ョ"
 | 
					 | 
				
			||||||
    RA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY RA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ラ リ ル レ ロ"
 | 
					 | 
				
			||||||
        - "ㇻ ㇼ ㇽ ㇾ ㇿ"
 | 
					 | 
				
			||||||
    WA:
 | 
					 | 
				
			||||||
        - "preferences DUMMYKEY WA DUMMYKEY BackSpace"
 | 
					 | 
				
			||||||
        - "ワ ヰ DUMMYKEY ヱ ヲ"
 | 
					 | 
				
			||||||
        - "ヮ ヸ ン ヹ ヺ"
 | 
					 | 
				
			||||||
    # numbers view
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "preferences 1 2 3 BackSpace"
 | 
					 | 
				
			||||||
        - "Left 4 5 6 Right"
 | 
					 | 
				
			||||||
        - "roman 7 8 9 space"
 | 
					 | 
				
			||||||
        - "switch2kana * 0 # Return"
 | 
					 | 
				
			||||||
    # Roman alphabet view
 | 
					 | 
				
			||||||
    roman:
 | 
					 | 
				
			||||||
        - "preferences RSYM1 ABC DEF BackSpace"
 | 
					 | 
				
			||||||
        - "Left GHI JKL MNO Right"
 | 
					 | 
				
			||||||
        - "ひらがな PQRS TUV WXYZ space"
 | 
					 | 
				
			||||||
        - "switch2num RSYM2 RSYM3 RSYM4 Return"
 | 
					 | 
				
			||||||
    RSYM1:
 | 
					 | 
				
			||||||
        - "preferences dummykey RSYM1 dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "@ # $ § :"
 | 
					 | 
				
			||||||
        - "| € ¥ £ 1"
 | 
					 | 
				
			||||||
    ABC:
 | 
					 | 
				
			||||||
        - "preferences dummykey ABC dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "A B C Ä ç"
 | 
					 | 
				
			||||||
        - "a b c ä 2"
 | 
					 | 
				
			||||||
    DEF:
 | 
					 | 
				
			||||||
        - "preferences dummykey DEF dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "D E F dummykey"
 | 
					 | 
				
			||||||
        - "d e f 3"
 | 
					 | 
				
			||||||
    GHI:
 | 
					 | 
				
			||||||
        - "preferences dummykey GHI dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "G H I dummykey"
 | 
					 | 
				
			||||||
        - "g h i 4"
 | 
					 | 
				
			||||||
    JKL:
 | 
					 | 
				
			||||||
        - "preferences dummykey JKL dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "J K L dummykey"
 | 
					 | 
				
			||||||
        - "j k l 5"
 | 
					 | 
				
			||||||
    MNO:
 | 
					 | 
				
			||||||
        - "preferences dummykey MNO dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "M N O Ö dummykey"
 | 
					 | 
				
			||||||
        - "m n o ö 6"
 | 
					 | 
				
			||||||
    PQRS:
 | 
					 | 
				
			||||||
        - "preferences dummykey PQRS dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "P Q R S ß"
 | 
					 | 
				
			||||||
        - "p q r s 7"
 | 
					 | 
				
			||||||
    TUV:
 | 
					 | 
				
			||||||
        - "preferences dummykey TUV dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "T U V Ü dummykey"
 | 
					 | 
				
			||||||
        - "t u v ü 8"
 | 
					 | 
				
			||||||
    WXYZ:
 | 
					 | 
				
			||||||
        - "preferences dummykey WXYZ dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "W X Y Z dummykey"
 | 
					 | 
				
			||||||
        - "w x y z 9"
 | 
					 | 
				
			||||||
    RSYM2:
 | 
					 | 
				
			||||||
        - "preferences dummykey RSYM2 dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "( ) ' \" ~"
 | 
					 | 
				
			||||||
        - "[ ] { } _"
 | 
					 | 
				
			||||||
    RSYM3:
 | 
					 | 
				
			||||||
        - "preferences dummykey RSYM3 dummykey BackSpace"
 | 
					 | 
				
			||||||
        - "+ - * / ="
 | 
					 | 
				
			||||||
        - "< > ^ ° 0"
 | 
					 | 
				
			||||||
    RSYM4:
 | 
					 | 
				
			||||||
        - "preferences dummykey RSYM4 dummykey BackSpace"
 | 
					 | 
				
			||||||
        - ", . ? ! ;"
 | 
					 | 
				
			||||||
        - "\\ ´ ` · ¶" 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    # following 4 buttons use the corresponding xkb name as keysym
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    Left:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "←"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    Right:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "→"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    # special button "preferences" is handled in the code
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    # space button using text tag for ideographic space
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "default-wide"
 | 
					 | 
				
			||||||
        label: "␣"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    # switch to number view
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    # switch to latin characters
 | 
					 | 
				
			||||||
    roman:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "roman"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ᴀʙᴄ"
 | 
					 | 
				
			||||||
    # toggle button with 3 different states
 | 
					 | 
				
			||||||
    switch2roman: # switch from kana to latin characters view
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "roman"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "あᴀ₁"
 | 
					 | 
				
			||||||
    switch2num: # switch from latin characters to numbers view
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ぁA₁"
 | 
					 | 
				
			||||||
    switch2kana: # switch from numbers to hiragana view
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ぁᴀ1"
 | 
					 | 
				
			||||||
    # Buttons for katakana and symbols
 | 
					 | 
				
			||||||
    ひらがな:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "あさ"
 | 
					 | 
				
			||||||
    _a:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "_a"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "あ"
 | 
					 | 
				
			||||||
    ka:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ka"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "か"
 | 
					 | 
				
			||||||
    sa:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "sa"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "さ"
 | 
					 | 
				
			||||||
    ta:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ta"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "た"
 | 
					 | 
				
			||||||
    na:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "na"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "な"
 | 
					 | 
				
			||||||
    ha:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ha"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "は"
 | 
					 | 
				
			||||||
    ma:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ma"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ま"
 | 
					 | 
				
			||||||
    ya:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ya"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "や"
 | 
					 | 
				
			||||||
    ra:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ra"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ら"
 | 
					 | 
				
			||||||
    wa:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "wa"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "わ"
 | 
					 | 
				
			||||||
    dummykey:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: ""
 | 
					 | 
				
			||||||
    # buttons available on different views like symbols and punct should go
 | 
					 | 
				
			||||||
    # back to their corresponding view
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "symbols"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "()"
 | 
					 | 
				
			||||||
    punct:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "punct"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "。"
 | 
					 | 
				
			||||||
    # Buttons for katakana and symbols
 | 
					 | 
				
			||||||
    カタカナ:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "アサ"
 | 
					 | 
				
			||||||
    _A:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "_A"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ア"
 | 
					 | 
				
			||||||
    KA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "KA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "カ"
 | 
					 | 
				
			||||||
    SA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "SA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "サ"
 | 
					 | 
				
			||||||
    TA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "TA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "タ"
 | 
					 | 
				
			||||||
    NA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "NA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ナ"
 | 
					 | 
				
			||||||
    HA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "HA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ハ"
 | 
					 | 
				
			||||||
    MA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "MA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "マ"
 | 
					 | 
				
			||||||
    YA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "YA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ヤ"
 | 
					 | 
				
			||||||
    RA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "RA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ラ"
 | 
					 | 
				
			||||||
    WA:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "WA"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ワ"
 | 
					 | 
				
			||||||
    DUMMYKEY:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: ""
 | 
					 | 
				
			||||||
    SYMBOLS:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "symbols"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "()"
 | 
					 | 
				
			||||||
    PUNCT:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "punct"
 | 
					 | 
				
			||||||
                unlock_view: "カタカナ"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "。"
 | 
					 | 
				
			||||||
    # Buttons for Latin characters
 | 
					 | 
				
			||||||
    RSYM1:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "RSYM1"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "@#"
 | 
					 | 
				
			||||||
    ABC:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "ABC"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴀʙᴄ"
 | 
					 | 
				
			||||||
    DEF:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "DEF"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴅᴇꜰ"
 | 
					 | 
				
			||||||
    GHI:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "GHI"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ɢʜɪ"
 | 
					 | 
				
			||||||
    JKL:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "JKL"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴊᴋʟ"
 | 
					 | 
				
			||||||
    MNO:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "MNO"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴍɴᴏ"
 | 
					 | 
				
			||||||
    PQRS:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "PQRS"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴘǫʀs"
 | 
					 | 
				
			||||||
    TUV:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "TUV"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴛᴜᴠ"
 | 
					 | 
				
			||||||
    WXYZ:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "WXYZ"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ᴡxʏᴢ"
 | 
					 | 
				
			||||||
    RSYM2:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "RSYM2"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "()"
 | 
					 | 
				
			||||||
    RSYM3:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "RSYM3"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "+-"
 | 
					 | 
				
			||||||
    RSYM4:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "RSYM4"
 | 
					 | 
				
			||||||
                unlock_view: "roman"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: ",.?"
 | 
					 | 
				
			||||||
@ -1,10 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 0.33, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 32, height: 52 }
 | 
				
			||||||
    wide: { width: 64, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 48.39024, height: 52 }
 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    outline7:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 88.97561, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 150.5853, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -25,7 +32,7 @@ views:
 | 
				
			|||||||
    symbols:
 | 
					    symbols:
 | 
				
			||||||
        - "~ ` | U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
 | 
					        - "~ ` | U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
 | 
				
			||||||
        - "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree * { }"
 | 
					        - "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree * { }"
 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
				
			||||||
        - "show_letters preferences         space        .    Return"
 | 
					        - "show_letters preferences         space        .    Return"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
buttons:
 | 
					buttons:
 | 
				
			||||||
@ -39,25 +46,20 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: erase
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					        icon: "keyboard-mode-symbolic"
 | 
				
			||||||
    show_numbers:
 | 
					    show_numbers:
 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
            set_view: "numbers"
 | 
					            set_view: "numbers"
 | 
				
			||||||
        outline: "wide"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: altline
 | 
					 | 
				
			||||||
        label: "123"
 | 
					        label: "123"
 | 
				
			||||||
    show_letters:
 | 
					    show_letters:
 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
            set_view: "base"
 | 
					            set_view: "base"
 | 
				
			||||||
        outline: "wide"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "ABC"
 | 
					        label: "ABC"
 | 
				
			||||||
    show_symbols:
 | 
					    show_symbols:
 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
@ -65,7 +67,7 @@ buttons:
 | 
				
			|||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "*/="
 | 
					        label: "*/="
 | 
				
			||||||
    ".":
 | 
					    ".":
 | 
				
			||||||
        outline: "special"
 | 
					        outline: altline
 | 
				
			||||||
    space:
 | 
					    space:
 | 
				
			||||||
        outline: spaceline
 | 
					        outline: spaceline
 | 
				
			||||||
        text: " "
 | 
					        text: " "
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,15 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 0.33, width: 360, height: 210 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 37.46341, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 37.46341, height: 52 }
 | 
				
			||||||
    outline7: { width: 88.97561, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 120.5853, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 48.39024, height: 52 }
 | 
				
			||||||
 | 
					    outline7:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 88.97561, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 120.5853, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -16,14 +22,14 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: erase
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    space:
 | 
					    space:
 | 
				
			||||||
        outline: spaceline
 | 
					        outline: spaceline
 | 
				
			||||||
        text: " "
 | 
					        text: " "
 | 
				
			||||||
    Return:
 | 
					    Return:
 | 
				
			||||||
        outline: outline7
 | 
					        outline: outline7
 | 
				
			||||||
        icon: "key-enter"
 | 
					        icon: "key-enter"
 | 
				
			||||||
        keysym: "Return"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    asterisk:
 | 
					    asterisk:
 | 
				
			||||||
        text: "*"
 | 
					        text: "*"
 | 
				
			||||||
    numbersign:
 | 
					    numbersign:
 | 
				
			||||||
@ -1,20 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
margins: { top: 4, side: 0, bottom: 4 }
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 120, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "1 2 3"
 | 
					 | 
				
			||||||
        - "4 5 6"
 | 
					 | 
				
			||||||
        - "7 8 9"
 | 
					 | 
				
			||||||
        - "BackSpace 0 Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,114 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 59, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 140, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_accents Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_upper_accents Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "q w ę r t y u i ó p"
 | 
					 | 
				
			||||||
        - "ą ś d f g h j k ł"
 | 
					 | 
				
			||||||
        - "accents_show_upper   ż ź ć v b ń m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_accents Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Q W Ę R T Y U I Ó P"
 | 
					 | 
				
			||||||
        - "Ą Ś D F G H J K Ł"
 | 
					 | 
				
			||||||
        - "accents_show_upper   Ż Ź Ć V B Ń M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_upper_accents Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    accents_show_upper:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "accents"
 | 
					 | 
				
			||||||
                looks_locked_from:
 | 
					 | 
				
			||||||
                    - "upper"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        keysym: "BackSpace"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ąę"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "upper"
 | 
					 | 
				
			||||||
                looks_locked_from:
 | 
					 | 
				
			||||||
                    - "accents"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ĄĘ"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,102 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 100, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 206, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_accents Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_upper_accents Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    accents:
 | 
					 | 
				
			||||||
        - "q w ę r t y u i ó p"
 | 
					 | 
				
			||||||
        - "ą ś d f g h j k ł"
 | 
					 | 
				
			||||||
        - "Shift_L   ż ź ć v b ń m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_accents Return"
 | 
					 | 
				
			||||||
    upper_accents:
 | 
					 | 
				
			||||||
        - "Q W Ę R T Y U I Ó P"
 | 
					 | 
				
			||||||
        - "Ą Ś D F G H J K Ł"
 | 
					 | 
				
			||||||
        - "Shift_L   Ż Ź Ć V B Ń M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_upper_accents Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        keysym: "BackSpace"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "accents"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ąę"
 | 
					 | 
				
			||||||
    show_upper_accents:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper_accents"
 | 
					 | 
				
			||||||
                unlock_view: "upper"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ĄĘ"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 99.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        , Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        , Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "ă â î ș ț á é í ó ü"
 | 
					 | 
				
			||||||
        - "Ă Â Î Ș Ț Á É Í Ó Ü"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols „ ” « » ― { } BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ăĂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 153, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers show_eschars preferences         space        , Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        , Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "ă â î ș ț á é í ó ü"
 | 
					 | 
				
			||||||
        - "Ă Â Î Ș Ț Á É Í Ó Ü"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols „ ” « » ― { } BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters show_eschars preferences         space        . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "ăĂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,94 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 57, height: 52 }
 | 
					 | 
				
			||||||
    narrow: { width: 26, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 107, height: 52 }
 | 
					 | 
				
			||||||
    fill: { width: 159, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 42, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "й ц у к е н г ш щ з х"
 | 
					 | 
				
			||||||
        - "ф ы в а п р о л д ж э"
 | 
					 | 
				
			||||||
        - "Shift_L  я ч с м и т ь б ю  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences    ё  space  ъ  period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Й Ц У К Е Н Г Ш Щ З Х"
 | 
					 | 
				
			||||||
        - "Ф Ы В А П Р О Л Д Ж Э"
 | 
					 | 
				
			||||||
        - "Shift_L   Я Ч С М И Т Ь Б Ю  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences    Ё  space  Ъ  comma Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space_fill   period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space_fill   period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "АБВ"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    comma:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: ","
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    space_fill:
 | 
					 | 
				
			||||||
        outline: "fill"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    ё:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    Ё:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    ъ:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    Ъ:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
@ -1,11 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
outlines:
 | 
					bounds: { x: 0, y: 0.33, width: 360, height: 210 }
 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 48.39024, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 64,  height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					outlines:
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 32, height: 52 }
 | 
				
			||||||
 | 
					    altline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 48.39024, height: 52 }
 | 
				
			||||||
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    outline7:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 88.97561, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 150.5853, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -26,7 +32,7 @@ views:
 | 
				
			|||||||
    symbols:
 | 
					    symbols:
 | 
				
			||||||
        - "asciitilde quoteleft bar U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
 | 
					        - "asciitilde quoteleft bar U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
 | 
				
			||||||
        - "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree asterisk braceleft braceright"
 | 
					        - "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree asterisk braceleft braceright"
 | 
				
			||||||
        - "show_numbers_from_symbols   backslash slash less greater equal bracketleft bracketright  BackSpace"
 | 
					        - "show_numbers   backslash slash less greater equal bracketleft bracketright  BackSpace"
 | 
				
			||||||
        - "show_letters preferences         space        .    Return"
 | 
					        - "show_letters preferences         space        .    Return"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
buttons:
 | 
					buttons:
 | 
				
			||||||
@ -38,27 +44,22 @@ buttons:
 | 
				
			|||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "key-shift"
 | 
					        icon: "key-shift"
 | 
				
			||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: altline
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: erase
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					        icon: "keyboard-mode-symbolic"
 | 
				
			||||||
    show_numbers:
 | 
					    show_numbers:
 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
            set_view: "numbers"
 | 
					            set_view: "numbers"
 | 
				
			||||||
        label: "123"
 | 
					        outline: "altline"
 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: altline
 | 
					 | 
				
			||||||
        label: "123"
 | 
					        label: "123"
 | 
				
			||||||
    show_letters:
 | 
					    show_letters:
 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
            set_view: "base"
 | 
					            set_view: "base"
 | 
				
			||||||
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "ABC"
 | 
					        label: "ABC"
 | 
				
			||||||
    show_symbols:
 | 
					    show_symbols:
 | 
				
			||||||
        action:
 | 
					        action:
 | 
				
			||||||
@ -66,7 +67,7 @@ buttons:
 | 
				
			|||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        label: "*/="
 | 
					        label: "*/="
 | 
				
			||||||
    ".":
 | 
					    ".":
 | 
				
			||||||
        outline: "special"
 | 
					        outline: altline
 | 
				
			||||||
    space:
 | 
					    space:
 | 
				
			||||||
        outline: spaceline
 | 
					        outline: spaceline
 | 
				
			||||||
        text: " "
 | 
					        text: " "
 | 
				
			||||||
@ -162,3 +163,4 @@ buttons:
 | 
				
			|||||||
        text: "["
 | 
					        text: "["
 | 
				
			||||||
    bracketright:
 | 
					    bracketright:
 | 
				
			||||||
        text: "]"
 | 
					        text: "]"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,220 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    action:    { width: 59,    height: 46 }
 | 
					 | 
				
			||||||
    small:     { width: 50,    height: 22 }
 | 
					 | 
				
			||||||
    default:   { width: 35.33, height: 46 }
 | 
					 | 
				
			||||||
    altline:   { width: 48,    height: 46 }
 | 
					 | 
				
			||||||
    wide:      { width: 50,    height: 46 }
 | 
					 | 
				
			||||||
    spaceline: { width: 110,   height: 46 }
 | 
					 | 
				
			||||||
    special:   { width: 44,    height: 46 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "Ctrl Alt Tabsmall ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n period   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Ctrl Alt Tabsmall PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "Ctrl Alt Tabsmall ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "Ctrl Alt Tabsmall ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "Ctrl Alt Tabsmall ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    actions:
 | 
					 | 
				
			||||||
        - "Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "F1  F2  F3  F4  F5  F6"
 | 
					 | 
				
			||||||
        - "F7  F8  F9  F10 F11 F12"
 | 
					 | 
				
			||||||
        - "Esc Tab Pause Insert Up Del"
 | 
					 | 
				
			||||||
        - "show_letters Menu Break Left Down Right"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    F1:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F1"
 | 
					 | 
				
			||||||
    F2:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F2"
 | 
					 | 
				
			||||||
    F3:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F3"
 | 
					 | 
				
			||||||
    F4:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F4"
 | 
					 | 
				
			||||||
    F5:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F5"
 | 
					 | 
				
			||||||
    F6:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F6"
 | 
					 | 
				
			||||||
    F7:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F7"
 | 
					 | 
				
			||||||
    F8:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F8"
 | 
					 | 
				
			||||||
    F9:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F9"
 | 
					 | 
				
			||||||
    F10:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F10"
 | 
					 | 
				
			||||||
    F11:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F11"
 | 
					 | 
				
			||||||
    F12:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F12"
 | 
					 | 
				
			||||||
    Esc:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
    Tab:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
    Tabsmall:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
        label: "Tab"
 | 
					 | 
				
			||||||
    Del:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Delete"
 | 
					 | 
				
			||||||
    Insert:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Insert"
 | 
					 | 
				
			||||||
    Menu:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Menu"
 | 
					 | 
				
			||||||
    Pause:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Pause"
 | 
					 | 
				
			||||||
    Break:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Break"
 | 
					 | 
				
			||||||
    Home:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Home"
 | 
					 | 
				
			||||||
    End:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "End"
 | 
					 | 
				
			||||||
    PgUp:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Up"
 | 
					 | 
				
			||||||
    PgDn:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Down"
 | 
					 | 
				
			||||||
    "↑":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    "↓":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    "←":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    "→":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Up:
 | 
					 | 
				
			||||||
        label: "↑"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    Left:
 | 
					 | 
				
			||||||
        label: "←"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    Down:
 | 
					 | 
				
			||||||
        label: "↓"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    Right:
 | 
					 | 
				
			||||||
        label: "→"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Ctrl:
 | 
					 | 
				
			||||||
        modifier: "Control"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Ctrl"
 | 
					 | 
				
			||||||
    Alt:
 | 
					 | 
				
			||||||
        modifier: "Alt"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Alt"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    show_actions:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "actions"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: ">_"
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,223 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    action:    { width: 90,   height: 37 }
 | 
					 | 
				
			||||||
    small:     { width: 67.4, height: 22 }
 | 
					 | 
				
			||||||
    default:   { width: 54,  height: 37 }
 | 
					 | 
				
			||||||
    altline:   { width: 81,  height: 37 }
 | 
					 | 
				
			||||||
    wide:      { width: 100, height: 37 }
 | 
					 | 
				
			||||||
    spaceline: { width: 110, height: 37 }
 | 
					 | 
				
			||||||
    special:   { width: 54,  height: 37 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "a z e r t y u i o p"
 | 
					 | 
				
			||||||
        - "q s d f g h j k l m"
 | 
					 | 
				
			||||||
        - "Shift_L   w x c v b n period   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "A Z E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "Q S D F G H J K L M"
 | 
					 | 
				
			||||||
        - "Shift_L   W X C V B N ,  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # € % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    eschars:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "à â ç é è ê î ô ù û"
 | 
					 | 
				
			||||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols  æ œ ä ë ï ö ü  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        show_eschars show_actions Return"
 | 
					 | 
				
			||||||
    actions:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "F1  F2  F3  F4  F5  F6"
 | 
					 | 
				
			||||||
        - "F7  F8  F9  F10 F11 F12"
 | 
					 | 
				
			||||||
        - "Esc Tab Pause Insert Up Del"
 | 
					 | 
				
			||||||
        - "show_letters Menu Break Left Down Right"
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    F1:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F1"
 | 
					 | 
				
			||||||
    F2:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F2"
 | 
					 | 
				
			||||||
    F3:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F3"
 | 
					 | 
				
			||||||
    F4:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F4"
 | 
					 | 
				
			||||||
    F5:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F5"
 | 
					 | 
				
			||||||
    F6:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F6"
 | 
					 | 
				
			||||||
    F7:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F7"
 | 
					 | 
				
			||||||
    F8:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F8"
 | 
					 | 
				
			||||||
    F9:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F9"
 | 
					 | 
				
			||||||
    F10:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F10"
 | 
					 | 
				
			||||||
    F11:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F11"
 | 
					 | 
				
			||||||
    F12:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F12"
 | 
					 | 
				
			||||||
    Esc:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
    EscSmall:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
        label: "Esc"
 | 
					 | 
				
			||||||
    Tab:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
    TabSmall:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
        label: "Tab"
 | 
					 | 
				
			||||||
    Del:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Delete"
 | 
					 | 
				
			||||||
    Insert:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Insert"
 | 
					 | 
				
			||||||
    Menu:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Menu"
 | 
					 | 
				
			||||||
    Pause:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Pause"
 | 
					 | 
				
			||||||
    Break:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Break"
 | 
					 | 
				
			||||||
    Home:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Home"
 | 
					 | 
				
			||||||
    End:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "End"
 | 
					 | 
				
			||||||
    PgUp:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Up"
 | 
					 | 
				
			||||||
    PgDn:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Down"
 | 
					 | 
				
			||||||
    "↑":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    "↓":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    "←":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    "→":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Up:
 | 
					 | 
				
			||||||
        label: "↑"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    Left:
 | 
					 | 
				
			||||||
        label: "←"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    Down:
 | 
					 | 
				
			||||||
        label: "↓"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    Right:
 | 
					 | 
				
			||||||
        label: "→"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Ctrl:
 | 
					 | 
				
			||||||
        modifier: "Control"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Ctrl"
 | 
					 | 
				
			||||||
    Alt:
 | 
					 | 
				
			||||||
        modifier: "Alt"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Alt"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    show_actions:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "actions"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        label: ">_"
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "abc"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    show_eschars:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "eschars"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "âÂ"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    "\"":
 | 
					 | 
				
			||||||
        keysym: "quotedbl"
 | 
					 | 
				
			||||||
@ -1,200 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 46 }
 | 
					 | 
				
			||||||
    action:  { width: 59,    height: 46 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 46 }
 | 
					 | 
				
			||||||
    wide: { width: 59, height: 46 }
 | 
					 | 
				
			||||||
    spaceline: { width: 140, height: 46 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 46 }
 | 
					 | 
				
			||||||
    small: { width: 59, height: 22 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences      space        show_actions Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences      space        show_actions Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    actions:
 | 
					 | 
				
			||||||
        - "Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "F1  F2  F3  F4  F5  F6"
 | 
					 | 
				
			||||||
        - "F7  F8  F9  F10 F11 F12"
 | 
					 | 
				
			||||||
        - "Esc Tab Pause Insert Up Del"
 | 
					 | 
				
			||||||
        - "show_letters Menu Break Left Down Right"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "τ=\\"
 | 
					 | 
				
			||||||
    show_actions:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "actions"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: ">_"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    F1:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F1"
 | 
					 | 
				
			||||||
    F2:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F2"
 | 
					 | 
				
			||||||
    F3:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F3"
 | 
					 | 
				
			||||||
    F4:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F4"
 | 
					 | 
				
			||||||
    F5:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F5"
 | 
					 | 
				
			||||||
    F6:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F6"
 | 
					 | 
				
			||||||
    F7:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F7"
 | 
					 | 
				
			||||||
    F8:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F8"
 | 
					 | 
				
			||||||
    F9:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F9"
 | 
					 | 
				
			||||||
    F10:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F10"
 | 
					 | 
				
			||||||
    F11:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F11"
 | 
					 | 
				
			||||||
    F12:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F12"
 | 
					 | 
				
			||||||
    Esc:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
    Tab:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
    Del:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Delete"
 | 
					 | 
				
			||||||
    Insert:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Insert"
 | 
					 | 
				
			||||||
    Menu:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Menu"
 | 
					 | 
				
			||||||
    Pause:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Pause"
 | 
					 | 
				
			||||||
    Break:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Break"
 | 
					 | 
				
			||||||
    Home:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Home"
 | 
					 | 
				
			||||||
    End:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "End"
 | 
					 | 
				
			||||||
    PgUp:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Up"
 | 
					 | 
				
			||||||
    PgDn:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Down"
 | 
					 | 
				
			||||||
    "↑":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    "↓":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    "←":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    "→":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Up:
 | 
					 | 
				
			||||||
        label: "↑"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    Left:
 | 
					 | 
				
			||||||
        label: "←"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    Down:
 | 
					 | 
				
			||||||
        label: "↓"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    Right:
 | 
					 | 
				
			||||||
        label: "→"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Ctrl:
 | 
					 | 
				
			||||||
        modifier: "Control"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Ctrl"
 | 
					 | 
				
			||||||
    Alt:
 | 
					 | 
				
			||||||
        modifier: "Alt"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Alt"
 | 
					 | 
				
			||||||
@ -1,208 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default:   { width: 54,   height: 37 }
 | 
					 | 
				
			||||||
    action:    { width: 90,   height: 37 }
 | 
					 | 
				
			||||||
    altline:   { width: 81,   height: 37 }
 | 
					 | 
				
			||||||
    wide:      { width: 90,   height: 37 }
 | 
					 | 
				
			||||||
    spaceline: { width: 225,  height: 37 }
 | 
					 | 
				
			||||||
    special:   { width: 54,   height: 37 }
 | 
					 | 
				
			||||||
    small:     { width: 67.4, height: 22 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences      space        show_actions Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences      space        show_actions Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    actions:
 | 
					 | 
				
			||||||
        - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
 | 
					 | 
				
			||||||
        - "F1  F2  F3  F4  F5  F6"
 | 
					 | 
				
			||||||
        - "F7  F8  F9  F10 F11 F12"
 | 
					 | 
				
			||||||
        - "Esc Tab Pause Insert Up Del"
 | 
					 | 
				
			||||||
        - "show_letters Menu Break Left Down Right"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "τ=\\"
 | 
					 | 
				
			||||||
    show_actions:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "actions"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: ">_"
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    F1:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F1"
 | 
					 | 
				
			||||||
    F2:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F2"
 | 
					 | 
				
			||||||
    F3:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F3"
 | 
					 | 
				
			||||||
    F4:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F4"
 | 
					 | 
				
			||||||
    F5:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F5"
 | 
					 | 
				
			||||||
    F6:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F6"
 | 
					 | 
				
			||||||
    F7:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F7"
 | 
					 | 
				
			||||||
    F8:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F8"
 | 
					 | 
				
			||||||
    F9:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F9"
 | 
					 | 
				
			||||||
    F10:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F10"
 | 
					 | 
				
			||||||
    F11:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F11"
 | 
					 | 
				
			||||||
    F12:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "F12"
 | 
					 | 
				
			||||||
    Esc:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
    EscSmall:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Escape"
 | 
					 | 
				
			||||||
        label: "Esc"
 | 
					 | 
				
			||||||
    Tab:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
    TabSmall:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Tab"
 | 
					 | 
				
			||||||
        label: "Tab"
 | 
					 | 
				
			||||||
    Del:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Delete"
 | 
					 | 
				
			||||||
    Insert:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Insert"
 | 
					 | 
				
			||||||
    Menu:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Menu"
 | 
					 | 
				
			||||||
    Pause:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Pause"
 | 
					 | 
				
			||||||
    Break:
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Break"
 | 
					 | 
				
			||||||
    Home:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Home"
 | 
					 | 
				
			||||||
    End:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "End"
 | 
					 | 
				
			||||||
    PgUp:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Up"
 | 
					 | 
				
			||||||
    PgDn:
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Page_Down"
 | 
					 | 
				
			||||||
    "↑":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    "↓":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    "←":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    "→":
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Up:
 | 
					 | 
				
			||||||
        label: "↑"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Up"
 | 
					 | 
				
			||||||
    Left:
 | 
					 | 
				
			||||||
        label: "←"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Left"
 | 
					 | 
				
			||||||
    Down:
 | 
					 | 
				
			||||||
        label: "↓"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Down"
 | 
					 | 
				
			||||||
    Right:
 | 
					 | 
				
			||||||
        label: "→"
 | 
					 | 
				
			||||||
        outline: "action"
 | 
					 | 
				
			||||||
        keysym: "Right"
 | 
					 | 
				
			||||||
    Ctrl:
 | 
					 | 
				
			||||||
        modifier: "Control"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Ctrl"
 | 
					 | 
				
			||||||
    Alt:
 | 
					 | 
				
			||||||
        modifier: "Alt"
 | 
					 | 
				
			||||||
        outline: "small"
 | 
					 | 
				
			||||||
        label: "Alt"
 | 
					 | 
				
			||||||
@ -1,80 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ๅ / _ ภ ถ ุ ึ ค ต จ ข ช"
 | 
					 | 
				
			||||||
        - "ๆ ไ ำ พ ะ ั ี ร น ย บ ล"
 | 
					 | 
				
			||||||
        - "ฟ ห ก ด เ ้ ่ า ส ว ง ฃ"
 | 
					 | 
				
			||||||
        - "Shift_L   ผ ป แ อ ิ ื ท ม ใ ฝ   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "+ ๑ ๒ ๓ ๔ ู ฿ ๕ ๖ ๗ ๘ ๙"
 | 
					 | 
				
			||||||
        - "๐ \" ฎ ฑ ธ ํ ๊ ณ ฯ ญ ฐ ,"
 | 
					 | 
				
			||||||
        - "ฤ ฆ ฏ โ ฌ ็ ๋ ษ ศ ซ . ฅ"
 | 
					 | 
				
			||||||
        - "Shift_L   ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "กขค"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,84 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 75, height: 56 }
 | 
					 | 
				
			||||||
    altline: { width: 75, height: 56 }
 | 
					 | 
				
			||||||
    wide: { width: 135, height: 56 }
 | 
					 | 
				
			||||||
    spaceline: { width: 450, height: 56 }
 | 
					 | 
				
			||||||
    spacelinesymbol: { width: 300, height: 56 }
 | 
					 | 
				
			||||||
    special: { width: 90, height: 56 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "ๅ / _ ภ ถ ุ ึ ค ต จ ข ช"
 | 
					 | 
				
			||||||
        - "ๆ ไ ำ พ ะ ั ี ร น ย บ ล"
 | 
					 | 
				
			||||||
        - "ฟ ห ก ด เ ้ ่ า ส ว ง ฃ"
 | 
					 | 
				
			||||||
        - "Shift_L   ผ ป แ อ ิ ื ท ม ใ ฝ   BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "+ ๑ ๒ ๓ ๔ ู ฿ ๕ ๖ ๗ ๘ ๙"
 | 
					 | 
				
			||||||
        - "๐ \" ฎ ฑ ธ ํ ๊ ณ ฯ ญ ฐ ,"
 | 
					 | 
				
			||||||
        - "ฤ ฆ ฏ โ ฌ ็ ๋ ษ ศ ซ . ฅ"
 | 
					 | 
				
			||||||
        - "Shift_L   ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         spacesymbol        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         spacesymbol        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "กขค"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    spacesymbol:
 | 
					 | 
				
			||||||
        outline: "spacelinesymbol"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,94 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 32, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 57, height: 52 }
 | 
					 | 
				
			||||||
    narrow: { width: 26, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 107, height: 52 }
 | 
					 | 
				
			||||||
    fill: { width: 159, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 42, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "й ц у к е н г ш щ з х"
 | 
					 | 
				
			||||||
        - "ф і в а п р о л д ж є"
 | 
					 | 
				
			||||||
        - "Shift_L  я ч с м и т ь б ю  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences    ґ  space  ї  period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Й Ц У К Е Н Г Ш Щ З Х"
 | 
					 | 
				
			||||||
        - "Ф І В А П Р О Л Д Ж Є"
 | 
					 | 
				
			||||||
        - "Shift_L   Я Ч С М И Т Ь Б Ю  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences    Ґ  space  Ї  comma Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space_fill   period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space_fill   period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "АБВ"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    comma:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: ","
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    space_fill:
 | 
					 | 
				
			||||||
        outline: "fill"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
    ґ:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    Ґ:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    ї:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
    Ї:
 | 
					 | 
				
			||||||
        outline: "narrow"
 | 
					 | 
				
			||||||
@ -1,81 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 106.67, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w e r t y u i o p"
 | 
					 | 
				
			||||||
        - "a s d f g h j k l"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b n m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        slash period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W E R T Y U I O P"
 | 
					 | 
				
			||||||
        - "A S D F G H J K L"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B N M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        slash period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        slash period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        slash period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    slash:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "/"
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w f p g j l u y"
 | 
					 | 
				
			||||||
        - "a r s t d h n e i o"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b k m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W F P G J L U Y"
 | 
					 | 
				
			||||||
        - "A R S T D H N E I O"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B K M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: erase
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: show_prefs
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "q w f p g j l u y"
 | 
					 | 
				
			||||||
        - "a r s t d h n e i o"
 | 
					 | 
				
			||||||
        - "Shift_L   z x c v b k m  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Q W F P G J L U Y"
 | 
					 | 
				
			||||||
        - "A R S T D H N E I O"
 | 
					 | 
				
			||||||
        - "Shift_L   Z X C V B K M  BackSpace"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        . Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "@ # $ % & - _ + ( )"
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        . Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    ".":
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "Shift_L   p y f g c r l  BackSpace"
 | 
					 | 
				
			||||||
        - "a o e u i d h t n s"
 | 
					 | 
				
			||||||
        - ", q j k x b m w v z"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Shift_L   P Y F G C R L  BackSpace"
 | 
					 | 
				
			||||||
        - "A O E U I D H T N S"
 | 
					 | 
				
			||||||
        - ", Q J K X B M W V Z"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The US QWERTY layout has fewer letters on the third row, and so has
 | 
					 | 
				
			||||||
# the shift & backspace keys placed there. In contrast, the US DVORAK
 | 
					 | 
				
			||||||
# layout has fewer letters on the first row, which makes it a good
 | 
					 | 
				
			||||||
# choice for the shift & backspace keys. That leads to what may be,
 | 
					 | 
				
			||||||
# for many people, an unexpected layout in numbers mode: the numerals
 | 
					 | 
				
			||||||
# are on the third row (not the first) so that the backspace key
 | 
					 | 
				
			||||||
# remains in a consistent location regardless of mode, without
 | 
					 | 
				
			||||||
# sacrificing key width. (Once could argue that in numbers mode, the
 | 
					 | 
				
			||||||
# numerals should be closer to the enter key.) As with any keyboard
 | 
					 | 
				
			||||||
# layout, familiarity comes with repeated use.
 | 
					 | 
				
			||||||
@ -1,89 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outlines:
 | 
					 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
views:
 | 
					 | 
				
			||||||
    base:
 | 
					 | 
				
			||||||
        - "Shift_L   p y f g c r l  BackSpace"
 | 
					 | 
				
			||||||
        - "a o e u i d h t n s"
 | 
					 | 
				
			||||||
        - ", q j k x b m w v z"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    upper:
 | 
					 | 
				
			||||||
        - "Shift_L   P Y F G C R L  BackSpace"
 | 
					 | 
				
			||||||
        - "A O E U I D H T N S"
 | 
					 | 
				
			||||||
        - ", Q J K X B M W V Z"
 | 
					 | 
				
			||||||
        - "show_numbers preferences         space        period Return"
 | 
					 | 
				
			||||||
    numbers:
 | 
					 | 
				
			||||||
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
 | 
					 | 
				
			||||||
        - "* # $ / & - _ + ( )"
 | 
					 | 
				
			||||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
    symbols:
 | 
					 | 
				
			||||||
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
 | 
					 | 
				
			||||||
        - "© ® £ € ¥ ^ ° @ { }"
 | 
					 | 
				
			||||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
					 | 
				
			||||||
        - "show_letters preferences         space        period Return"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
buttons:
 | 
					 | 
				
			||||||
    Shift_L:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            locking:
 | 
					 | 
				
			||||||
                lock_view: "upper"
 | 
					 | 
				
			||||||
                unlock_view: "base"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "key-shift"
 | 
					 | 
				
			||||||
    BackSpace:
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					 | 
				
			||||||
        action: "erase"
 | 
					 | 
				
			||||||
    preferences:
 | 
					 | 
				
			||||||
        action: "show_prefs"
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					 | 
				
			||||||
    show_numbers:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_numbers_from_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "numbers"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "123"
 | 
					 | 
				
			||||||
    show_letters:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "base"
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        label: "ABC"
 | 
					 | 
				
			||||||
    show_symbols:
 | 
					 | 
				
			||||||
        action:
 | 
					 | 
				
			||||||
            set_view: "symbols"
 | 
					 | 
				
			||||||
        outline: "altline"
 | 
					 | 
				
			||||||
        label: "*/="
 | 
					 | 
				
			||||||
    period:
 | 
					 | 
				
			||||||
        outline: "special"
 | 
					 | 
				
			||||||
        text: "."
 | 
					 | 
				
			||||||
    space:
 | 
					 | 
				
			||||||
        outline: "spaceline"
 | 
					 | 
				
			||||||
        text: " "
 | 
					 | 
				
			||||||
    Return:
 | 
					 | 
				
			||||||
        outline: "wide"
 | 
					 | 
				
			||||||
        icon: "key-enter"
 | 
					 | 
				
			||||||
        keysym: "Return"
 | 
					 | 
				
			||||||
    colon:
 | 
					 | 
				
			||||||
        text: ":"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The US QWERTY layout has fewer letters on the third row, and so has
 | 
					 | 
				
			||||||
# the shift & backspace keys placed there. In contrast, the US DVORAK
 | 
					 | 
				
			||||||
# layout has fewer letters on the first row, which makes it a good
 | 
					 | 
				
			||||||
# choice for the shift & backspace keys. That leads to what may be,
 | 
					 | 
				
			||||||
# for many people, an unexpected layout in numbers mode: the numerals
 | 
					 | 
				
			||||||
# are on the third row (not the first) so that the backspace key
 | 
					 | 
				
			||||||
# remains in a consistent location regardless of mode, without
 | 
					 | 
				
			||||||
# sacrificing key width. (Once could argue that in numbers mode, the
 | 
					 | 
				
			||||||
# numerals should be closer to the enter key.) As with any keyboard
 | 
					 | 
				
			||||||
# layout, familiarity comes with repeated use.
 | 
					 | 
				
			||||||
@ -1,10 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 360, height: 208 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 35.33, height: 52 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 52.67, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 35.33, height: 52 }
 | 
				
			||||||
    wide: { width: 62, height: 52 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 142, height: 52 }
 | 
					        bounds: { x: 0, y: 0, width: 52.67, height: 52 }
 | 
				
			||||||
    special: { width: 44, height: 52 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 62, height: 52 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 142, height: 52 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 44, height: 52 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -39,9 +46,9 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: erase
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: show_prefs
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "special"
 | 
				
			||||||
        icon: "keyboard-mode-symbolic"
 | 
					        icon: "keyboard-mode-symbolic"
 | 
				
			||||||
    show_numbers:
 | 
					    show_numbers:
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,17 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					bounds: { x: 0, y: 1, width: 540, height: 168 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
outlines:
 | 
					outlines:
 | 
				
			||||||
    default: { width: 54, height: 42 }
 | 
					    default:
 | 
				
			||||||
    altline: { width: 81, height: 42 }
 | 
					        bounds: { x: 0, y: 0, width: 54, height: 42 }
 | 
				
			||||||
    wide: { width: 108, height: 42 }
 | 
					    altline:
 | 
				
			||||||
    spaceline: { width: 216, height: 42 }
 | 
					        bounds: { x: 0, y: 0, width: 81, height: 42 }
 | 
				
			||||||
    special: { width: 54, height: 42 }
 | 
					    wide:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 108, height: 42 }
 | 
				
			||||||
 | 
					    spaceline:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 216, height: 42 }
 | 
				
			||||||
 | 
					    special:
 | 
				
			||||||
 | 
					        bounds: { x: 0, y: 0, width: 54, height: 42 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
views:
 | 
					views:
 | 
				
			||||||
    base:
 | 
					    base:
 | 
				
			||||||
@ -39,7 +46,7 @@ buttons:
 | 
				
			|||||||
    BackSpace:
 | 
					    BackSpace:
 | 
				
			||||||
        outline: "altline"
 | 
					        outline: "altline"
 | 
				
			||||||
        icon: "edit-clear-symbolic"
 | 
					        icon: "edit-clear-symbolic"
 | 
				
			||||||
        action: "erase"
 | 
					        keysym: "BackSpace"
 | 
				
			||||||
    preferences:
 | 
					    preferences:
 | 
				
			||||||
        action: "show_prefs"
 | 
					        action: "show_prefs"
 | 
				
			||||||
        outline: "special"
 | 
					        outline: "special"
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								data/langs/de-DE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/langs/de-DE.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					us Englisch (US)
 | 
				
			||||||
 | 
					de Deutsch
 | 
				
			||||||
 | 
					el Griechisch
 | 
				
			||||||
 | 
					es Spanisch
 | 
				
			||||||
 | 
					it Italienisch
 | 
				
			||||||
 | 
					jp+kana Japanisch (Kana)
 | 
				
			||||||
 | 
					no Norwegisch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								data/langs/en-US.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								data/langs/en-US.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					us English (US)
 | 
				
			||||||
 | 
					de German
 | 
				
			||||||
 | 
					el Greek
 | 
				
			||||||
 | 
					es Spanish
 | 
				
			||||||
 | 
					fi Finnish
 | 
				
			||||||
 | 
					it Italian
 | 
				
			||||||
 | 
					jp+kana Japanese (kana)
 | 
				
			||||||
 | 
					no Norwegian
 | 
				
			||||||
 | 
					se Swedish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								data/langs/es-ES.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								data/langs/es-ES.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					us Inglés (EE.UU.)
 | 
				
			||||||
 | 
					de Alemán
 | 
				
			||||||
 | 
					el Griego
 | 
				
			||||||
 | 
					es Español
 | 
				
			||||||
 | 
					it Italiano
 | 
				
			||||||
 | 
					jp+kana Japonés (Kana)
 | 
				
			||||||
 | 
					no Noruego
 | 
				
			||||||
							
								
								
									
										8
									
								
								data/langs/ja-JP.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/langs/ja-JP.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					us 英語 (US)
 | 
				
			||||||
 | 
					de ドイツ語
 | 
				
			||||||
 | 
					el ギリシャ語
 | 
				
			||||||
 | 
					es スペイン語
 | 
				
			||||||
 | 
					it イタリア語
 | 
				
			||||||
 | 
					jp+kana 日本語 (かな)
 | 
				
			||||||
 | 
					nb ノルウェー語
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								data/langs/pl-PL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								data/langs/pl-PL.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					us angielski (USA)
 | 
				
			||||||
 | 
					de niemiecki
 | 
				
			||||||
 | 
					el grecki
 | 
				
			||||||
 | 
					es hiszpański
 | 
				
			||||||
 | 
					fi fiński
 | 
				
			||||||
 | 
					it włoski
 | 
				
			||||||
 | 
					jp+kana japoński (kana)
 | 
				
			||||||
 | 
					no norweski
 | 
				
			||||||
 | 
					se szwedzki
 | 
				
			||||||
@ -7,20 +7,13 @@ squeekboard_resources = gnome.compile_resources(
 | 
				
			|||||||
   c_name: 'squeekboard',
 | 
					   c_name: 'squeekboard',
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
desktopconf = configuration_data()
 | 
					 | 
				
			||||||
desktopconf.set('bindir', bindir)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
desktop_file = 'sm.puri.Squeekboard.desktop'
 | 
					desktop_file = 'sm.puri.Squeekboard.desktop'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
i18n.merge_file(
 | 
					i18n.merge_file('desktop',
 | 
				
			||||||
    input: configure_file(
 | 
					    input: desktop_file + '.in',
 | 
				
			||||||
      input: desktop_file + '.in.in',
 | 
					 | 
				
			||||||
      output: desktop_file + '.in',
 | 
					 | 
				
			||||||
      configuration: desktopconf
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
    output: desktop_file,
 | 
					    output: desktop_file,
 | 
				
			||||||
    po_dir: '../po',
 | 
					    po_dir: '../po',
 | 
				
			||||||
    install: true,
 | 
					    install: true,
 | 
				
			||||||
    install_dir: desktopdir,
 | 
					    install_dir: join_paths(datadir, 'applications'),
 | 
				
			||||||
    type: 'desktop'
 | 
					    type: 'desktop'
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
				
			|||||||
@ -1,23 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<interface>
 | 
					 | 
				
			||||||
  <menu id="app-menu">
 | 
					 | 
				
			||||||
    <item>
 | 
					 | 
				
			||||||
      <!-- translators: This is a emmoji keyboard layout -->
 | 
					 | 
				
			||||||
      <attribute name="label" translatable="yes">Emoji</attribute>
 | 
					 | 
				
			||||||
      <attribute name="action">layout</attribute>
 | 
					 | 
				
			||||||
      <attribute name="target">emoji</attribute>
 | 
					 | 
				
			||||||
    </item>
 | 
					 | 
				
			||||||
    <item>
 | 
					 | 
				
			||||||
      <!-- translators: This is a terminal keyboard layout -->
 | 
					 | 
				
			||||||
      <attribute name="label" translatable="yes">Terminal</attribute>
 | 
					 | 
				
			||||||
      <attribute name="action">layout</attribute>
 | 
					 | 
				
			||||||
      <attribute name="target">terminal</attribute>
 | 
					 | 
				
			||||||
    </item>
 | 
					 | 
				
			||||||
    <section>
 | 
					 | 
				
			||||||
      <item>
 | 
					 | 
				
			||||||
        <attribute name="label" translatable="yes">Keyboard Settings</attribute>
 | 
					 | 
				
			||||||
        <attribute name="action">settings</attribute>
 | 
					 | 
				
			||||||
      </item>
 | 
					 | 
				
			||||||
    </section>
 | 
					 | 
				
			||||||
  </menu>
 | 
					 | 
				
			||||||
</interface>
 | 
					 | 
				
			||||||
							
								
								
									
										19
									
								
								data/popup.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								data/popup.ui
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<!-- Generated with glade 3.22.1 -->
 | 
				
			||||||
 | 
					<interface>
 | 
				
			||||||
 | 
					  <requires lib="gtk+" version="3.16"/>
 | 
				
			||||||
 | 
					  <object class="GtkPopoverMenu" id="main_menu">
 | 
				
			||||||
 | 
					    <property name="can_focus">False</property>
 | 
				
			||||||
 | 
					    <child>
 | 
				
			||||||
 | 
					      <object class="GtkBox" id="box">
 | 
				
			||||||
 | 
					        <property name="visible">True</property>
 | 
				
			||||||
 | 
					        <property name="can_focus">False</property>
 | 
				
			||||||
 | 
					        <property name="orientation">vertical</property>
 | 
				
			||||||
 | 
					      </object>
 | 
				
			||||||
 | 
					      <packing>
 | 
				
			||||||
 | 
					        <property name="submenu">main</property>
 | 
				
			||||||
 | 
					        <property name="position">1</property>
 | 
				
			||||||
 | 
					      </packing>
 | 
				
			||||||
 | 
					    </child>
 | 
				
			||||||
 | 
					  </object>
 | 
				
			||||||
 | 
					</interface>
 | 
				
			||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
[Desktop Entry]
 | 
					[Desktop Entry]
 | 
				
			||||||
Name=Squeekboard
 | 
					Name=Squeekboard
 | 
				
			||||||
GenericName=On Screen Keyboard
 | 
					GenericName=Squeekboard Virtual Keyboard
 | 
				
			||||||
Comment=An on screen virtual keyboard
 | 
					Comment=Virtual Keyboard
 | 
				
			||||||
Exec=@bindir@/squeekboard
 | 
					Exec=squeekboard
 | 
				
			||||||
Terminal=false
 | 
					Terminal=false
 | 
				
			||||||
Type=Application
 | 
					Type=Application
 | 
				
			||||||
NoDisplay=true
 | 
					NoDisplay=true
 | 
				
			||||||
@ -1,10 +1,9 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<gresources>
 | 
					<gresources>
 | 
				
			||||||
  <gresource prefix="/sm/puri/squeekboard">
 | 
					  <gresource prefix="/sm/puri/squeekboard">
 | 
				
			||||||
   <file compressed="true">common.css</file>
 | 
					 | 
				
			||||||
   <file compressed="true">style.css</file>
 | 
					   <file compressed="true">style.css</file>
 | 
				
			||||||
   <file compressed="true">style-Adwaita:dark.css</file>
 | 
					   <file compressed="true">style-Adwaita:dark.css</file>
 | 
				
			||||||
   <file compressed="true" preprocess="xml-stripblanks">popover.ui</file>
 | 
					   <file compressed="true" preprocess="xml-stripblanks">popup.ui</file>
 | 
				
			||||||
   <file>icons/key-enter.svg</file>
 | 
					   <file>icons/key-enter.svg</file>
 | 
				
			||||||
   <file>icons/key-shift.svg</file>
 | 
					   <file>icons/key-shift.svg</file>
 | 
				
			||||||
   <file>icons/keyboard-mode-symbolic.svg</file>
 | 
					   <file>icons/keyboard-mode-symbolic.svg</file>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,40 +1,46 @@
 | 
				
			|||||||
/* Adwaita-dark style keyboard */
 | 
					 | 
				
			||||||
sq_view {
 | 
					sq_view {
 | 
				
			||||||
    background-color: rgba(0, 0, 0, 255);
 | 
					    background-color: rgba(0, 0, 0, 255);
 | 
				
			||||||
    color: #ffffff;
 | 
					    color: #ffffff;
 | 
				
			||||||
 | 
					    font-family: cantarell, sans-serif;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_view sq_button {
 | 
					sq_view sq_button {
 | 
				
			||||||
    color: #deddda;
 | 
					    color: #deddda;
 | 
				
			||||||
    background: #464448;
 | 
					    background: #464448;
 | 
				
			||||||
 | 
					    border-style: solid;
 | 
				
			||||||
 | 
					    border-width: 1px;
 | 
				
			||||||
 | 
					    border-color: #5e5c64;
 | 
				
			||||||
 | 
					    border-radius: 3px;
 | 
				
			||||||
 | 
					    margin: 4px 2px 4px 2px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sq_view.wide sq_button {
 | 
				
			||||||
 | 
					    margin: 1px 1px 1px 1px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button:active {
 | 
					sq_button:active {
 | 
				
			||||||
    background: #747077;
 | 
					    background: #747077;
 | 
				
			||||||
 | 
					    border-color: #96949d;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button.altline,
 | 
					sq_button.altline,
 | 
				
			||||||
sq_button.special,
 | 
					sq_button.special,
 | 
				
			||||||
sq_button.wide {
 | 
					sq_button.wide {
 | 
				
			||||||
    background: #2b292f;
 | 
					    background: #2b292f;
 | 
				
			||||||
}
 | 
					    border-color: #3e3a44;
 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button.latched {
 | 
					 | 
				
			||||||
    background: #ffffff;
 | 
					 | 
				
			||||||
    color: #2b292f;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button.locked {
 | 
					sq_button.locked {
 | 
				
			||||||
    background: #ffffff;
 | 
					    background: #ffffff;
 | 
				
			||||||
    color: #1c71d8;
 | 
					    color: #2b292f;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Return {
 | 
					#Return {
 | 
				
			||||||
    background: #1c71d8;
 | 
					    background: #1c71d8;
 | 
				
			||||||
 | 
					    border-color: #1a5fb4;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Return:active {
 | 
					#Return:active {
 | 
				
			||||||
    background: #1c71d8;
 | 
					    background: #1c71d8;
 | 
				
			||||||
 | 
					    border-color: #3584e4;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
@import url("resource:///sm/puri/squeekboard/common.css");
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -1,47 +1,49 @@
 | 
				
			|||||||
/* Keyboard style */
 | 
					 | 
				
			||||||
sq_view {
 | 
					sq_view {
 | 
				
			||||||
    background-color: mix(@theme_base_color, @theme_fg_color, 0.1);
 | 
					    background-color: @theme_base_color; /*rgba(0, 0, 0, 255);*/
 | 
				
			||||||
    box-shadow:inset 0 1px 0 0 mix(@borders, @theme_base_color, 0.8);
 | 
					    color: @theme_text_color; /*#ffffff;*/
 | 
				
			||||||
 | 
					    font-family: cantarell, sans-serif;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button {
 | 
					sq_view sq_button {
 | 
				
			||||||
    color: @theme_fg_color;
 | 
					    color: @theme_fg_color; /*#deddda;*/
 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.07); 
 | 
					    background: mix(@theme_bg_color, @theme_base_color, -0.5); /* #464448; */
 | 
				
			||||||
    box-shadow: 0 1px 0 0 rgba(0,0,0,0.2); 
 | 
					    border-style: solid;
 | 
				
			||||||
 | 
					    border-width: 1px;
 | 
				
			||||||
 | 
					    border-color: @borders; /* #5e5c64;*/
 | 
				
			||||||
 | 
					    border-radius: 3px;
 | 
				
			||||||
 | 
					    margin: 4px 2px 4px 2px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button:active {
 | 
					sq_view.wide sq_button {
 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.11);
 | 
					    margin: 1px 1px 1px 1px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sq_button:active,
 | 
				
			||||||
 | 
					sq_button.altline:active,
 | 
				
			||||||
 | 
					sq_button.special:active,
 | 
				
			||||||
 | 
					sq_button.wide:active {
 | 
				
			||||||
 | 
					    background: mix(@theme_bg_color, @theme_selected_bg_color, 0.4);/* #747077; */
 | 
				
			||||||
 | 
					    border-color: mix(@borders, @theme_selected_fg_color, 0.5);/* #96949d; */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button.altline,
 | 
					sq_button.altline,
 | 
				
			||||||
sq_button.special {
 | 
					sq_button.special,
 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.15); 
 | 
					sq_button.wide {
 | 
				
			||||||
}
 | 
					    background: mix(@theme_bg_color, @theme_base_color, 0.5); /*#2b292f;*/
 | 
				
			||||||
 | 
					    border-color: @borders; /* #3e3a44; */
 | 
				
			||||||
sq_button.altline:active,
 | 
					 | 
				
			||||||
sq_button.special:active {
 | 
					 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.2);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sq_button.latched {
 | 
					 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.2); 
 | 
					 | 
				
			||||||
    color: alpha(@theme_fg_color, 0.8);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sq_button.locked {
 | 
					sq_button.locked {
 | 
				
			||||||
    background: alpha(@theme_fg_color, 0.5);
 | 
					    background: @theme_fg_color; /*#ffffff;*/
 | 
				
			||||||
    color: @theme_base_color;
 | 
					    color: @theme_bg_color; /*#2b292f;*/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Return {
 | 
					#Return {
 | 
				
			||||||
    background: @theme_selected_bg_color;
 | 
					    background: @theme_selected_bg_color; /* #1c71d8; */
 | 
				
			||||||
    color: @theme_selected_fg_color;
 | 
					    border-color: @borders; /*#1a5fb4;*/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Return:active {
 | 
					#Return:active {
 | 
				
			||||||
    background: mix(@theme_selected_bg_color, black, 0.2);
 | 
					    background: mix(@theme_selected_bg_color, @theme_bg_color, 0.4); /*#1c71d8;*/
 | 
				
			||||||
    color: mix(@theme_selected_fg_color, black, 0.2);
 | 
					    border-color: @borders; /*#3584e4;*/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
@import url("resource:///sm/puri/squeekboard/common.css");
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										39
									
								
								dco.txt
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								dco.txt
									
									
									
									
									
								
							@ -1,39 +0,0 @@
 | 
				
			|||||||
Developer Certificate of Origin
 | 
					 | 
				
			||||||
Version 1.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
 | 
					 | 
				
			||||||
1 Letterman Drive
 | 
					 | 
				
			||||||
Suite D4700
 | 
					 | 
				
			||||||
San Francisco, CA, 94129
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Everyone is permitted to copy and distribute verbatim copies of this
 | 
					 | 
				
			||||||
license document, but changing it is not allowed.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Developer's Certificate of Origin 1.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
By making a contribution to this project, I certify that:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(a) The contribution was created in whole or in part by me and I
 | 
					 | 
				
			||||||
    have the right to submit it under the open source license
 | 
					 | 
				
			||||||
    indicated in the file; or
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(b) The contribution is based upon previous work that, to the best
 | 
					 | 
				
			||||||
    of my knowledge, is covered under an appropriate open source
 | 
					 | 
				
			||||||
    license and I have the right under that license to submit that
 | 
					 | 
				
			||||||
    work with modifications, whether created in whole or in part
 | 
					 | 
				
			||||||
    by me, under the same open source license (unless I am
 | 
					 | 
				
			||||||
    permitted to submit under a different license), as indicated
 | 
					 | 
				
			||||||
    in the file; or
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(c) The contribution was provided directly to me by some other
 | 
					 | 
				
			||||||
    person who certified (a), (b) or (c) and I have not modified
 | 
					 | 
				
			||||||
    it.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(d) I understand and agree that this project and the contribution
 | 
					 | 
				
			||||||
    are public and that a record of the contribution (including all
 | 
					 | 
				
			||||||
    personal information I submit with it, including my sign-off) is
 | 
					 | 
				
			||||||
    maintained indefinitely and may be redistributed consistent with
 | 
					 | 
				
			||||||
    this project or the open source license(s) involved.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										752
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										752
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							@ -1,755 +1,3 @@
 | 
				
			|||||||
squeekboard (1.17.0-1) experimental; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * docs: Detail the release process better
 | 
					 | 
				
			||||||
  * cleanup: Remove unused header lines
 | 
					 | 
				
			||||||
  * docstrings: Clarify the purpose of Receiver
 | 
					 | 
				
			||||||
  * wayland: Move initialization to the Rust side
 | 
					 | 
				
			||||||
  * ffi: Remove unnecessary pointers to InputMethod
 | 
					 | 
				
			||||||
  * outputs: Clean up for more Rust usage
 | 
					 | 
				
			||||||
  * outputs: Notify the state manager about changes
 | 
					 | 
				
			||||||
  * outputs: Handle removal
 | 
					 | 
				
			||||||
  * Save outputs state
 | 
					 | 
				
			||||||
  * Store preferred output
 | 
					 | 
				
			||||||
  * deps: Vendor assert_matches
 | 
					 | 
				
			||||||
  * Carry output information on visible command all the way to C
 | 
					 | 
				
			||||||
  * Don't reach for globals to choose output
 | 
					 | 
				
			||||||
  * visibility: Forward panel height information to window creation
 | 
					 | 
				
			||||||
  * outputs: Remove ui manager
 | 
					 | 
				
			||||||
  * output: Use new source of panel height information
 | 
					 | 
				
			||||||
  * panel: Apply a hard limit of 1/2 height
 | 
					 | 
				
			||||||
  * cargo: Update lockfile
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Cosmin Humeniuc ]
 | 
					 | 
				
			||||||
  * Add Romanian layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sam Hewitt ]
 | 
					 | 
				
			||||||
  * data: Update stylesheet with upstream design
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Tor ]
 | 
					 | 
				
			||||||
  * Make compatible with latest cargo deps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Luís Fernando Stürmer da Rosa ]
 | 
					 | 
				
			||||||
  * Update Brazilian Portuguese translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Fran Dieguez ]
 | 
					 | 
				
			||||||
  * Add Galician translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ William Wold ]
 | 
					 | 
				
			||||||
  * Check if dbus handler is null before using
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Yosef Or Boczko ]
 | 
					 | 
				
			||||||
  * Add Hebrew translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Tue, 25 Jan 2022 11:24:04 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.16.0-1) experimental; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * build: Remove regex crate
 | 
					 | 
				
			||||||
  * ci: Use bookworm image
 | 
					 | 
				
			||||||
  * build: Pin transitive dependencies
 | 
					 | 
				
			||||||
  * cargo: Update Cargo.lock with pinned dependencies
 | 
					 | 
				
			||||||
  * CI: Use byzantium as the base
 | 
					 | 
				
			||||||
  * cargo: Bump dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Guido Günther ]
 | 
					 | 
				
			||||||
  * po: Fix ui file name
 | 
					 | 
				
			||||||
  * entry: Mark as executable
 | 
					 | 
				
			||||||
  * entry: Only activate purpose timer when focused
 | 
					 | 
				
			||||||
  * entry: Add another input hint
 | 
					 | 
				
			||||||
  * Add entry test using GTK4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Rafael Fontenelle ]
 | 
					 | 
				
			||||||
  * Add Brazilian Portuguese translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Yuri Chornoivan ]
 | 
					 | 
				
			||||||
  * Add Ukrainian translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Luna Jernberg ]
 | 
					 | 
				
			||||||
  * Add Swedish Translation
 | 
					 | 
				
			||||||
  * Update sv.po
 | 
					 | 
				
			||||||
  * Update LINGUAS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Fabio Tomat ]
 | 
					 | 
				
			||||||
  * Add Friulian translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Daniel Șerbănescu ]
 | 
					 | 
				
			||||||
  * Add Romanian translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Matej Urbančič ]
 | 
					 | 
				
			||||||
  * Add Slovenian translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Nathan Follens ]
 | 
					 | 
				
			||||||
  * Add Dutch translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jiri Grönroos ]
 | 
					 | 
				
			||||||
  * Add Finnish translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Danial Behzadi ]
 | 
					 | 
				
			||||||
  * Add Persian translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jordi Mas i Hernandez ]
 | 
					 | 
				
			||||||
  * Add Catalan translation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Tue, 25 Jan 2022 11:24:04 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.15.0-1) experimental; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Khaled Eldoheiri ]
 | 
					 | 
				
			||||||
  * Introduce Arabic keyboard layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * Docs: Release procedure
 | 
					 | 
				
			||||||
  * build: Fix "any" dependency versioning
 | 
					 | 
				
			||||||
  * readme: Mention the layout guide
 | 
					 | 
				
			||||||
  * dbus: Hint that maybe squeekboard is running
 | 
					 | 
				
			||||||
  * readme: Change self-reference to repo to gnome
 | 
					 | 
				
			||||||
  * docs: Move env vars section to debugging
 | 
					 | 
				
			||||||
  * readme: Clarify basic running steps
 | 
					 | 
				
			||||||
  * readme: Put emphasis on being an input method
 | 
					 | 
				
			||||||
  * readme: Update features
 | 
					 | 
				
			||||||
  * ci: Use cached artifacts in the test
 | 
					 | 
				
			||||||
  * ci: Move release test to the start
 | 
					 | 
				
			||||||
  * ci: Start lintian test right after deb build
 | 
					 | 
				
			||||||
  * ci: Add git revision and CI pipeline number to .deb artifacts
 | 
					 | 
				
			||||||
  * ci: Use bookworm image
 | 
					 | 
				
			||||||
  * ci: Reformat yaml file
 | 
					 | 
				
			||||||
  * ci: Include pre-build style check
 | 
					 | 
				
			||||||
  * popover: Fix reentrancy problem
 | 
					 | 
				
			||||||
  * submission: Wrap the structure in a safe wrapper
 | 
					 | 
				
			||||||
  * util: Add ArcWrapped
 | 
					 | 
				
			||||||
  * animation: Prototype a way of handling state and applying it separately
 | 
					 | 
				
			||||||
  * state: Connect the animation state machine to the rest
 | 
					 | 
				
			||||||
  * event_loop: Separate and use for physical keyboard presence
 | 
					 | 
				
			||||||
  * Revert "util: Add ArcWrapped"
 | 
					 | 
				
			||||||
  * Revert "ci: Use bookworm image"
 | 
					 | 
				
			||||||
  * ci: Fix formatting
 | 
					 | 
				
			||||||
  * ci: Make indentation close to original again
 | 
					 | 
				
			||||||
  * cargo: version bump
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jordi ]
 | 
					 | 
				
			||||||
  * Introduce Swiss French keyboard layout
 | 
					 | 
				
			||||||
  * improve accents layout behavior and code cleaning
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Plamen Stoev ]
 | 
					 | 
				
			||||||
  * Rename bg to bg+phonetic
 | 
					 | 
				
			||||||
  * Add 'bg' layout
 | 
					 | 
				
			||||||
  * Translate more layout names in Bulgarian
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ William Wold ]
 | 
					 | 
				
			||||||
  * Show error when Layer Shell is not supported
 | 
					 | 
				
			||||||
  * Update entry.py file path in readme
 | 
					 | 
				
			||||||
  * Update zwp_text_input_v3 (comment changes only)
 | 
					 | 
				
			||||||
  * Update zwp_input_method_v2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Patrick Jörg ]
 | 
					 | 
				
			||||||
  * Introduce Swiss German keyboard layout
 | 
					 | 
				
			||||||
  * Introducing ch+de layout and modified ch.yaml fallback
 | 
					 | 
				
			||||||
  * Added ch_wide
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ ZenWalker ]
 | 
					 | 
				
			||||||
  * layersurface: avoid duplicate assignment
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ T. Zack Crawford ]
 | 
					 | 
				
			||||||
  * Update tutorial.md to clarify steps in creating a custom layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Guido Günther ]
 | 
					 | 
				
			||||||
  * gitlab-ci: Adjust CI tags
 | 
					 | 
				
			||||||
  * gitlab-ci: Drop build for outdated distributions
 | 
					 | 
				
			||||||
  * data: Fix build with meson 0.60.0
 | 
					 | 
				
			||||||
  * main: Remove trailing whitespace
 | 
					 | 
				
			||||||
  * main: Honor --help and -h
 | 
					 | 
				
			||||||
  * eek-renderer: Add log domain
 | 
					 | 
				
			||||||
  * eek-renderer: Fix indentation
 | 
					 | 
				
			||||||
  * eek-renderer: Honor theme changes (Closes: #296)
 | 
					 | 
				
			||||||
  * main: Drop broken support G_BUS_TYPE_SYSTEM
 | 
					 | 
				
			||||||
  * main: Avoid two error variables in the same function
 | 
					 | 
				
			||||||
  * main: Use dark theme when run in a Phosh session (Closes: #242)
 | 
					 | 
				
			||||||
  * gtk-keyboard: Don't set variable to NULL twice in a row
 | 
					 | 
				
			||||||
  * renderer: Use `g_debug ()`
 | 
					 | 
				
			||||||
  * main: Add debug flag to always show squeekboard on start
 | 
					 | 
				
			||||||
  * renderer: Disconnect theme change signal handler
 | 
					 | 
				
			||||||
  * main: Add debug flag to show GTK inspector
 | 
					 | 
				
			||||||
  * README: Document SQUEEKBOARD_DEBUG environment variable
 | 
					 | 
				
			||||||
  * Move style-check to separate script
 | 
					 | 
				
			||||||
  * Honor input-purpose PIN
 | 
					 | 
				
			||||||
  * entry: Use a scrolled window
 | 
					 | 
				
			||||||
  * entry: Set a margin on the grids
 | 
					 | 
				
			||||||
  * entry: Add a random text entry field
 | 
					 | 
				
			||||||
  * imservice: Invoke eekboard_context_service_set_hint_purpose unconditionally
 | 
					 | 
				
			||||||
    (Closes: #311)
 | 
					 | 
				
			||||||
  * langs: Don't use empty translation file (Closes: #313)
 | 
					 | 
				
			||||||
  * Initialize gettext
 | 
					 | 
				
			||||||
  * Reuse the unused popover ui file for i18n (Closes: #315)
 | 
					 | 
				
			||||||
  * po: Add German translation
 | 
					 | 
				
			||||||
  * gresources: Drop popup.ui
 | 
					 | 
				
			||||||
  * Revert "gresources: Drop popup.ui"
 | 
					 | 
				
			||||||
  * gitlab-ci: Add PKG_ONLY
 | 
					 | 
				
			||||||
  * layout: Drop trailing whitespace
 | 
					 | 
				
			||||||
  * Use special pin keyboard
 | 
					 | 
				
			||||||
  * layout: Keep content purpose around
 | 
					 | 
				
			||||||
  * renderer: Set style class based on input purpose
 | 
					 | 
				
			||||||
  * pin: Use less margin
 | 
					 | 
				
			||||||
  * debian: Install translations
 | 
					 | 
				
			||||||
  * debian: Switch to dh 13
 | 
					 | 
				
			||||||
  * debian: Install desktop file
 | 
					 | 
				
			||||||
  * eekboard-context-service: Don't translate property names
 | 
					 | 
				
			||||||
  * server-context-servide: Don't translate application name
 | 
					 | 
				
			||||||
  * data: Make generic name truly generic
 | 
					 | 
				
			||||||
  * po: Add desktop file to translatable files
 | 
					 | 
				
			||||||
  * Add URL and EMail keyboard variants for us (Closes: #65)
 | 
					 | 
				
			||||||
  * gitignore: Drop zanata dir
 | 
					 | 
				
			||||||
  * gitignore: Ignore generated po files
 | 
					 | 
				
			||||||
  * popover: Move Emoji and Terminal to ui file
 | 
					 | 
				
			||||||
  * popover: Add translator notes
 | 
					 | 
				
			||||||
  * popover: Make the ui file match the code file name
 | 
					 | 
				
			||||||
  * Remove emoji and terminal from translations
 | 
					 | 
				
			||||||
  * popover: Don't complain about missing translations
 | 
					 | 
				
			||||||
  * Drop custom translation handling
 | 
					 | 
				
			||||||
  * Drop locale_config
 | 
					 | 
				
			||||||
  * Remove custom translations
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ PhilProg ]
 | 
					 | 
				
			||||||
  * Add documentation about compositors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Norayr Chilingarian ]
 | 
					 | 
				
			||||||
  * armenian typewriter and phonetic keyboards.
 | 
					 | 
				
			||||||
  * armenian layout also added to meson.build etc.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Arnaud Ferraris ]
 | 
					 | 
				
			||||||
  * resources: add wide FR terminal keyboard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sebastian Krzyszkowiak ]
 | 
					 | 
				
			||||||
  * renderer: Take context scale into account when drawing icons (Closes: #139)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sun, 19 Dec 2021 14:11:06 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.14.0pureos0~amber0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * data: Split into loading and parsing
 | 
					 | 
				
			||||||
  * layout: Remove unused code
 | 
					 | 
				
			||||||
  * build: Fix unnecessary shell quotes
 | 
					 | 
				
			||||||
  * popover: Allow spanning outside panel area
 | 
					 | 
				
			||||||
  * cargo: Update dependencies before release
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ undef ]
 | 
					 | 
				
			||||||
  * Fix typos jp keyboard comments
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ anteater ]
 | 
					 | 
				
			||||||
  * use the correct GtkStyleProviderPriority to indicate that the styles are provided by the application
 | 
					 | 
				
			||||||
  * remove some unnecessary unsafe code
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sat, 15 May 2021 12:45:20 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.13.0pureos0~amber0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * layout: Latch keys when clicked twice
 | 
					 | 
				
			||||||
  * layout: Add stateless view switching
 | 
					 | 
				
			||||||
  * layout: Plug in stateless view switching
 | 
					 | 
				
			||||||
  * layout: Remove the little abomination of view change promise
 | 
					 | 
				
			||||||
  * view: Ąto-unlatching when multiple latching buttons pressed
 | 
					 | 
				
			||||||
  * renderer: Bring button drawing closer to Rust
 | 
					 | 
				
			||||||
  * ffi: Eliminate squeek_button and squeek_row
 | 
					 | 
				
			||||||
  * imservice: Increment serials on receiving done, not sending commit
 | 
					 | 
				
			||||||
  * input-method: Fix commit/done mixup in protocol text
 | 
					 | 
				
			||||||
  * CI: fix xheck_tag to be compatible with Amber
 | 
					 | 
				
			||||||
  * italian: Fix colon
 | 
					 | 
				
			||||||
  * popover: Fix prematurely deallocated CString
 | 
					 | 
				
			||||||
  * Rust: Remove unnecessary no_mangle statements to silence warnings
 | 
					 | 
				
			||||||
  * renderer: Reduce reliance on knowing the transform
 | 
					 | 
				
			||||||
  * renderer: Split mutable geometry and place it directly in GtkKeyboard
 | 
					 | 
				
			||||||
  * Revert "moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations."
 | 
					 | 
				
			||||||
  * layout: Make it possible to opt out of latching per-key
 | 
					 | 
				
			||||||
  * renderer: Mark latched buttons differently than locked
 | 
					 | 
				
			||||||
  * appearance: Colour latched/locked according to design
 | 
					 | 
				
			||||||
  * docs: Describe view switching
 | 
					 | 
				
			||||||
  * language-terminal: Place keyboards in a sub-path
 | 
					 | 
				
			||||||
  * layout selection: Fix emoji and number
 | 
					 | 
				
			||||||
  * rust: Fix compiler warnings
 | 
					 | 
				
			||||||
  * layout: Take into account text purpose again
 | 
					 | 
				
			||||||
  * layouts: Make selection testable
 | 
					 | 
				
			||||||
  * layouts: Stop assuming that layout name always changes on switch
 | 
					 | 
				
			||||||
  * Cargo: Version bump
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ J.D. Laub ]
 | 
					 | 
				
			||||||
  * Add US Dvorak layout (and Colemak wide)
 | 
					 | 
				
			||||||
  *     Add US Dvorak layout (and Colemak wide)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jordi Masip ]
 | 
					 | 
				
			||||||
  * Catalan keyboard layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Myth ]
 | 
					 | 
				
			||||||
  * Added hebrew keyboard layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ David96 ]
 | 
					 | 
				
			||||||
  * Add Mod4 (Windows) key
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Panawat Wong-klaew ]
 | 
					 | 
				
			||||||
  * Add wide Thai keyboard layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Guido Günther ]
 | 
					 | 
				
			||||||
  * server-main: Add quit()
 | 
					 | 
				
			||||||
  * server-main: Properly register to gnome-session (Closes: #274)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Kozova1 ]
 | 
					 | 
				
			||||||
  * Added Hebrew translations for most layouts.
 | 
					 | 
				
			||||||
  * moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations.
 | 
					 | 
				
			||||||
  * Fixed Hebrew layout.
 | 
					 | 
				
			||||||
  * moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ M33 ]
 | 
					 | 
				
			||||||
  * Revert "Update tests/meson.build"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Mon, 12 Apr 2021 10:40:32 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.12.0pureos0~amber0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * docs: Correct Cargo update instructions
 | 
					 | 
				
			||||||
  * visibility: Centralize keyboard panel visibility policy and handling
 | 
					 | 
				
			||||||
  * build: Fix release
 | 
					 | 
				
			||||||
  * tests: Prefer the env var for finding test layouts
 | 
					 | 
				
			||||||
  * tests: Explicitly pass source directory to tests
 | 
					 | 
				
			||||||
  * debian: Build reproducibly
 | 
					 | 
				
			||||||
  * tests: Allow legacy mode to have much longer tests.
 | 
					 | 
				
			||||||
  * build: Enable unused warnings in C
 | 
					 | 
				
			||||||
  * build: Enable wformat to remove warnings about missing wformat
 | 
					 | 
				
			||||||
  * build: Fail on any C warnings when strict
 | 
					 | 
				
			||||||
  * data: Made data flow in fallback clearer
 | 
					 | 
				
			||||||
  * data: Flattened layout fallback function
 | 
					 | 
				
			||||||
  * layouts: Use base as fallback for alternative layouts
 | 
					 | 
				
			||||||
  * layouts: Simplify the main flow of source list
 | 
					 | 
				
			||||||
  * tests: Add some description to the list of tested layouts
 | 
					 | 
				
			||||||
  * layout_names: Unmess the list of builtin layouts
 | 
					 | 
				
			||||||
  * dbus: Reset hints if text input missing
 | 
					 | 
				
			||||||
  * visibility: Stop calling GTK functions from the visibility manager
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Wannaphong Phatthiyaphaibun ]
 | 
					 | 
				
			||||||
  * Add thai keyboard
 | 
					 | 
				
			||||||
  * Update resources.rs
 | 
					 | 
				
			||||||
  * Update meson.build
 | 
					 | 
				
			||||||
  * escape " on thai keyboard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ clonex10100 ]
 | 
					 | 
				
			||||||
  * Added US Colemak Keyboard Layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Henry-Nicolas Tourneur ]
 | 
					 | 
				
			||||||
  * d/rules: fix an FTBFS on mips64el with GOT > 64kb
 | 
					 | 
				
			||||||
  * d/rules: export RUSTFLAGS only on architecture that needs it
 | 
					 | 
				
			||||||
  * d/rules: export RUSTFLAGS only on architecture that needs it
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jiří Stránský ]
 | 
					 | 
				
			||||||
  * Add Czech keyboard layouts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Stefan Grotz ]
 | 
					 | 
				
			||||||
  * Esperanto keyboard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Vladimir ]
 | 
					 | 
				
			||||||
  * Bulgarian language keyboard layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Vladimir Stoilov ]
 | 
					 | 
				
			||||||
  * bulgarian add translation and to needed lists
 | 
					 | 
				
			||||||
  * Fix bulgarian layout size
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Andreas Rönnquist ]
 | 
					 | 
				
			||||||
  * no: Use wide button switching between numbers, symbols and base
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ jranaraki ]
 | 
					 | 
				
			||||||
  * Farsi/Persian keyboard layout
 | 
					 | 
				
			||||||
  * Farsi/Persian keyboard layout
 | 
					 | 
				
			||||||
  * Added requirements to resources.rs and meson.build
 | 
					 | 
				
			||||||
  * Updated the layout to provide more convenient and faster typing experience
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sun, 10 Jan 2021 09:43:42 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.11.1) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Mark Müller ]
 | 
					 | 
				
			||||||
  * keyboard: Fix semicolon in German layout
 | 
					 | 
				
			||||||
  * keyboard: Move semicolon in German layout to numbers view replacing redundant comma key
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * imservice: Set up UI according to current needs when it shows up
 | 
					 | 
				
			||||||
  * UI: Keep visibility factors in a central place
 | 
					 | 
				
			||||||
  * cargo: Update deps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sat, 21 Nov 2020 11:08:06 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.11.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * UI: Delay hiding only when leaving a text field
 | 
					 | 
				
			||||||
  * ui: Cancel hiding delay when activity requested again
 | 
					 | 
				
			||||||
  * Update dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Fabio Tomat ]
 | 
					 | 
				
			||||||
  * Update fur-IT.txt fix typo for Spanish
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sat, 14 Nov 2020 06:46:28 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.10.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * virtual_keyboard: Fix desynced modifiers state
 | 
					 | 
				
			||||||
  * rust: Fix deprecation warnings
 | 
					 | 
				
			||||||
  * docs: Tutorial syntax cleanups
 | 
					 | 
				
			||||||
  * docs: Reorganize tutorial
 | 
					 | 
				
			||||||
  * build: Error on repeating declarations
 | 
					 | 
				
			||||||
  * keymap: Generate from symbol map, not layout
 | 
					 | 
				
			||||||
  * data: Restore testability of action->keysym conversion
 | 
					 | 
				
			||||||
  * syntax: Let older rustc understand symbolmap's lifetime
 | 
					 | 
				
			||||||
  * debian: Insert a "breaks" for librem5-base < 24
 | 
					 | 
				
			||||||
  * keymap: Keep keymap fd management in one place
 | 
					 | 
				
			||||||
  * vkeyboard: Use a generic slice instead of a vector
 | 
					 | 
				
			||||||
  * tests: Check for missing return in builtin layouts except emoji
 | 
					 | 
				
			||||||
  * keymap: Concentrate special handling of BackSpace, which is implicit in Erase action
 | 
					 | 
				
			||||||
  * keymaps: Use multiple key maps, each within the limit of what Xorg can accept.
 | 
					 | 
				
			||||||
  * build: Avoid MaybeUninit on older Debian
 | 
					 | 
				
			||||||
  * tests: Fix bad field access
 | 
					 | 
				
			||||||
  * cargo: Update dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Guido Günther ]
 | 
					 | 
				
			||||||
  * eekboard-context-service: Return early if schema is unavailable
 | 
					 | 
				
			||||||
  * treewide: Use new style function definitions
 | 
					 | 
				
			||||||
  * build: Enable '-Wold-style-definition' '-Wstrict-prototypes'
 | 
					 | 
				
			||||||
  * build: Enable '-Wunused-function'
 | 
					 | 
				
			||||||
  * eekboard-context-service: Drop EEKBOARD_CONTEXT_SERVICE_GET_PRIVATE
 | 
					 | 
				
			||||||
  * keyboard: Fix warning
 | 
					 | 
				
			||||||
  * layout: Fix warning
 | 
					 | 
				
			||||||
  * gitlab-ci: Enable --Werror
 | 
					 | 
				
			||||||
  * eek-keyboard: Don't ignore return value
 | 
					 | 
				
			||||||
  * build: Enable -Winit-self
 | 
					 | 
				
			||||||
  * build: Enable -Wformat-security
 | 
					 | 
				
			||||||
  * build: Enable -Wmaybe-uninitialized
 | 
					 | 
				
			||||||
  * treewide: Drop redundant declarations
 | 
					 | 
				
			||||||
  * build: Enable -Wredundant-declarations
 | 
					 | 
				
			||||||
  * ServerContextService: Drop GObject boilerplate
 | 
					 | 
				
			||||||
  * build: Enable '-Wformat-nonliteral'
 | 
					 | 
				
			||||||
  * eekboad-context-service: Drop signal class handler
 | 
					 | 
				
			||||||
  * eekboard-context-service: Drop docstrings for inexistent functions
 | 
					 | 
				
			||||||
  * eekboard-context-service: Drop the GObject boilerplate
 | 
					 | 
				
			||||||
  * eekboard-context-service: Drop private struct
 | 
					 | 
				
			||||||
  * server-context-service: Consistenty name self argument 'self'
 | 
					 | 
				
			||||||
  * server-context-service: swap signal arguments
 | 
					 | 
				
			||||||
  * server-context-service: Don't show keyboard when disabled (Closes: #222)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Nazarii Kretovych ]
 | 
					 | 
				
			||||||
  * Add Ukrainian keyboard layout.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Benjamin Schaaf ]
 | 
					 | 
				
			||||||
  * Fix spelling mistakes in doc/hacking.md
 | 
					 | 
				
			||||||
  * Expand the development documentation in the readme
 | 
					 | 
				
			||||||
  * Expand key press detection to the edges of the view's bounding box
 | 
					 | 
				
			||||||
  * Sort layouts by type before sorting by name
 | 
					 | 
				
			||||||
  * Fix leak in level_keyboard_new
 | 
					 | 
				
			||||||
  * Fix leak endlessly adding a resource path to the default theme
 | 
					 | 
				
			||||||
  * Add settings option to popover
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Al ]
 | 
					 | 
				
			||||||
  * proposal for belgian layout (copy of fr)
 | 
					 | 
				
			||||||
  * alphabetical order for src/resources.rs tests/meson.build
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Arnaud Ferraris ]
 | 
					 | 
				
			||||||
  * eek-gtk-keyboard: use virtual resolution to check arrangement kind
 | 
					 | 
				
			||||||
  * server-context-service: optimize height calculation
 | 
					 | 
				
			||||||
  * keyboards: add wide French layout
 | 
					 | 
				
			||||||
  * keyboards: add wide Belgian layout
 | 
					 | 
				
			||||||
  * keyboards: add wide terminal layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Fabio Tomat ]
 | 
					 | 
				
			||||||
  * Revert "Add friulian keyboard"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Mon, 19 Oct 2020 14:07:01 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.9.3) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Björn Tantau ]
 | 
					 | 
				
			||||||
  * Show more useful keys at the same time.
 | 
					 | 
				
			||||||
  * Add Ctrl and Alt modifier keys.
 | 
					 | 
				
			||||||
  * Add missing Ê key.
 | 
					 | 
				
			||||||
  * Make f-keys slightly wider.
 | 
					 | 
				
			||||||
  * Add Menu key.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Guido Günther ]
 | 
					 | 
				
			||||||
  * d/rules: Only remove Cargo.lock if it exists
 | 
					 | 
				
			||||||
  * eek: Drop libcanberra usage
 | 
					 | 
				
			||||||
  * debian: Build-depend on libfeedback
 | 
					 | 
				
			||||||
  * eek-gtk-keyboard: Trigger event feedback on button press (Closes: #166)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * build: Add missing gio-unix dependency
 | 
					 | 
				
			||||||
  * build: Make compatible with Debian Bullseye
 | 
					 | 
				
			||||||
  * debian: Add amber to legacy distro list
 | 
					 | 
				
			||||||
  * ci: Add amber job
 | 
					 | 
				
			||||||
  * debian: Require lsb-release
 | 
					 | 
				
			||||||
  * size: Hardcode size to work around screen rotation
 | 
					 | 
				
			||||||
  * ci: Re-add x64 Buster build
 | 
					 | 
				
			||||||
  * italian: Fix space and period
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sebastian Krzyszkowiak ]
 | 
					 | 
				
			||||||
  * Revert "Merge branch 'btantau-master-patch-76686' into 'master'"
 | 
					 | 
				
			||||||
  * Terminal layout: another approach
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Luís Fernando Stürmer da Rosa ]
 | 
					 | 
				
			||||||
  * Brazilian Portuguese Keyboard Layout.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Wed, 05 Aug 2020 16:16:08 +0200
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.9.2) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * keyboard: Remove unused code
 | 
					 | 
				
			||||||
  * gsettings: Don't crash when unavailable
 | 
					 | 
				
			||||||
  * dbus: Don't crash if can't make a connection
 | 
					 | 
				
			||||||
  * gsettings: Don't crash on switching when unavailable
 | 
					 | 
				
			||||||
  * layout: Split out choice to a struct on its own
 | 
					 | 
				
			||||||
  * renderer: Simplify by dropping gobjectness
 | 
					 | 
				
			||||||
  * levelkeyboard: Rearrange to make future conversion easier
 | 
					 | 
				
			||||||
  * layout: Minor generalizations
 | 
					 | 
				
			||||||
  * Remove unused code
 | 
					 | 
				
			||||||
  * sizing: Create a standalone UI shape manager
 | 
					 | 
				
			||||||
  * sizing: Ignore scaling factor for layout selection
 | 
					 | 
				
			||||||
  * CI: Fix typo
 | 
					 | 
				
			||||||
  * Update rust deps for release
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Andreas Rönnquist ]
 | 
					 | 
				
			||||||
  * Swedish keyboard, wide button switching between numbers, symbols and base
 | 
					 | 
				
			||||||
  * More fixes of button sizes
 | 
					 | 
				
			||||||
  * Folder is doc, not docs
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ uzanto ]
 | 
					 | 
				
			||||||
  * Add new file
 | 
					 | 
				
			||||||
  * Replace duplicated show_symbols by show_eschars and removed "Delete" button that it's doing nothing
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Arnaud Ferraris ]
 | 
					 | 
				
			||||||
  * keyboards: fr: fix keyboard layout
 | 
					 | 
				
			||||||
  * keyboards: fr: make sure the layout fits the screen
 | 
					 | 
				
			||||||
  * resources: include French keyboard layout
 | 
					 | 
				
			||||||
  * keyboards: fr: improve consistency with other layouts
 | 
					 | 
				
			||||||
  * keyboards: fr: improve diacritics layout
 | 
					 | 
				
			||||||
  * tests: add french layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Vlad ]
 | 
					 | 
				
			||||||
  * Fresh Russian layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Jordi Masip ]
 | 
					 | 
				
			||||||
  * Removed unused dependency 'libcroco'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Florian Klink ]
 | 
					 | 
				
			||||||
  * sm.puri.Squeekboard.desktop: make path to Exec= absolute
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Ole Guldberg ]
 | 
					 | 
				
			||||||
  * Danish keyboard layout
 | 
					 | 
				
			||||||
  * Danish keyboard layout
 | 
					 | 
				
			||||||
  * add test for danish layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Mon, 01 Jun 2020 09:39:12 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.9.1) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * layout: Improve press handling
 | 
					 | 
				
			||||||
  * settings: Handle empty settings
 | 
					 | 
				
			||||||
  * Variant: Use proper pointer conversion between C and Rust
 | 
					 | 
				
			||||||
  * meta: Add doap file
 | 
					 | 
				
			||||||
  * modifiers: Support Control and Alt
 | 
					 | 
				
			||||||
  * CI: Test that any bump to changelog has a corresponding tag
 | 
					 | 
				
			||||||
  * docs: Add the guiding principle
 | 
					 | 
				
			||||||
  * hacking: Move into docs/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ &t ]
 | 
					 | 
				
			||||||
  * Fix minor comment typos
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * cargo: Bump package versions before release
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Sun, 08 Mar 2020 10:04:29 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.9.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * imservice: Add commit_string method
 | 
					 | 
				
			||||||
  * submission: Handle submitting strings
 | 
					 | 
				
			||||||
  * input_method: Use for erasing
 | 
					 | 
				
			||||||
  * logging: Use in merged functions
 | 
					 | 
				
			||||||
  * translations: Remove redundant ones
 | 
					 | 
				
			||||||
  * translations: Translate builtin layouts
 | 
					 | 
				
			||||||
  * greek: Rename to gr which is used by gnome settings
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sebastian Krzyszkowiak ]
 | 
					 | 
				
			||||||
  * layouts: Add Polish layouts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * locks: Draw based on current view
 | 
					 | 
				
			||||||
  * locking: Lock keys statelessly
 | 
					 | 
				
			||||||
  * layouts: Better accented uppercase in PL
 | 
					 | 
				
			||||||
  * emoji: Add more choices
 | 
					 | 
				
			||||||
  * row: Eliminate angle
 | 
					 | 
				
			||||||
  * layout: Center views relative to each other and the layout bounds
 | 
					 | 
				
			||||||
  * drawing: Generalized foreach_visible_button
 | 
					 | 
				
			||||||
  * variant: Fix double-free
 | 
					 | 
				
			||||||
  * variant: Fix leak
 | 
					 | 
				
			||||||
  * keyboard_layout: Fix leak
 | 
					 | 
				
			||||||
  * layout: Improve scoping of locked variable
 | 
					 | 
				
			||||||
  * terminal: Make */ easier to reach
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sebastian Krzyszkowiak ]
 | 
					 | 
				
			||||||
  * layouts: terminal: Use altline outline for dot key
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * text input: Disable erasing
 | 
					 | 
				
			||||||
  * cargo: Update deps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Wed, 19 Feb 2020 14:32:39 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.8.1) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * action: Rename Level to View
 | 
					 | 
				
			||||||
  * keyboard: Introduce a KeyCode type wrapping u32
 | 
					 | 
				
			||||||
  * layout: Centralize handling key releases
 | 
					 | 
				
			||||||
  * layout: Make handling presses uniform
 | 
					 | 
				
			||||||
  * UI: Drop indirection for show/hide functions
 | 
					 | 
				
			||||||
  * managers: Move visible flag to UI manager
 | 
					 | 
				
			||||||
  * dbus_service: Remove unused function
 | 
					 | 
				
			||||||
  * dbus: Remove unneeded gobjectness
 | 
					 | 
				
			||||||
  * dbus: Rename handler from eekboard_service
 | 
					 | 
				
			||||||
  * context: Moved keymap setting together with its generation
 | 
					 | 
				
			||||||
  * key-emitter: Remove unused
 | 
					 | 
				
			||||||
  * eekboard_context_service: Drop unused enable property
 | 
					 | 
				
			||||||
  * services: Split out layout management from EekboardContextService
 | 
					 | 
				
			||||||
  * submission: Move away from virtual-keyboard
 | 
					 | 
				
			||||||
  * submission: Create a new wrapper over imservice
 | 
					 | 
				
			||||||
  * imservice: Limited scope of unsafe
 | 
					 | 
				
			||||||
  * EekGtkKeyboard: Use a direct reference to EekboardContext
 | 
					 | 
				
			||||||
  * submission: Take over virtual_keyboard handling
 | 
					 | 
				
			||||||
  * keyboard: Cleanups of unused code
 | 
					 | 
				
			||||||
  * levelkeyboard: Drop unused manager references
 | 
					 | 
				
			||||||
  * keyboard: Gather up keymap handling, drop layout
 | 
					 | 
				
			||||||
  * submission: Remove wildcard reexport
 | 
					 | 
				
			||||||
  * imservice: Rename commit_state to done to match protocol
 | 
					 | 
				
			||||||
  * ci: Clean up `..` before it's searched for artifacts
 | 
					 | 
				
			||||||
  * dbus: Log error on dbus exit
 | 
					 | 
				
			||||||
  * logging: Try to improve common operations
 | 
					 | 
				
			||||||
  * imservice: Return something more resembling an Error on failure
 | 
					 | 
				
			||||||
  * logging: Unified to remove random eprint calls
 | 
					 | 
				
			||||||
  * press_key: Use proper logging
 | 
					 | 
				
			||||||
  * number: Fix keysym for Return
 | 
					 | 
				
			||||||
  * build: Strip clap of optional features
 | 
					 | 
				
			||||||
  * layouts: Fix segfault on switching to wide
 | 
					 | 
				
			||||||
  * font: Use font from style context
 | 
					 | 
				
			||||||
  * font: Only pass relevant data to label renderer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Sebastian Krzyszkowiak ]
 | 
					 | 
				
			||||||
  * layout: terminal: Swap positions of preferences and actions button
 | 
					 | 
				
			||||||
  * layout: terminal: Show actions button on all views
 | 
					 | 
				
			||||||
  * layout: terminal: Replace actions button with period on symbols view
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * setup: Connect ui to the state manager
 | 
					 | 
				
			||||||
  * debian: Add missing commas
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ David Boddie ]
 | 
					 | 
				
			||||||
  * Tidy build file and docs
 | 
					 | 
				
			||||||
  * Use pip to install recommonmark
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Fri, 31 Jan 2020 09:59:12 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.8.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * translations: Use gnome-desktop's xkb info database for layout names
 | 
					 | 
				
			||||||
  * translations: Make the code cleaner
 | 
					 | 
				
			||||||
  * overlay: Add terminal
 | 
					 | 
				
			||||||
  * eek-layout: Remove unused
 | 
					 | 
				
			||||||
  * pre-release: Update deps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Tue, 14 Jan 2020 13:55:00 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.7.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  * New terminal layout appearing on terminal input hint
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Wed, 08 Jan 2020 11:53:07 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.7.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  * New terminal layout appearing on terminal input hint
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Wed, 08 Jan 2020 11:53:07 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.6.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * tools: Move entry.py
 | 
					 | 
				
			||||||
  * build: Move building of squeekboard-test-layout to tools
 | 
					 | 
				
			||||||
  * packaging: Install entty.py as squeekboard-entry
 | 
					 | 
				
			||||||
  * Remove unused build dependencies
 | 
					 | 
				
			||||||
  * Remove unused header generator
 | 
					 | 
				
			||||||
  * logging: Move all facilities to one file
 | 
					 | 
				
			||||||
  * logging: Described the design
 | 
					 | 
				
			||||||
  * logging: Add described log levels
 | 
					 | 
				
			||||||
  * popover: Install emoji layout
 | 
					 | 
				
			||||||
  * popover: Show overlays as selected
 | 
					 | 
				
			||||||
  * Fix old Rust woes
 | 
					 | 
				
			||||||
  * emoji: Add a passable layout
 | 
					 | 
				
			||||||
  * Fix g_ and stdlib allocation/free mismatches
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Thu, 02 Jan 2020 12:02:50 +0000
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
squeekboard (1.5.0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * keycodes: Sort to eliminate runtime indeterminism
 | 
					 | 
				
			||||||
  * switcher: Switch layout on menu item click
 | 
					 | 
				
			||||||
  * Drop squeek_key
 | 
					 | 
				
			||||||
  * renderer: Remove some unneeded vars
 | 
					 | 
				
			||||||
  * renderer: Simplified outline rendering
 | 
					 | 
				
			||||||
  * renderer: Drop row from button rendering
 | 
					 | 
				
			||||||
  * renderer: Drop unused params
 | 
					 | 
				
			||||||
  * renderer: Simplify surface rendering
 | 
					 | 
				
			||||||
  * rendering: Simplify Cairo context usage, remove unneeded calls.
 | 
					 | 
				
			||||||
  * rendering: Remove unneeded redraw after button release
 | 
					 | 
				
			||||||
  * renderer: Remove unused locked key render function
 | 
					 | 
				
			||||||
  * renderer: Simply cut off when painting outside bounds
 | 
					 | 
				
			||||||
  * renderer: Render whole keyboard the same way as pressed buttons
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Mark Müller ]
 | 
					 | 
				
			||||||
  * layout: add German wide layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * renderer: Remove unused functions
 | 
					 | 
				
			||||||
  * cleanup: Remove references to squeek_view
 | 
					 | 
				
			||||||
  * cleanup: Unbox View and Row
 | 
					 | 
				
			||||||
  * cleanup: Remove unused single frame draw
 | 
					 | 
				
			||||||
  * positioning: Calculate sizes instead of storing, move position out of widgets
 | 
					 | 
				
			||||||
  * positioning: Clean up unused code
 | 
					 | 
				
			||||||
  * Fix old Rust woes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Mark Müller ]
 | 
					 | 
				
			||||||
  * layout: add Japanese Kana wide layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * Entry test: Add Terminal input purpose
 | 
					 | 
				
			||||||
  * readme: Add note about Cargo dependencies
 | 
					 | 
				
			||||||
  * Create a library/UI module separation
 | 
					 | 
				
			||||||
  * hacking: Add DCO and licensing requirement
 | 
					 | 
				
			||||||
  * Fix internal .md link
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Mark Müller ]
 | 
					 | 
				
			||||||
  * squeekboard-test-layout: add argument parsing and some more output
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [ Dorota Czaplejewicz ]
 | 
					 | 
				
			||||||
  * Use clap in the lockfile
 | 
					 | 
				
			||||||
  * parsing: Remove bounds which weren't used anyway
 | 
					 | 
				
			||||||
  * layout: Respect margins
 | 
					 | 
				
			||||||
  * CI: Build arm64 .deb
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 -- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>  Mon, 23 Dec 2019 11:58:57 +0000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
squeekboard (1.4.0) amber-phone; urgency=medium
 | 
					squeekboard (1.4.0) amber-phone; urgency=medium
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  * "text" property in layouts
 | 
					  * "text" property in layouts
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								debian/check_release.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								debian/check_release.py
									
									
									
									
										vendored
									
									
								
							@ -1,11 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"""Checks tag before release.
 | 
					 | 
				
			||||||
Feed it the first changelog line, and then all available tags.
 | 
					 | 
				
			||||||
"""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import re, sys
 | 
					 | 
				
			||||||
version = re.findall("\\((.*)\\)", input())[0]
 | 
					 | 
				
			||||||
tag = 'v' + re.findall("([0-9]+\\.[0-9]+\\.[0-9]+).*", version)[0]
 | 
					 | 
				
			||||||
if tag not in map(str.strip, sys.stdin.readlines()):
 | 
					 | 
				
			||||||
    raise Exception("Changelog's current version doesn't have a tag. Push the tag!")
 | 
					 | 
				
			||||||
							
								
								
									
										1
									
								
								debian/compat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								debian/compat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					10
 | 
				
			||||||
							
								
								
									
										27
									
								
								debian/control
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								debian/control
									
									
									
									
										vendored
									
									
								
							@ -4,14 +4,13 @@ Priority: optional
 | 
				
			|||||||
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
 | 
					Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
 | 
				
			||||||
Build-Depends:
 | 
					Build-Depends:
 | 
				
			||||||
 cargo,
 | 
					 cargo,
 | 
				
			||||||
 debhelper-compat (= 13),
 | 
					 debhelper (>= 10),
 | 
				
			||||||
 meson (>=0.51.0),
 | 
					 meson (>=0.51.0),
 | 
				
			||||||
 ninja-build,
 | 
					 ninja-build,
 | 
				
			||||||
 pkg-config,
 | 
					 pkg-config,
 | 
				
			||||||
 libglib2.0-dev,
 | 
					 libglib2.0-dev,
 | 
				
			||||||
 libgnome-desktop-3-dev,
 | 
					 | 
				
			||||||
 libgtk-3-dev,
 | 
					 libgtk-3-dev,
 | 
				
			||||||
 libfeedback-dev,
 | 
					 libcroco3-dev,
 | 
				
			||||||
 librust-bitflags-1-dev (>= 1.0),
 | 
					 librust-bitflags-1-dev (>= 1.0),
 | 
				
			||||||
 librust-clap-2+default-dev (>= 2.32),
 | 
					 librust-clap-2+default-dev (>= 2.32),
 | 
				
			||||||
 librust-gio+v2-44-dev,
 | 
					 librust-gio+v2-44-dev,
 | 
				
			||||||
@ -20,15 +19,16 @@ Build-Depends:
 | 
				
			|||||||
 librust-gtk+v3-22-dev (>= 0.5),
 | 
					 librust-gtk+v3-22-dev (>= 0.5),
 | 
				
			||||||
 librust-gtk-sys-dev,
 | 
					 librust-gtk-sys-dev,
 | 
				
			||||||
 librust-maplit-1-dev (>= 1.0),
 | 
					 librust-maplit-1-dev (>= 1.0),
 | 
				
			||||||
 | 
					 librust-regex-1-dev (>= 1.1),
 | 
				
			||||||
 librust-serde-derive-1-dev (>= 1.0),
 | 
					 librust-serde-derive-1-dev (>= 1.0),
 | 
				
			||||||
 librust-serde-yaml-0.8-dev (>= 0.8),
 | 
					 librust-serde-yaml-0.8-dev (>= 0.8),
 | 
				
			||||||
 librust-xkbcommon-0.4+wayland-dev (>= 0.4),
 | 
					 librust-xkbcommon-0.4+wayland-dev (>= 0.4),
 | 
				
			||||||
 libwayland-dev (>= 1.16),
 | 
					 libwayland-dev (>= 1.16),
 | 
				
			||||||
 lsb-release,
 | 
					 | 
				
			||||||
 python3,
 | 
					 | 
				
			||||||
 python3-ruamel.yaml,
 | 
					 | 
				
			||||||
 rustc,
 | 
					 rustc,
 | 
				
			||||||
 wayland-protocols (>= 1.14),
 | 
					 wayland-protocols (>= 1.14),
 | 
				
			||||||
 | 
					# for running the tests
 | 
				
			||||||
 | 
					 xvfb,
 | 
				
			||||||
 | 
					 xauth,
 | 
				
			||||||
Standards-Version: 4.1.3
 | 
					Standards-Version: 4.1.3
 | 
				
			||||||
Homepage: https://source.puri.sm/Librem5/squeekboard
 | 
					Homepage: https://source.puri.sm/Librem5/squeekboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,22 +37,17 @@ Architecture: linux-any
 | 
				
			|||||||
Depends:
 | 
					Depends:
 | 
				
			||||||
# for the Adwaita-dark theme
 | 
					# for the Adwaita-dark theme
 | 
				
			||||||
 gnome-themes-extra-data,
 | 
					 gnome-themes-extra-data,
 | 
				
			||||||
 ${shlibs:Depends},
 | 
					 ${shlibs:Depends}
 | 
				
			||||||
 ${misc:Depends},
 | 
					 ${misc:Depends}
 | 
				
			||||||
Breaks:
 | 
					 | 
				
			||||||
 librem5-base (<< 24),
 | 
					 | 
				
			||||||
Description: On-screen keyboard for Wayland
 | 
					Description: On-screen keyboard for Wayland
 | 
				
			||||||
 Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
 | 
					 Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Package: squeekboard-devel
 | 
					Package: squeekboard-devel
 | 
				
			||||||
Architecture: linux-any
 | 
					Architecture: linux-any
 | 
				
			||||||
Depends:
 | 
					Depends:
 | 
				
			||||||
 python3,
 | 
					 ${shlibs:Depends}
 | 
				
			||||||
 python3-gi,
 | 
					 ${misc:Depends}
 | 
				
			||||||
 ${shlibs:Depends},
 | 
					 | 
				
			||||||
 ${misc:Depends},
 | 
					 | 
				
			||||||
Description: Resources for making Squeekboard layouts
 | 
					Description: Resources for making Squeekboard layouts
 | 
				
			||||||
 Tools for creating and testing Squeekboard layouts:
 | 
					 Tools for creating Squeekboard layouts:
 | 
				
			||||||
 .
 | 
					 .
 | 
				
			||||||
  * squeekboard-entry
 | 
					 | 
				
			||||||
  * squeekboard-test-layout
 | 
					  * squeekboard-test-layout
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										58
									
								
								debian/control-newer
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								debian/control-newer
									
									
									
									
										vendored
									
									
								
							@ -1,58 +0,0 @@
 | 
				
			|||||||
Source: squeekboard
 | 
					 | 
				
			||||||
Section: x11
 | 
					 | 
				
			||||||
Priority: optional
 | 
					 | 
				
			||||||
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
 | 
					 | 
				
			||||||
Build-Depends:
 | 
					 | 
				
			||||||
 cargo,
 | 
					 | 
				
			||||||
 debhelper-compat (= 13),
 | 
					 | 
				
			||||||
 meson (>=0.51.0),
 | 
					 | 
				
			||||||
 ninja-build,
 | 
					 | 
				
			||||||
 pkg-config,
 | 
					 | 
				
			||||||
 libglib2.0-dev,
 | 
					 | 
				
			||||||
 libgnome-desktop-3-dev,
 | 
					 | 
				
			||||||
 libgtk-3-dev,
 | 
					 | 
				
			||||||
 libfeedback-dev,
 | 
					 | 
				
			||||||
 librust-bitflags-dev (>= 1.0),
 | 
					 | 
				
			||||||
 librust-clap-dev (>= 2.32),
 | 
					 | 
				
			||||||
 librust-gio+v2-58-dev,
 | 
					 | 
				
			||||||
 librust-glib+v2-58-dev,
 | 
					 | 
				
			||||||
 librust-glib-sys-dev,
 | 
					 | 
				
			||||||
 librust-gtk+v3-22-dev (>= 0.5),
 | 
					 | 
				
			||||||
 librust-gtk-sys-dev,
 | 
					 | 
				
			||||||
 librust-maplit-1-dev (>= 1.0),
 | 
					 | 
				
			||||||
 librust-serde-derive-1-dev (>= 1.0),
 | 
					 | 
				
			||||||
 librust-serde-yaml-0.8-dev (>= 0.8),
 | 
					 | 
				
			||||||
 librust-xkbcommon-0.4+wayland-dev (>= 0.4),
 | 
					 | 
				
			||||||
 libwayland-dev (>= 1.16),
 | 
					 | 
				
			||||||
 lsb-release,
 | 
					 | 
				
			||||||
 python3,
 | 
					 | 
				
			||||||
 python3-ruamel.yaml,
 | 
					 | 
				
			||||||
 rustc,
 | 
					 | 
				
			||||||
 wayland-protocols (>= 1.14),
 | 
					 | 
				
			||||||
Standards-Version: 4.1.3
 | 
					 | 
				
			||||||
Homepage: https://source.puri.sm/Librem5/squeekboard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Package: squeekboard
 | 
					 | 
				
			||||||
Architecture: linux-any
 | 
					 | 
				
			||||||
Depends:
 | 
					 | 
				
			||||||
# for the Adwaita-dark theme
 | 
					 | 
				
			||||||
 gnome-themes-extra-data,
 | 
					 | 
				
			||||||
 ${shlibs:Depends},
 | 
					 | 
				
			||||||
 ${misc:Depends},
 | 
					 | 
				
			||||||
Breaks:
 | 
					 | 
				
			||||||
 librem5-base (<< 24),
 | 
					 | 
				
			||||||
Description: On-screen keyboard for Wayland
 | 
					 | 
				
			||||||
 Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Package: squeekboard-devel
 | 
					 | 
				
			||||||
Architecture: linux-any
 | 
					 | 
				
			||||||
Depends:
 | 
					 | 
				
			||||||
 python3,
 | 
					 | 
				
			||||||
 python3-gi,
 | 
					 | 
				
			||||||
 ${shlibs:Depends},
 | 
					 | 
				
			||||||
 ${misc:Depends},
 | 
					 | 
				
			||||||
Description: Resources for making Squeekboard layouts
 | 
					 | 
				
			||||||
 Tools for creating and testing Squeekboard layouts:
 | 
					 | 
				
			||||||
 .
 | 
					 | 
				
			||||||
  * squeekboard-entry
 | 
					 | 
				
			||||||
  * squeekboard-test-layout
 | 
					 | 
				
			||||||
							
								
								
									
										34
									
								
								debian/rules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								debian/rules
									
									
									
									
										vendored
									
									
								
							@ -2,42 +2,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export CARGO_HOME = $(CURDIR)/debian/cargo
 | 
					export CARGO_HOME = $(CURDIR)/debian/cargo
 | 
				
			||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 | 
					export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 | 
				
			||||||
# the below avoids an FTBFS on mips64el with a GOT > 64kb
 | 
					 | 
				
			||||||
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
 | 
					 | 
				
			||||||
ifeq ($(DEB_HOST_ARCH),mips64el)
 | 
					 | 
				
			||||||
 export RUSTFLAGS = -Ctarget-feature=+xgot
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# the below avoids an FTBFS on mips64el with a GOT > 64kb
 | 
					 | 
				
			||||||
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
 | 
					 | 
				
			||||||
ifeq ($(DEB_HOST_ARCH),mips64el)
 | 
					 | 
				
			||||||
 xgot = -Ctarget-feature=+xgot
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
 xgot = 
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Don't use paths that may change between builds.
 | 
					 | 
				
			||||||
# No need to care about $HOME
 | 
					 | 
				
			||||||
# because Cargo will not place any source in ~/.cargo.
 | 
					 | 
				
			||||||
# The build directory is a subdirectory of the source directory,
 | 
					 | 
				
			||||||
# so it doesn't need to be explicitly taken care of.
 | 
					 | 
				
			||||||
export RUSTFLAGS = --remap-path-prefix=$(CURDIR)=/remap-pwd $(xgot)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
distrel := $(shell lsb_release --codename --short)
 | 
					 | 
				
			||||||
ifneq (,$(filter $(distrel),sid))
 | 
					 | 
				
			||||||
	newer = true
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	newer = false
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
%:
 | 
					%:
 | 
				
			||||||
	dh $@ --builddirectory=_build --buildsystem=meson
 | 
						dh $@ --builddirectory=_build --buildsystem=meson
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The Debian version of linked-hash-map doesn't provide any hash,
 | 
					# The Debian version of linked-hash-map doesn't provide any hash,
 | 
				
			||||||
# causing Cargo to refuse to build with a crates.io copy
 | 
					# causing Cargo to refuse to build with a crates.io copy
 | 
				
			||||||
override_dh_auto_configure:
 | 
					build-arch:
 | 
				
			||||||
	[ ! -f Cargo.lock ] || rm Cargo.lock
 | 
						rm Cargo.lock
 | 
				
			||||||
	dh_auto_configure -- -Dnewer=$(newer)
 | 
						dh $@ --builddirectory=_build --buildsystem=meson
 | 
				
			||||||
 | 
					
 | 
				
			||||||
override_dh_autoreconf:
 | 
					override_dh_autoreconf:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								debian/squeekboard-devel.install
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								debian/squeekboard-devel.install
									
									
									
									
										vendored
									
									
								
							@ -1,2 +1 @@
 | 
				
			|||||||
usr/bin/squeekboard-test-layout /usr/bin
 | 
					usr/bin/squeekboard-test-layout /usr/bin
 | 
				
			||||||
usr/bin/squeekboard-entry /usr/bin
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								debian/squeekboard.install
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/squeekboard.install
									
									
									
									
										vendored
									
									
								
							@ -1,4 +1,2 @@
 | 
				
			|||||||
tools/squeekboard-restyled usr/bin
 | 
					tools/squeekboard-restyled usr/bin
 | 
				
			||||||
usr/bin/squeekboard /usr/bin
 | 
					usr/bin/squeekboard /usr/bin
 | 
				
			||||||
usr/share/applications/
 | 
					 | 
				
			||||||
usr/share/locale/
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										22
									
								
								doc/build.sh
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								doc/build.sh
									
									
									
									
									
								
							@ -1,22 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Builds the documentation and places in the selected directory,
 | 
					 | 
				
			||||||
# or the working directory.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SCRIPT_PATH="$(realpath "$0")"
 | 
					 | 
				
			||||||
DOCS_DIR="$(dirname "$SCRIPT_PATH")"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TARGET_DIR="${1:-./}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SPHINX=sphinx-build
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ ! -d $DOCS_DIR/_static ]; then
 | 
					 | 
				
			||||||
    mkdir -p $DOCS_DIR/_static
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if ! which sphinx-build ; then
 | 
					 | 
				
			||||||
    SPHINX=sphinx-build-3
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
$SPHINX -b html "${DOCS_DIR}" "${TARGET_DIR}"
 | 
					 | 
				
			||||||
							
								
								
									
										165
									
								
								doc/conf.py
									
									
									
									
									
								
							
							
						
						
									
										165
									
								
								doc/conf.py
									
									
									
									
									
								
							@ -1,165 +0,0 @@
 | 
				
			|||||||
# -*- coding: utf-8 -*-
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Configuration file for the Sphinx documentation builder.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# This file does only contain a selection of the most common options. For a
 | 
					 | 
				
			||||||
# full list see the documentation:
 | 
					 | 
				
			||||||
# http://www.sphinx-doc.org/en/master/config
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Path setup --------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# If extensions (or modules to document with autodoc) are in another directory,
 | 
					 | 
				
			||||||
# add these directories to sys.path here. If the directory is relative to the
 | 
					 | 
				
			||||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# import os
 | 
					 | 
				
			||||||
# import sys
 | 
					 | 
				
			||||||
# sys.path.insert(0, os.path.abspath('.'))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Project information -----------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
project = 'squeekboard'
 | 
					 | 
				
			||||||
copyright = 'Squeekboard contributors'
 | 
					 | 
				
			||||||
author = 'Dorota Czaplejewicz'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The short X.Y version
 | 
					 | 
				
			||||||
version = ''
 | 
					 | 
				
			||||||
# The full version, including alpha/beta/rc tags
 | 
					 | 
				
			||||||
release = ''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- General configuration ---------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# If your documentation needs a minimal Sphinx version, state it here.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# needs_sphinx = '1.0'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Add any Sphinx extension module names here, as strings. They can be
 | 
					 | 
				
			||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 | 
					 | 
				
			||||||
# ones.
 | 
					 | 
				
			||||||
extensions = [
 | 
					 | 
				
			||||||
    'recommonmark'
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Add any paths that contain templates here, relative to this directory.
 | 
					 | 
				
			||||||
templates_path = ['_templates']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The suffix(es) of source filenames.
 | 
					 | 
				
			||||||
# You can specify multiple suffix as a list of string:
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# source_suffix = ['.rst', '.md']
 | 
					 | 
				
			||||||
source_suffix = '.md'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The master toctree document.
 | 
					 | 
				
			||||||
master_doc = 'index'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The language for content autogenerated by Sphinx. Refer to documentation
 | 
					 | 
				
			||||||
# for a list of supported languages.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# This is also used if you do content translation via gettext catalogs.
 | 
					 | 
				
			||||||
# Usually you set "language" from the command line for these cases.
 | 
					 | 
				
			||||||
language = None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# List of patterns, relative to source directory, that match files and
 | 
					 | 
				
			||||||
# directories to ignore when looking for source files.
 | 
					 | 
				
			||||||
# This pattern also affects html_static_path and html_extra_path .
 | 
					 | 
				
			||||||
exclude_patterns = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The name of the Pygments (syntax highlighting) style to use.
 | 
					 | 
				
			||||||
pygments_style = 'sphinx'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Options for HTML output -------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The theme to use for HTML and HTML Help pages.  See the documentation for
 | 
					 | 
				
			||||||
# a list of builtin themes.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
html_theme = 'alabaster'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Theme options are theme-specific and customize the look and feel of a theme
 | 
					 | 
				
			||||||
# further.  For a list of options available for each theme, see the
 | 
					 | 
				
			||||||
# documentation.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# html_theme_options = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Add any paths that contain custom static files (such as style sheets) here,
 | 
					 | 
				
			||||||
# relative to this directory. They are copied after the builtin static files,
 | 
					 | 
				
			||||||
# so a file named "default.css" will overwrite the builtin "default.css".
 | 
					 | 
				
			||||||
html_static_path = ['_static']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Custom sidebar templates, must be a dictionary that maps document names
 | 
					 | 
				
			||||||
# to template names.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# The default sidebars (for documents that don't match any pattern) are
 | 
					 | 
				
			||||||
# defined by theme itself.  Builtin themes are using these templates by
 | 
					 | 
				
			||||||
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
 | 
					 | 
				
			||||||
# 'searchbox.html']``.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# html_sidebars = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Options for HTMLHelp output ---------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Output file base name for HTML help builder.
 | 
					 | 
				
			||||||
htmlhelp_basename = 'squeekboarddoc'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Options for LaTeX output ------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
latex_elements = {
 | 
					 | 
				
			||||||
    # The paper size ('letterpaper' or 'a4paper').
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # 'papersize': 'letterpaper',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # The font size ('10pt', '11pt' or '12pt').
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # 'pointsize': '10pt',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Additional stuff for the LaTeX preamble.
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # 'preamble': '',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Latex figure (float) alignment
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # 'figure_align': 'htbp',
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Grouping the document tree into LaTeX files. List of tuples
 | 
					 | 
				
			||||||
# (source start file, target name, title,
 | 
					 | 
				
			||||||
#  author, documentclass [howto, manual, or own class]).
 | 
					 | 
				
			||||||
latex_documents = [
 | 
					 | 
				
			||||||
    (master_doc, 'squeekboard.tex', 'squeekboard Documentation',
 | 
					 | 
				
			||||||
     'Dorota Czaplejewicz', 'manual'),
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Options for manual page output ------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# One entry per manual page. List of tuples
 | 
					 | 
				
			||||||
# (source start file, name, description, authors, manual section).
 | 
					 | 
				
			||||||
man_pages = [
 | 
					 | 
				
			||||||
    (master_doc, 'squeekboard', 'squeekboard Documentation',
 | 
					 | 
				
			||||||
     [author], 1)
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -- Options for Texinfo output ----------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Grouping the document tree into Texinfo files. List of tuples
 | 
					 | 
				
			||||||
# (source start file, target name, title, author,
 | 
					 | 
				
			||||||
#  dir menu entry, description, category)
 | 
					 | 
				
			||||||
texinfo_documents = [
 | 
					 | 
				
			||||||
    (master_doc, 'squeekboard', 'squeekboard Documentation',
 | 
					 | 
				
			||||||
     author, 'squeekboard', 'One line description of project.',
 | 
					 | 
				
			||||||
     'Miscellaneous'),
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from recommonmark.transform import AutoStructify
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def setup(app):
 | 
					 | 
				
			||||||
    app.add_config_value('recommonmark_config', {
 | 
					 | 
				
			||||||
        'enable_auto_toc_tree': True,
 | 
					 | 
				
			||||||
        'auto_toc_tree_section': 'Contents',
 | 
					 | 
				
			||||||
    }, True)
 | 
					 | 
				
			||||||
    app.add_transform(AutoStructify)
 | 
					 | 
				
			||||||
							
								
								
									
										267
									
								
								doc/hacking.md
									
									
									
									
									
								
							
							
						
						
									
										267
									
								
								doc/hacking.md
									
									
									
									
									
								
							@ -1,267 +0,0 @@
 | 
				
			|||||||
Hacking
 | 
					 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This document describes the standards for modifying and maintaining the *squeekboard* project.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Principles
 | 
					 | 
				
			||||||
----------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The project was built upon some guiding principles, which should be respected primarily by the maintainers, but also by contributors to avoid needlessly rejected changes.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The overarching principle of *squeekboard* is to empower users.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Software is primarily meant to solve problems of its users. Often in the quest to make software better, a hard distinction is made between the developer, who becomes the creator, and the user, who takes the role of the consumer, without direct influence on the software they use.
 | 
					 | 
				
			||||||
This project aims to give users the power to make the software work for them by blurring the lines between users and developers.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Notwithstanding its current state, *squeekboard* must be structured in a way that provides users a gradual way to gain more experience and power to adjust it. It must be easy, in order of importance:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- to use the software,
 | 
					 | 
				
			||||||
- to modify its resources,
 | 
					 | 
				
			||||||
- to change its behavior,
 | 
					 | 
				
			||||||
- to contribute upstream.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To give an idea of what it means in practice, those are some examples of what has been important for *squeekboard* so far:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- being quick and usable,
 | 
					 | 
				
			||||||
- allowing local overrides of resources and config,
 | 
					 | 
				
			||||||
- storing resources and config as editable, standard files,
 | 
					 | 
				
			||||||
- having complete, up to date documentation of interfaces,
 | 
					 | 
				
			||||||
- having an easy process of sending contributions,
 | 
					 | 
				
			||||||
- adapting to to user's settings and constrains without overriding them,
 | 
					 | 
				
			||||||
- avoiding compiling whenever possible,
 | 
					 | 
				
			||||||
- making it easy to build,
 | 
					 | 
				
			||||||
- having code that is [simple and obvious](https://www.python.org/dev/peps/pep-0020/),
 | 
					 | 
				
			||||||
- having an easy process of testing and accepting contributions.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
You may notice that they are ordered roughly from "user-focused" to "maintainer-focused". While good properties are desired, sometimes they conflict, and maintainers should give additional weight to those benefiting the user compared to those benefiting regular contributors.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Sending patches
 | 
					 | 
				
			||||||
---------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
By submitting a change to this project, you agree to license it under the [GPL license version 3](https://source.puri.sm/Librem5/squeekboard/blob/master/COPYING), or any later version. You also certify that your contribution fulfills the [Developer's Certificate of Origin 1.1](https://source.puri.sm/Librem5/squeekboard/blob/master/dco.txt).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Development environment
 | 
					 | 
				
			||||||
-----------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
*Squeekboard* is regularly built and tested on [the development environment](https://developer.puri.sm/Librem5/Development_Environment.html).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Recent Fedora releases are likely to be tested as well.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On a Debian based system run
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
sudo apt-get -y install build-essential
 | 
					 | 
				
			||||||
sudo apt-get -y build-dep .
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
For an explicit list of dependencies check the `Build-Depends` entry in the [`debian/control`](https://source.puri.sm/Librem5/squeekboard/blob/master/debian/control) file.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Testing
 | 
					 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Most common testing is done in CI. Occasionally, and for each release, do perform manual tests to make sure that
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- the application draws correctly
 | 
					 | 
				
			||||||
- it shows when relevant
 | 
					 | 
				
			||||||
- it changes layouts
 | 
					 | 
				
			||||||
- it changes views
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Testing with an application:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
python3 tools/entry.py
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Testing visibility:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
 | 
					 | 
				
			||||||
$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Testing layouts:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Layouts can be selected using the GNOME Settings application.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
# define all available layouts. First one is currently selected.
 | 
					 | 
				
			||||||
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'de')]"
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Environment Variables
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Besides the environment variables supported by GTK and [GLib](https://docs.gtk.org/glib/running.html) applications
 | 
					 | 
				
			||||||
squeekboard honors the `SQUEEKBOARD_DEBUG` environment variable which can
 | 
					 | 
				
			||||||
contain a comma separated list of:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `force-show` : Show squeekboard on startup independent of any gsettings or compositor requests
 | 
					 | 
				
			||||||
- `gtk-inspector`: Spawn [gtk-inspector](https://wiki.gnome.org/Projects/GTK/Inspector)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Coding
 | 
					 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Project structure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Rust modules should be split into 2 categories: libraries, and user interface. They differ in the way they do error handling.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Libraries should:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- not panic due to external surprises, only due to internal inconsistencies
 | 
					 | 
				
			||||||
- pass errors and surprises they can't handle to the callers instead
 | 
					 | 
				
			||||||
- not silence errors and surprises
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
User interface modules should:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- try to provide safe values whenever they encounter an error
 | 
					 | 
				
			||||||
- do the logging
 | 
					 | 
				
			||||||
- give libraries the ability to report errors and surprises (e.g. via giving them loggers)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Style
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Note that some portions, like the .gitlab-ci.yml file have accummulated enough style/whitespace conflicts that an enforced style checker is now applied.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To fix your contributions before submitting a change, use:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
./tools/style-check_source --apply
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* * *
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Code submitted should roughly match the style of surrounding code. Things that will *not* be accepted are ones that often lead to errors:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- skipping brackets `{}` after every `if()`, `else`, and similar ([SCI CERT C: EXP19-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP19-C.+Use+braces+for+the+body+of+an+if%2C+for%2C+or+while+statement))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Bad example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
if (foo)
 | 
					 | 
				
			||||||
  bar();
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Good example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
if (foo) {
 | 
					 | 
				
			||||||
  bar();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- mixing tabs and spaces in the same block of code (or config)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Strongly encouraged:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- don't make lines too long. If it's longer than ~80 characters, it's probably unreadable already, and the code needs to be clarified;
 | 
					 | 
				
			||||||
- put operators in the beginning of a continuation line
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Bad example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
foobar = verylongexpression +
 | 
					 | 
				
			||||||
    anotherverylongexpression + 
 | 
					 | 
				
			||||||
    yetanotherexpression;
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Good example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
foobar = verylongexpression
 | 
					 | 
				
			||||||
    + anotherverylongexpression
 | 
					 | 
				
			||||||
    + yetanotherexpression;
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- use `///` for documentation comments in front of definitions and `/*! ... */` for documentation comments in the beginning of modules (see [Rust doc-comments](https://doc.rust-lang.org/reference/comments.html#doc-comments))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If in doubt, check [PEP8](https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md), the [kernel coding style](https://www.kernel.org/doc/html/v4.10/process/coding-style.html), or the [Rust style guide](https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Maintenance
 | 
					 | 
				
			||||||
-----------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard uses Rust & Cargo for some of its dependencies.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Use the `cargo.sh` script for maintaining the Cargo part of the build. The script takes the usual Cargo commands, after the first 2 positional arguments: source directory, and output artifact. So, `cargo test` becomes:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
cd build_dir
 | 
					 | 
				
			||||||
sh /source_path/cargo.sh test
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Cargo dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
All Cargo dependencies must be selected in the version available in PureOS, and added to the file `debian/control`. Please check with https://software.pureos.net/search_pkg?term=librust .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Dependencies must be specified in `Cargo.toml` with 2 numbers: "major.minor". Since bugfix version number is meant to not affect the interface, this allows for safe updates.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Releases
 | 
					 | 
				
			||||||
----------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard should get a new release every time something interesting comes in. Preferably when there are no known bugs too. People will rely on theose releases, after all.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 1. Update `Cargo.toml`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
While the file is not actually used, it's a good idea to save the config in case some rare bug appears in dependencies.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
cd squeekboard-build
 | 
					 | 
				
			||||||
.../squeekboard-source/cargo.sh update
 | 
					 | 
				
			||||||
ninja test
 | 
					 | 
				
			||||||
cp ./Cargo.lock .../squeekboard-source
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Then commit the updated `Cargo.lock`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 2. Choose the version number
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard tries to use semantic versioning. It's 3 numbers separated by dots: "a.b.c". Releases which only fix bugs and nothing else are "a.b.c+1". Releases which add user-visible features in addition to bug fixes are "a.b+1.0". Releases which, in addition to the previous, change *the user contract* in incompatible ways are "a+1.0.0". "The user contract" means plugin APIs that are deemed stable, or the way language switching works, etc. In other words, incompatible changes to developers, or big changes to users bump "a" to the next natural number.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 3. Update the number in `meson.build`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It's in the `project(version: xxx)` statement.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 4. Update packaging
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Packaging is in the `debian/` directory, and creates builds that can be quickly tested.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
cd squeekboard-source
 | 
					 | 
				
			||||||
gbp dch --multimaint-merge  --ignore-branch
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Inspect `debian/changelog`, and make sure the first line contains the correct version number and suite. For example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
squeekboard (1.13.0pureos0~amber0) amber-phone; urgency=medium
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Commit the updated `debian/changelog`. The commit message should contain the release version and a description of changes.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> Release 1.13.0 "Externality"
 | 
					 | 
				
			||||||
>
 | 
					 | 
				
			||||||
> Changes:
 | 
					 | 
				
			||||||
>
 | 
					 | 
				
			||||||
> - A system for latching and locking views
 | 
					 | 
				
			||||||
> ...
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 5. Create a signed tag for downstreams
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The tag should be the version number with "v" in front of it. The tag message should be "squeekboard" and the tag name. Push it to the upstream repository:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
git tag -s -u my_address@example.com v1.13.0 -m "squeekboard v1.13.0"
 | 
					 | 
				
			||||||
git push v1.13.0
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 5. Create a signed tag for packaging
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Similar to the above, but format it for the PureOS downstream.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
git tag -s -u my_address@example.com 'pureos/1.13.0pureos0_amber0' -m 'squeekboard 1.13.0pureos0_amber0'
 | 
					 | 
				
			||||||
git push 'pureos/1.13.0pureos0_amber0'
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 6. Rejoice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
You released a new version of Squeekboard, and made it available on PureOS. Congratulations.
 | 
					 | 
				
			||||||
							
								
								
									
										30
									
								
								doc/index.md
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								doc/index.md
									
									
									
									
									
								
							@ -1,30 +0,0 @@
 | 
				
			|||||||
Welcome to squeekboard's documentation!
 | 
					 | 
				
			||||||
=======================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Contents
 | 
					 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* [Tutorial](tutorial.md)
 | 
					 | 
				
			||||||
* [Contributing](hacking.md)
 | 
					 | 
				
			||||||
* [Switching views](views.md)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Introduction
 | 
					 | 
				
			||||||
------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard is the on-screen keyboard for the Librem 5 phone. For information about building, look at the [README](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Layouts
 | 
					 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard allows user-provided keyboard layouts. They can be created without recompiling the keyboard code. The [tutorial](tutorial.md) explains the process in detail.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Layouts are created using a text-based format, based on YAML.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TODO: Provide a description of the format.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Squeekboard layouts are separated into *views* and use a *room metaphor* to [switch views](views.md).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Contributions
 | 
					 | 
				
			||||||
-------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Anyone is free to modify *squeekboard*. See the [contributing document](hacking.md).
 | 
					 | 
				
			||||||
							
								
								
									
										594
									
								
								doc/latching.svg
									
									
									
									
									
								
							
							
						
						
									
										594
									
								
								doc/latching.svg
									
									
									
									
									
								
							@ -1,594 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
					 | 
				
			||||||
<svg
 | 
					 | 
				
			||||||
   xmlns:dc="http://purl.org/dc/elements/1.1/"
 | 
					 | 
				
			||||||
   xmlns:cc="http://creativecommons.org/ns#"
 | 
					 | 
				
			||||||
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 | 
					 | 
				
			||||||
   xmlns:svg="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
					 | 
				
			||||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
					 | 
				
			||||||
   width="177.92439mm"
 | 
					 | 
				
			||||||
   height="88.144363mm"
 | 
					 | 
				
			||||||
   viewBox="0 0 177.92439 88.144364"
 | 
					 | 
				
			||||||
   version="1.1"
 | 
					 | 
				
			||||||
   id="svg8"
 | 
					 | 
				
			||||||
   sodipodi:docname="latching.svg"
 | 
					 | 
				
			||||||
   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
 | 
					 | 
				
			||||||
  <defs
 | 
					 | 
				
			||||||
     id="defs2">
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Mend"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Mend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.4,0,0,-0.4,-4,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1098" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow2Sstart"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow2Sstart"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(0.3,0,0,0.3,-0.69,0)"
 | 
					 | 
				
			||||||
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1119" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow2Mstart"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow2Mstart"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="scale(0.6)"
 | 
					 | 
				
			||||||
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1113" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-5" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-9" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848-8" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect916" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-4" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect951" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect986" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1061" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-5"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#00ad12;fill-opacity:1;fill-rule:evenodd;stroke:#00ad12;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-7" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1549" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-8"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#101010;fill-opacity:1;fill-rule:evenodd;stroke:#101010;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-8" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-3" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1845" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-38" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1960" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-3-9" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect2304" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-3-4" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect2304-7" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#6c6c6c;fill-opacity:1;fill-rule:evenodd;stroke:#6c6c6c;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#00ad12;fill-opacity:1;fill-rule:evenodd;stroke:#00ad12;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-21" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect2574" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6-1"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#00ad12;fill-opacity:1;fill-rule:evenodd;stroke:#00ad12;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8-0" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6-6"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#00ad12;fill-opacity:1;fill-rule:evenodd;stroke:#00ad12;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8-2" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-1-8" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect3021" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-8-3"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#101010;fill-opacity:1;fill-rule:evenodd;stroke:#101010;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-8-5" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
  </defs>
 | 
					 | 
				
			||||||
  <sodipodi:namedview
 | 
					 | 
				
			||||||
     id="base"
 | 
					 | 
				
			||||||
     pagecolor="#ffffff"
 | 
					 | 
				
			||||||
     bordercolor="#666666"
 | 
					 | 
				
			||||||
     borderopacity="1.0"
 | 
					 | 
				
			||||||
     inkscape:pageopacity="0.0"
 | 
					 | 
				
			||||||
     inkscape:pageshadow="2"
 | 
					 | 
				
			||||||
     inkscape:zoom="1.3358025"
 | 
					 | 
				
			||||||
     inkscape:cx="212.63846"
 | 
					 | 
				
			||||||
     inkscape:cy="105.21093"
 | 
					 | 
				
			||||||
     inkscape:document-units="mm"
 | 
					 | 
				
			||||||
     inkscape:current-layer="layer1"
 | 
					 | 
				
			||||||
     inkscape:document-rotation="0"
 | 
					 | 
				
			||||||
     showgrid="false"
 | 
					 | 
				
			||||||
     fit-margin-top="4"
 | 
					 | 
				
			||||||
     fit-margin-left="4"
 | 
					 | 
				
			||||||
     fit-margin-right="4"
 | 
					 | 
				
			||||||
     fit-margin-bottom="4"
 | 
					 | 
				
			||||||
     lock-margins="true"
 | 
					 | 
				
			||||||
     inkscape:window-width="1298"
 | 
					 | 
				
			||||||
     inkscape:window-height="708"
 | 
					 | 
				
			||||||
     inkscape:window-x="0"
 | 
					 | 
				
			||||||
     inkscape:window-y="0"
 | 
					 | 
				
			||||||
     inkscape:window-maximized="1" />
 | 
					 | 
				
			||||||
  <metadata
 | 
					 | 
				
			||||||
     id="metadata5">
 | 
					 | 
				
			||||||
    <rdf:RDF>
 | 
					 | 
				
			||||||
      <cc:Work
 | 
					 | 
				
			||||||
         rdf:about="">
 | 
					 | 
				
			||||||
        <dc:format>image/svg+xml</dc:format>
 | 
					 | 
				
			||||||
        <dc:type
 | 
					 | 
				
			||||||
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 | 
					 | 
				
			||||||
        <dc:title />
 | 
					 | 
				
			||||||
      </cc:Work>
 | 
					 | 
				
			||||||
    </rdf:RDF>
 | 
					 | 
				
			||||||
  </metadata>
 | 
					 | 
				
			||||||
  <g
 | 
					 | 
				
			||||||
     inkscape:label="Layer 1"
 | 
					 | 
				
			||||||
     inkscape:groupmode="layer"
 | 
					 | 
				
			||||||
     id="layer1"
 | 
					 | 
				
			||||||
     transform="translate(-72.097892,-53.326191)">
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#101010;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-8-3)"
 | 
					 | 
				
			||||||
       d="m 134.9616,86.141869 c 17.5759,-11.622767 35.93283,0 35.93283,0"
 | 
					 | 
				
			||||||
       id="path1087-1-6" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g2948">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065-6"
 | 
					 | 
				
			||||||
         cx="129.67093"
 | 
					 | 
				
			||||||
         cy="92.793152"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(46.071199,-1.2662626)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>A</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       style="color:#000000;overflow:visible;fill:#f8f8f8;fill-opacity:1;stroke:#000000;stroke-width:0.555679;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       id="rect2066"
 | 
					 | 
				
			||||||
       width="1.4562259"
 | 
					 | 
				
			||||||
       height="10.90563"
 | 
					 | 
				
			||||||
       x="81.767418"
 | 
					 | 
				
			||||||
       y="75.519585"
 | 
					 | 
				
			||||||
       ry="0.9693895" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905"
 | 
					 | 
				
			||||||
       transform="translate(0,-0.85044703)">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065"
 | 
					 | 
				
			||||||
         cx="83.154755"
 | 
					 | 
				
			||||||
         cy="93.6436"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan
 | 
					 | 
				
			||||||
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none">a</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-3-7"
 | 
					 | 
				
			||||||
       transform="translate(92.82116,-0.85044861)">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065-6-7"
 | 
					 | 
				
			||||||
         cx="83.557831"
 | 
					 | 
				
			||||||
         cy="93.6436"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0-5"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10-1);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>Ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1"
 | 
					 | 
				
			||||||
       transform="translate(68.838914,-17.67039)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#e2e2e2;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.2686286,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan> ̨̂ ̈</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#101010;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-8)"
 | 
					 | 
				
			||||||
       d="m 88.446425,85.89509 c 17.575895,-11.622767 35.932835,0 35.932835,0"
 | 
					 | 
				
			||||||
       id="path1087-1" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="99.186691"
 | 
					 | 
				
			||||||
       y="66.221436"
 | 
					 | 
				
			||||||
       id="text1035-89"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1033-6"
 | 
					 | 
				
			||||||
         x="99.186691"
 | 
					 | 
				
			||||||
         y="66.221436"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">locking</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1-4"
 | 
					 | 
				
			||||||
       transform="translate(22.423434,-17.67039)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#e2e2e2;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8-3"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7-3"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2-3);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>⇧</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 0.5;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       d="m 83.251484,76.550079 c -0.31498,0 -0.944941,-0.314981 -0.944941,0 0,0.31498 0.770221,0.262079 0.944941,0 0.212555,-0.318834 0.08197,-0.862973 -0.188988,-1.133929 -0.132651,-0.13265 -1.931144,0.354037 -2.078869,0.944941 -0.108038,0.432149 0.877467,-0.188989 1.322916,-0.188989 0.339244,0 0.626121,0.262042 0.944941,0.377977 0.374434,0.136158 0.777569,0.199796 1.133928,0.377976 0.113894,0.05695 -0.0037,0.439732 0.944941,0.755952 0.544156,0.181385 1.78847,0.275251 2.267857,0.377976 0.448438,0.09609 0.881944,0.251984 1.322917,0.377977 0.063,0.188988 0.388199,0.566964 0.188988,0.566964 -0.195153,0 -0.745291,-0.93961 0,-0.566964 0.281726,0.140863 0.485859,0.404908 0.755952,0.566964 1.460327,0.876196 3.039871,1.714659 4.346726,2.834821 0.966187,0.828161 1.495207,2.006597 2.645833,2.645834 2.876101,1.597834 5.000414,0.287454 7.370534,1.133929 0.4783,0.170821 0.85136,0.567325 1.32292,0.755952 1.8557,0.74228 0.94424,0.230907 2.26785,0.377976 1.47287,0.16365 2.67387,1.06159 4.15774,0.566965 1.22233,-0.407443 3.2674,-1.377519 4.15774,-2.267858 0.39842,-0.398422 0.42845,-1.053404 0.75595,-1.511905 0.50136,-0.70189 1.27041,-1.107171 1.7009,-1.889881 2.28615,-4.156632 0.41931,-1.931216 3.2128,-4.724702 0.18898,-0.188988 0.33491,-0.434362 0.56696,-0.566964 0.864,-0.493714 5.11938,-0.281812 6.04762,-0.188989 0.34449,0.03445 3.71968,0.978261 3.96875,1.133929 0.35339,0.220868 1.41179,1.650838 1.88988,1.889881 0.80324,0.40162 2.22057,0.354332 3.02381,0.755952 1.24832,0.624162 -0.45041,0.669376 -0.18899,1.322917 0.1193,0.298244 0.64418,0.0762 0.94494,0.188988 0.28702,0.107634 1.48279,1.113549 1.5119,1.133929 2.56034,1.792236 -0.96522,-0.855663 2.26786,1.133928 1.61516,0.993946 2.82802,2.547938 4.53572,3.401785 2.03418,1.017093 4.38487,-0.122885 6.42559,-0.377975 1.6791,-0.209886 3.23813,0.06137 4.91369,-0.566965 0.50424,-0.18909 1.82709,-1.701063 2.26786,-2.078869 0.45926,-0.393653 1.0853,-0.707329 1.5119,-1.133928 0.81561,-0.815609 1.44764,-1.826091 2.45685,-2.456845 0.28768,-0.179799 0.65726,-0.198178 0.94494,-0.377977 0.28791,-0.179945 0.60349,-0.774216 0.94494,-0.94494 0.23232,-0.116159 0.51479,-0.09252 0.75595,-0.188988 0.21089,-0.08436 0.33983,-0.377976 0.56697,-0.377976 0.14086,0 0.23711,0.188988 0.37797,0.188988 0.0891,0 0.126,-0.125992 0.18899,-0.188988 0.18899,-0.063 0.36976,-0.217161 0.56696,-0.188988 0.77174,0.110248 1.92711,0.94494 3.02381,0.94494 0.16785,0 0.94189,-0.862638 1.13393,-0.94494 0.19546,-0.08377 1.57981,-0.364523 1.7009,-0.377977 0.72233,-0.08026 2.11645,0.340388 2.64583,-0.188988"
 | 
					 | 
				
			||||||
       id="path2010" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="73.802078"
 | 
					 | 
				
			||||||
       y="72.354546"
 | 
					 | 
				
			||||||
       id="text2091"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2089"
 | 
					 | 
				
			||||||
         x="73.802078"
 | 
					 | 
				
			||||||
         y="72.354546"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">SAVED</tspan></text>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="164.55956"
 | 
					 | 
				
			||||||
       y="72.354546"
 | 
					 | 
				
			||||||
       id="text2091-8"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2089-8"
 | 
					 | 
				
			||||||
         x="164.55956"
 | 
					 | 
				
			||||||
         y="72.354546"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">CURRENT</tspan><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="164.55956"
 | 
					 | 
				
			||||||
         y="79.410095"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         id="tspan3432" /></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g2259"
 | 
					 | 
				
			||||||
       transform="matrix(1.0856157,0,0,0.94777147,-19.677062,6.4360598)">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.53502,72.72924 h 5.84717 l -1.37074,1.931346 h -3.04292 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9-0"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.4049,80.846668 h 5.84717 l -1.23711,-1.931347 h -3.17655 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <g
 | 
					 | 
				
			||||||
         id="g2247"
 | 
					 | 
				
			||||||
         transform="translate(-0.04032786,-0.04319387)">
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,75.343053 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.112065 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-3"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.881078 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-0"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,77.65009 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-2"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,78.419102 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-4"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-0"
 | 
					 | 
				
			||||||
       transform="translate(157.32586,-0.83970203)" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="145.70187"
 | 
					 | 
				
			||||||
       y="66.221436"
 | 
					 | 
				
			||||||
       id="text1035-89-2"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1033-6-9"
 | 
					 | 
				
			||||||
         x="145.70187"
 | 
					 | 
				
			||||||
         y="66.221436"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">locking</tspan></text>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 26 KiB  | 
@ -1,631 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
					 | 
				
			||||||
<svg
 | 
					 | 
				
			||||||
   xmlns:dc="http://purl.org/dc/elements/1.1/"
 | 
					 | 
				
			||||||
   xmlns:cc="http://creativecommons.org/ns#"
 | 
					 | 
				
			||||||
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 | 
					 | 
				
			||||||
   xmlns:svg="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
					 | 
				
			||||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
					 | 
				
			||||||
   width="169.9455mm"
 | 
					 | 
				
			||||||
   height="98.072433mm"
 | 
					 | 
				
			||||||
   viewBox="0 0 169.94549 98.072434"
 | 
					 | 
				
			||||||
   version="1.1"
 | 
					 | 
				
			||||||
   id="svg8"
 | 
					 | 
				
			||||||
   sodipodi:docname="latching_return.svg"
 | 
					 | 
				
			||||||
   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
 | 
					 | 
				
			||||||
  <defs
 | 
					 | 
				
			||||||
     id="defs2">
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-1" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-5"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-7" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-38" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-3-9" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-3-4" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-21" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6-1"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8-0" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-2-6-6"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-89-8-2" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-1-8" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-12" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-7" />
 | 
					 | 
				
			||||||
  </defs>
 | 
					 | 
				
			||||||
  <sodipodi:namedview
 | 
					 | 
				
			||||||
     id="base"
 | 
					 | 
				
			||||||
     pagecolor="#ffffff"
 | 
					 | 
				
			||||||
     bordercolor="#666666"
 | 
					 | 
				
			||||||
     borderopacity="1.0"
 | 
					 | 
				
			||||||
     inkscape:pageopacity="0.0"
 | 
					 | 
				
			||||||
     inkscape:pageshadow="2"
 | 
					 | 
				
			||||||
     inkscape:zoom="0.94455498"
 | 
					 | 
				
			||||||
     inkscape:cx="314.8465"
 | 
					 | 
				
			||||||
     inkscape:cy="213.42055"
 | 
					 | 
				
			||||||
     inkscape:document-units="mm"
 | 
					 | 
				
			||||||
     inkscape:current-layer="layer1"
 | 
					 | 
				
			||||||
     inkscape:document-rotation="0"
 | 
					 | 
				
			||||||
     showgrid="false"
 | 
					 | 
				
			||||||
     fit-margin-top="4"
 | 
					 | 
				
			||||||
     fit-margin-left="4"
 | 
					 | 
				
			||||||
     fit-margin-right="4"
 | 
					 | 
				
			||||||
     fit-margin-bottom="4"
 | 
					 | 
				
			||||||
     lock-margins="true"
 | 
					 | 
				
			||||||
     inkscape:window-width="1298"
 | 
					 | 
				
			||||||
     inkscape:window-height="708"
 | 
					 | 
				
			||||||
     inkscape:window-x="0"
 | 
					 | 
				
			||||||
     inkscape:window-y="0"
 | 
					 | 
				
			||||||
     inkscape:window-maximized="1"
 | 
					 | 
				
			||||||
     showguides="false" />
 | 
					 | 
				
			||||||
  <metadata
 | 
					 | 
				
			||||||
     id="metadata5">
 | 
					 | 
				
			||||||
    <rdf:RDF>
 | 
					 | 
				
			||||||
      <cc:Work
 | 
					 | 
				
			||||||
         rdf:about="">
 | 
					 | 
				
			||||||
        <dc:format>image/svg+xml</dc:format>
 | 
					 | 
				
			||||||
        <dc:type
 | 
					 | 
				
			||||||
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 | 
					 | 
				
			||||||
        <dc:title></dc:title>
 | 
					 | 
				
			||||||
      </cc:Work>
 | 
					 | 
				
			||||||
    </rdf:RDF>
 | 
					 | 
				
			||||||
  </metadata>
 | 
					 | 
				
			||||||
  <g
 | 
					 | 
				
			||||||
     inkscape:label="Layer 1"
 | 
					 | 
				
			||||||
     inkscape:groupmode="layer"
 | 
					 | 
				
			||||||
     id="layer1"
 | 
					 | 
				
			||||||
     transform="translate(-70.551731,-46.47634)">
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g3858"
 | 
					 | 
				
			||||||
       transform="translate(1.354821,1.4005714)">
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
         x="204.75821"
 | 
					 | 
				
			||||||
         y="130.07979"
 | 
					 | 
				
			||||||
         id="text2293-4"><tspan
 | 
					 | 
				
			||||||
           sodipodi:role="line"
 | 
					 | 
				
			||||||
           id="tspan2291-1"
 | 
					 | 
				
			||||||
           x="204.75821"
 | 
					 | 
				
			||||||
           y="130.07979"
 | 
					 | 
				
			||||||
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">✄</tspan></text>
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
         x="194.54915"
 | 
					 | 
				
			||||||
         y="128.70164"
 | 
					 | 
				
			||||||
         id="text2293-0-5-8"><tspan
 | 
					 | 
				
			||||||
           sodipodi:role="line"
 | 
					 | 
				
			||||||
           id="tspan2291-6-7-5"
 | 
					 | 
				
			||||||
           x="194.54915"
 | 
					 | 
				
			||||||
           y="128.70164"
 | 
					 | 
				
			||||||
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">cuts</tspan></text>
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 210.34971,123.9389 c 0.0233,0.14006 0.07,0.27818 0.07,0.42017 0,0.0738 -0.07,0.13627 -0.07,0.21009 0,0.11902 0.0582,0.23171 0.07,0.35014 0.049,0.49035 0.0857,0.98109 0.14006,1.4706 0.018,0.1624 -0.0269,0.32902 0,0.4902 0.0435,0.26077 0.11166,0.3369 0,0.56023 -0.0209,0.0418 0.033,0.10705 0,0.14006 -0.0369,0.0369 -0.10315,0.0331 -0.14006,0.07"
 | 
					 | 
				
			||||||
         id="path3816-9" />
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 209.9819,128.43627 c -0.12445,0.48957 -0.1295,0.98859 -0.0743,1.48553 0.0118,0.10583 0.01,0.21643 0.0248,0.32186 -0.002,0.0627 0.0396,0.11405 0.0495,0.17332 0.0144,0.0866 -0.0193,0.077 0,0.17331 0.0124,0.0621 0.20619,0.18971 0.24759,0.22283"
 | 
					 | 
				
			||||||
         id="path3820-7" />
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Lend-2-6-1)"
 | 
					 | 
				
			||||||
       d="m 180.7405,85.345284 c 21.77006,-11.52723 44.50758,0 44.50758,0"
 | 
					 | 
				
			||||||
       id="path1087-3-0-8" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       style="color:#000000;overflow:visible;fill:#f8f8f8;fill-opacity:1;stroke:#000000;stroke-width:0.555679;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       id="rect2066"
 | 
					 | 
				
			||||||
       width="1.4562259"
 | 
					 | 
				
			||||||
       height="10.90563"
 | 
					 | 
				
			||||||
       x="81.767418"
 | 
					 | 
				
			||||||
       y="75.519585"
 | 
					 | 
				
			||||||
       ry="0.9693895" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-3-7"
 | 
					 | 
				
			||||||
       transform="translate(92.629263,-0.8504468)">
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0-5"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10-1);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>Ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-4-9"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.266167"
 | 
					 | 
				
			||||||
         y="86.745537"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:0.4em;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="174.86499"
 | 
					 | 
				
			||||||
       y="130.79413"
 | 
					 | 
				
			||||||
       id="text1035-8"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="174.86499"
 | 
					 | 
				
			||||||
         y="130.79413"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         id="tspan2277">locking</tspan><tspan
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="174.86499"
 | 
					 | 
				
			||||||
         y="135.11462"
 | 
					 | 
				
			||||||
         id="tspan1606" /></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1-6"
 | 
					 | 
				
			||||||
       transform="translate(90.668095,26.90725)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8-0"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7-4"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2-38);fill:#f8f8f8;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.2686286,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan
 | 
					 | 
				
			||||||
             style="fill:#f8f8f8;fill-opacity:1"> ̨̂ ̈</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 0.5;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       d="m 83.251484,76.550079 c -0.31498,0 -0.944941,-0.314981 -0.944941,0 0,0.31498 0.770221,0.262079 0.944941,0 0.212555,-0.318834 0.08197,-0.862973 -0.188988,-1.133929 -0.132651,-0.13265 -1.931144,0.354037 -2.078869,0.944941 -0.108038,0.432149 0.877467,-0.188989 1.322916,-0.188989 0.339244,0 0.626121,0.262042 0.944941,0.377977 0.374434,0.136158 0.777569,0.199796 1.133928,0.377976 0.113894,0.05695 -0.0037,0.439732 0.944941,0.755952 0.544156,0.181385 1.78847,0.275251 2.267857,0.377976 0.448438,0.09609 0.881944,0.251984 1.322917,0.377977 0.063,0.188988 0.388199,0.566964 0.188988,0.566964 -0.195153,0 -0.745291,-0.93961 0,-0.566964 0.281726,0.140863 0.485859,0.404908 0.755952,0.566964 1.460327,0.876196 3.039871,1.714659 4.346726,2.834821 0.966187,0.828161 1.495207,2.006597 2.645833,2.645834 2.876101,1.597834 5.000414,0.287454 7.370534,1.133929 0.4783,0.170821 0.85136,0.567325 1.32292,0.755952 1.8557,0.74228 0.94424,0.230907 2.26785,0.377976 1.47287,0.16365 2.67387,1.06159 4.15774,0.566965 1.22233,-0.407443 3.2674,-1.377519 4.15774,-2.267858 0.39842,-0.398422 0.42845,-1.053404 0.75595,-1.511905 0.50136,-0.70189 1.27041,-1.107171 1.7009,-1.889881 2.28615,-4.156632 0.41931,-1.931216 3.2128,-4.724702 0.18898,-0.188988 0.33491,-0.434362 0.56696,-0.566964 0.864,-0.493714 5.11938,-0.281812 6.04762,-0.188989 0.34449,0.03445 3.71968,0.978261 3.96875,1.133929 0.35339,0.220868 1.41179,1.650838 1.88988,1.889881 0.80324,0.40162 2.22057,0.354332 3.02381,0.755952 1.24832,0.624162 -0.45041,0.669376 -0.18899,1.322917 0.1193,0.298244 0.64418,0.0762 0.94494,0.188988 0.28702,0.107634 1.48279,1.113549 1.5119,1.133929 2.56034,1.792236 -0.96522,-0.855663 2.26786,1.133928 1.61516,0.993946 2.82802,2.547938 4.53572,3.401785 2.03418,1.017093 4.38487,-0.122885 6.42559,-0.377975 1.6791,-0.209886 3.23813,0.06137 4.91369,-0.566965 0.50424,-0.18909 1.82709,-1.701063 2.26786,-2.078869 0.45926,-0.393653 1.0853,-0.707329 1.5119,-1.133928 0.81561,-0.815609 1.44764,-1.826091 2.45685,-2.456845 0.28768,-0.179799 0.65726,-0.198178 0.94494,-0.377977 0.28791,-0.179945 0.60349,-0.774216 0.94494,-0.94494 0.23232,-0.116159 0.51479,-0.09252 0.75595,-0.188988 0.21089,-0.08436 0.33983,-0.377976 0.56697,-0.377976 0.14086,0 0.23711,0.188988 0.37797,0.188988 0.0891,0 0.126,-0.125992 0.18899,-0.188988 0.18899,-0.063 0.36976,-0.217161 0.56696,-0.188988 0.77174,0.110248 1.92711,0.94494 3.02381,0.94494 0.16785,0 0.94189,-0.862638 1.13393,-0.94494 0.19546,-0.08377 1.57981,-0.364523 1.7009,-0.377977 0.72233,-0.08026 2.11645,0.340388 2.64583,-0.188988"
 | 
					 | 
				
			||||||
       id="path2010" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="74.331245"
 | 
					 | 
				
			||||||
       y="71.825378"
 | 
					 | 
				
			||||||
       id="text2091"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2089"
 | 
					 | 
				
			||||||
         x="74.331245"
 | 
					 | 
				
			||||||
         y="71.825378"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">SAVED</tspan></text>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="164.23172"
 | 
					 | 
				
			||||||
       y="70.186089"
 | 
					 | 
				
			||||||
       id="text2091-8"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2089-8"
 | 
					 | 
				
			||||||
         x="164.23172"
 | 
					 | 
				
			||||||
         y="70.186089"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">CURRENT</tspan><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="164.23172"
 | 
					 | 
				
			||||||
         y="77.241638"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Abyssinica SIL';-inkscape-font-specification:'Abyssinica SIL';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         id="tspan3432" /></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g2259"
 | 
					 | 
				
			||||||
       transform="matrix(1.0856157,0,0,0.94777147,-20.206229,4.319393)">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.53502,72.72924 h 5.84717 l -1.37074,1.931346 h -3.04292 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9-0"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.4049,80.846668 h 5.84717 l -1.23711,-1.931347 h -3.17655 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <g
 | 
					 | 
				
			||||||
         id="g2247"
 | 
					 | 
				
			||||||
         transform="translate(-0.04032786,-0.04319387)">
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,75.343053 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.112065 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-3"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.881078 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-0"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,77.65009 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-2"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,78.419102 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-4"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Lend-5)"
 | 
					 | 
				
			||||||
       d="m 173.01207,99.691217 c 0,0 -8.37295,13.367043 -0.26038,13.813423 9.36786,0.51544 7.89797,-9.16673 6.50059,-13.41252"
 | 
					 | 
				
			||||||
       id="path2269"
 | 
					 | 
				
			||||||
       sodipodi:nodetypes="csc" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="176.93353"
 | 
					 | 
				
			||||||
       y="138.21815"
 | 
					 | 
				
			||||||
       id="text2293"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2291"
 | 
					 | 
				
			||||||
         x="176.93353"
 | 
					 | 
				
			||||||
         y="138.21815"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">✄</tspan></text>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Lend-2-6)"
 | 
					 | 
				
			||||||
       d="m 181.46685,99.71436 c 21.61425,11.51564 44.18902,0 44.18902,0"
 | 
					 | 
				
			||||||
       id="path1087-3-0" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="195.7271"
 | 
					 | 
				
			||||||
       y="122.96945"
 | 
					 | 
				
			||||||
       id="text1035-89-7"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1033-6-5"
 | 
					 | 
				
			||||||
         x="195.7271"
 | 
					 | 
				
			||||||
         y="122.96945"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">set_view</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1-4-4"
 | 
					 | 
				
			||||||
       transform="translate(120.23594,18.477932)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#e2e2e2;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8-3-8"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7-3-1"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2-3-4);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>⇧</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:0.36em;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="196.99921"
 | 
					 | 
				
			||||||
       y="61.359337"
 | 
					 | 
				
			||||||
       id="text1035-89-4"><tspan
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan3987"
 | 
					 | 
				
			||||||
         x="196.99921"
 | 
					 | 
				
			||||||
         y="61.359337">locking</tspan><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="196.99921"
 | 
					 | 
				
			||||||
         y="65.362335"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         id="tspan3985">pops: false</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1-4-9"
 | 
					 | 
				
			||||||
       transform="translate(120.23594,-18.828317)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#e2e2e2;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8-3-2"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7-3-2"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2-3-9);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>⇧</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-0"
 | 
					 | 
				
			||||||
       transform="translate(147.8008,-0.83970203)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-5"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="77.863091"
 | 
					 | 
				
			||||||
         y="86.745537"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-1"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-21);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Lend-2-6-6)"
 | 
					 | 
				
			||||||
       d="m 170.49256,99.691217 c -49.40563,31.667983 -82.046134,0 -82.046134,0"
 | 
					 | 
				
			||||||
       id="path1087-3-0-5"
 | 
					 | 
				
			||||||
       sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-3-7-6"
 | 
					 | 
				
			||||||
       transform="translate(45.925334,26.134402)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-4-9-8"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.266167"
 | 
					 | 
				
			||||||
         y="86.745537"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0-5-2"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10-1-8);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>Ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:0.4em;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="129.60217"
 | 
					 | 
				
			||||||
       y="131.30838"
 | 
					 | 
				
			||||||
       id="text1035-8-4"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="129.60217"
 | 
					 | 
				
			||||||
         y="131.30838"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         id="tspan2277-2">text</tspan><tspan
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="129.60217"
 | 
					 | 
				
			||||||
         y="135.62888"
 | 
					 | 
				
			||||||
         id="tspan1606-4" /></text>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="123.67847"
 | 
					 | 
				
			||||||
       y="136.8163"
 | 
					 | 
				
			||||||
       id="text2293-0"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2291-6"
 | 
					 | 
				
			||||||
         x="123.67847"
 | 
					 | 
				
			||||||
         y="136.8163"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">returns</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905"
 | 
					 | 
				
			||||||
       transform="translate(1.1299757e-7,-0.85044747)">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065"
 | 
					 | 
				
			||||||
         cx="83.154755"
 | 
					 | 
				
			||||||
         cy="93.6436"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-12);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan
 | 
					 | 
				
			||||||
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none">a</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g2948">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065-6"
 | 
					 | 
				
			||||||
         cx="129.67093"
 | 
					 | 
				
			||||||
         cy="92.793152"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10-7);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(46.071199,-1.2662626)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>A</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g2259-3"
 | 
					 | 
				
			||||||
       transform="matrix(0.61171471,0,0,0.53404326,8.8050741,94.418409)">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9-1"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.53502,72.72924 h 5.84717 l -1.37074,1.931346 h -3.04292 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         id="rect2111-9-0-7"
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 179.4049,80.846668 h 5.84717 l -1.23711,-1.931347 h -3.17655 z"
 | 
					 | 
				
			||||||
         sodipodi:nodetypes="ccccc" />
 | 
					 | 
				
			||||||
      <g
 | 
					 | 
				
			||||||
         id="g2247-5"
 | 
					 | 
				
			||||||
         transform="translate(-0.04032786,-0.04319387)">
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,75.343053 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-9"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.112065 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-3-6"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,76.881078 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-0-2"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,77.65009 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-2-1"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
        <path
 | 
					 | 
				
			||||||
           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.363778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
           d="m 181.02302,78.419102 2.96688,-0.19452"
 | 
					 | 
				
			||||||
           id="path2145-4-7"
 | 
					 | 
				
			||||||
           sodipodi:nodetypes="cc" />
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.06, 0.53;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       d="m 119.51485,135.86385 c -0.50656,0.62998 -2.26796,0.26701 -2.85105,0.85011 -0.52314,0.52314 2.02401,2.4426 3.96141,3.16913 2.94083,1.1028 4.79827,0.22 7.72476,-0.19807 0.3268,-0.0467 0.66473,0.0543 0.99035,0 1.72749,-0.28792 3.39512,-0.79539 5.14984,-0.99036 1.10207,-0.12245 0.49735,0.0622 1.58457,0.19807 0.91825,0.11479 1.8542,0.0832 2.77299,0.19807 0.86919,0.10865 1.70964,-0.19807 2.57492,-0.19807"
 | 
					 | 
				
			||||||
       id="path3796" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="166.72447"
 | 
					 | 
				
			||||||
       y="136.84001"
 | 
					 | 
				
			||||||
       id="text2293-0-5"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan2291-6-7"
 | 
					 | 
				
			||||||
         x="166.72447"
 | 
					 | 
				
			||||||
         y="136.84001"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">cuts</tspan></text>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       d="m 182.52503,132.07727 c 0.0233,0.14006 0.07,0.27818 0.07,0.42017 0,0.0738 -0.07,0.13627 -0.07,0.21009 0,0.11902 0.0582,0.23171 0.07,0.35014 0.049,0.49035 0.0857,0.98109 0.14006,1.4706 0.018,0.1624 -0.0269,0.32902 0,0.4902 0.0435,0.26077 0.11166,0.3369 0,0.56023 -0.0209,0.0418 0.033,0.10705 0,0.14006 -0.0369,0.0369 -0.10315,0.0331 -0.14006,0.07"
 | 
					 | 
				
			||||||
       id="path3816" />
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
       d="m 182.15722,136.57464 c -0.12445,0.48957 -0.1295,0.98859 -0.0743,1.48553 0.0118,0.10583 0.01,0.21643 0.0248,0.32186 -0.002,0.0627 0.0396,0.11405 0.0495,0.17332 0.0144,0.0866 -0.0193,0.077 0,0.17331 0.0124,0.0621 0.20619,0.18971 0.24759,0.22283"
 | 
					 | 
				
			||||||
       id="path3820" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g3858-9"
 | 
					 | 
				
			||||||
       transform="translate(1.354821,-73.436839)">
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
         x="204.75821"
 | 
					 | 
				
			||||||
         y="130.07979"
 | 
					 | 
				
			||||||
         id="text2293-4-6"><tspan
 | 
					 | 
				
			||||||
           sodipodi:role="line"
 | 
					 | 
				
			||||||
           id="tspan2291-1-4"
 | 
					 | 
				
			||||||
           x="204.75821"
 | 
					 | 
				
			||||||
           y="130.07979"
 | 
					 | 
				
			||||||
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">✄</tspan></text>
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
         x="194.54915"
 | 
					 | 
				
			||||||
         y="128.70164"
 | 
					 | 
				
			||||||
         id="text2293-0-5-8-3"><tspan
 | 
					 | 
				
			||||||
           sodipodi:role="line"
 | 
					 | 
				
			||||||
           id="tspan2291-6-7-5-3"
 | 
					 | 
				
			||||||
           x="194.54915"
 | 
					 | 
				
			||||||
           y="128.70164"
 | 
					 | 
				
			||||||
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.5861px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">cuts</tspan></text>
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 210.34971,123.9389 c 0.0233,0.14006 0.07,0.27818 0.07,0.42017 0,0.0738 -0.07,0.13627 -0.07,0.21009 0,0.11902 0.0582,0.23171 0.07,0.35014 0.049,0.49035 0.0857,0.98109 0.14006,1.4706 0.018,0.1624 -0.0269,0.32902 0,0.4902 0.0435,0.26077 0.11166,0.3369 0,0.56023 -0.0209,0.0418 0.033,0.10705 0,0.14006 -0.0369,0.0369 -0.10315,0.0331 -0.14006,0.07"
 | 
					 | 
				
			||||||
         id="path3816-9-3" />
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="m 209.9819,128.43627 c -0.12445,0.48957 -0.1295,0.98859 -0.0743,1.48553 0.0118,0.10583 0.01,0.21643 0.0248,0.32186 -0.002,0.0627 0.0396,0.11405 0.0495,0.17332 0.0144,0.0866 -0.0193,0.077 0,0.17331 0.0124,0.0621 0.20619,0.18971 0.24759,0.22283"
 | 
					 | 
				
			||||||
         id="path3820-7-8" />
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 39 KiB  | 
@ -1,386 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
					 | 
				
			||||||
<svg
 | 
					 | 
				
			||||||
   xmlns:dc="http://purl.org/dc/elements/1.1/"
 | 
					 | 
				
			||||||
   xmlns:cc="http://creativecommons.org/ns#"
 | 
					 | 
				
			||||||
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 | 
					 | 
				
			||||||
   xmlns:svg="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns="http://www.w3.org/2000/svg"
 | 
					 | 
				
			||||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
					 | 
				
			||||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
					 | 
				
			||||||
   width="70.905495mm"
 | 
					 | 
				
			||||||
   height="78.260262mm"
 | 
					 | 
				
			||||||
   viewBox="0 0 70.905494 78.260262"
 | 
					 | 
				
			||||||
   version="1.1"
 | 
					 | 
				
			||||||
   id="svg8"
 | 
					 | 
				
			||||||
   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
 | 
					 | 
				
			||||||
   sodipodi:docname="switching.svg">
 | 
					 | 
				
			||||||
  <defs
 | 
					 | 
				
			||||||
     id="defs2">
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Mend"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Mend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.4,0,0,-0.4,-4,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1098" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow2Sstart"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow2Sstart"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(0.3,0,0,0.3,-0.69,0)"
 | 
					 | 
				
			||||||
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1119" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow2Mstart"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow2Mstart"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="scale(0.6)"
 | 
					 | 
				
			||||||
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1113" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-5" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-9" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect848-8" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect916" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-4" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect951" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-10-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect986" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1061" />
 | 
					 | 
				
			||||||
    <marker
 | 
					 | 
				
			||||||
       style="overflow:visible"
 | 
					 | 
				
			||||||
       id="Arrow1Lend-5"
 | 
					 | 
				
			||||||
       refX="0"
 | 
					 | 
				
			||||||
       refY="0"
 | 
					 | 
				
			||||||
       orient="auto"
 | 
					 | 
				
			||||||
       inkscape:stockid="Arrow1Lend"
 | 
					 | 
				
			||||||
       inkscape:isstock="true">
 | 
					 | 
				
			||||||
      <path
 | 
					 | 
				
			||||||
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
 | 
					 | 
				
			||||||
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
 | 
					 | 
				
			||||||
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
 | 
					 | 
				
			||||||
         id="path1092-7" />
 | 
					 | 
				
			||||||
    </marker>
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect835-2-1" />
 | 
					 | 
				
			||||||
    <rect
 | 
					 | 
				
			||||||
       x="80.886902"
 | 
					 | 
				
			||||||
       y="89.202377"
 | 
					 | 
				
			||||||
       width="18.898809"
 | 
					 | 
				
			||||||
       height="20.410713"
 | 
					 | 
				
			||||||
       id="rect1549" />
 | 
					 | 
				
			||||||
  </defs>
 | 
					 | 
				
			||||||
  <sodipodi:namedview
 | 
					 | 
				
			||||||
     id="base"
 | 
					 | 
				
			||||||
     pagecolor="#ffffff"
 | 
					 | 
				
			||||||
     bordercolor="#666666"
 | 
					 | 
				
			||||||
     borderopacity="1.0"
 | 
					 | 
				
			||||||
     inkscape:pageopacity="0.0"
 | 
					 | 
				
			||||||
     inkscape:pageshadow="2"
 | 
					 | 
				
			||||||
     inkscape:zoom="0.98994949"
 | 
					 | 
				
			||||||
     inkscape:cx="136.49044"
 | 
					 | 
				
			||||||
     inkscape:cy="110.83537"
 | 
					 | 
				
			||||||
     inkscape:document-units="mm"
 | 
					 | 
				
			||||||
     inkscape:current-layer="layer1"
 | 
					 | 
				
			||||||
     inkscape:document-rotation="0"
 | 
					 | 
				
			||||||
     showgrid="false"
 | 
					 | 
				
			||||||
     fit-margin-top="4"
 | 
					 | 
				
			||||||
     fit-margin-left="4"
 | 
					 | 
				
			||||||
     fit-margin-right="4"
 | 
					 | 
				
			||||||
     fit-margin-bottom="4"
 | 
					 | 
				
			||||||
     lock-margins="true"
 | 
					 | 
				
			||||||
     inkscape:window-width="1298"
 | 
					 | 
				
			||||||
     inkscape:window-height="708"
 | 
					 | 
				
			||||||
     inkscape:window-x="0"
 | 
					 | 
				
			||||||
     inkscape:window-y="0"
 | 
					 | 
				
			||||||
     inkscape:window-maximized="1" />
 | 
					 | 
				
			||||||
  <metadata
 | 
					 | 
				
			||||||
     id="metadata5">
 | 
					 | 
				
			||||||
    <rdf:RDF>
 | 
					 | 
				
			||||||
      <cc:Work
 | 
					 | 
				
			||||||
         rdf:about="">
 | 
					 | 
				
			||||||
        <dc:format>image/svg+xml</dc:format>
 | 
					 | 
				
			||||||
        <dc:type
 | 
					 | 
				
			||||||
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 | 
					 | 
				
			||||||
        <dc:title></dc:title>
 | 
					 | 
				
			||||||
      </cc:Work>
 | 
					 | 
				
			||||||
    </rdf:RDF>
 | 
					 | 
				
			||||||
  </metadata>
 | 
					 | 
				
			||||||
  <g
 | 
					 | 
				
			||||||
     inkscape:label="Layer 1"
 | 
					 | 
				
			||||||
     inkscape:groupmode="layer"
 | 
					 | 
				
			||||||
     id="layer1"
 | 
					 | 
				
			||||||
     transform="translate(-70.899889,-58.974186)">
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
 | 
					 | 
				
			||||||
       d="m 88.446426,85.895089 c 17.575894,-11.622767 35.932844,0 35.932844,0"
 | 
					 | 
				
			||||||
       id="path1087" />
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905"
 | 
					 | 
				
			||||||
       transform="translate(0,-0.85044703)">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065"
 | 
					 | 
				
			||||||
         cx="83.03434"
 | 
					 | 
				
			||||||
         cy="93.834679"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.16231537,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan
 | 
					 | 
				
			||||||
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none">a</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-3"
 | 
					 | 
				
			||||||
       transform="translate(46.113101,-0.85044703)">
 | 
					 | 
				
			||||||
      <circle
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#ffffff;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="path1065-3"
 | 
					 | 
				
			||||||
         cx="83.557831"
 | 
					 | 
				
			||||||
         cy="93.366959"
 | 
					 | 
				
			||||||
         r="7.8844509" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>A</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-7"
 | 
					 | 
				
			||||||
       transform="translate(-0.94494048,73.232887)">
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-6"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-4);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-3"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="77.863091"
 | 
					 | 
				
			||||||
         y="86.745537"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-3-7"
 | 
					 | 
				
			||||||
       transform="translate(49.136911,68.319196)">
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-0-5"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-10-1);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>Ą</tspan></tspan></text>
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-4-9"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.266167"
 | 
					 | 
				
			||||||
         y="86.745537"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="90.548096"
 | 
					 | 
				
			||||||
       y="65.654472"
 | 
					 | 
				
			||||||
       id="text1035"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1033"
 | 
					 | 
				
			||||||
         x="90.548096"
 | 
					 | 
				
			||||||
         y="65.654472"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">set_view: upper</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1"
 | 
					 | 
				
			||||||
       transform="translate(22.423437,-17.670388)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#e2e2e2;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan>⇧</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <path
 | 
					 | 
				
			||||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-5)"
 | 
					 | 
				
			||||||
       d="m 124.74085,99.691217 c -17.5759,11.622773 -35.932849,0 -35.932849,0"
 | 
					 | 
				
			||||||
       id="path1087-4" />
 | 
					 | 
				
			||||||
    <text
 | 
					 | 
				
			||||||
       xml:space="preserve"
 | 
					 | 
				
			||||||
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:0.4em;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
					 | 
				
			||||||
       x="91.116165"
 | 
					 | 
				
			||||||
       y="123.76147"
 | 
					 | 
				
			||||||
       id="text1035-8"><tspan
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1033-5"
 | 
					 | 
				
			||||||
         x="91.116165"
 | 
					 | 
				
			||||||
         y="123.76147"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px">locking</tspan><tspan
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         id="tspan1604"
 | 
					 | 
				
			||||||
         x="91.116165"
 | 
					 | 
				
			||||||
         y="128.08197">lock_view: upper</tspan><tspan
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px"
 | 
					 | 
				
			||||||
         sodipodi:role="line"
 | 
					 | 
				
			||||||
         x="91.116165"
 | 
					 | 
				
			||||||
         y="132.40247"
 | 
					 | 
				
			||||||
         id="tspan1606">unlock_view: lower</tspan></text>
 | 
					 | 
				
			||||||
    <g
 | 
					 | 
				
			||||||
       id="g905-1-9"
 | 
					 | 
				
			||||||
       transform="translate(22.423437,17.64464)">
 | 
					 | 
				
			||||||
      <rect
 | 
					 | 
				
			||||||
         style="color:#000000;overflow:visible;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 | 
					 | 
				
			||||||
         id="rect900-8-7"
 | 
					 | 
				
			||||||
         width="10.583333"
 | 
					 | 
				
			||||||
         height="13.79613"
 | 
					 | 
				
			||||||
         x="78.878532"
 | 
					 | 
				
			||||||
         y="85.920006"
 | 
					 | 
				
			||||||
         ry="1.937705" />
 | 
					 | 
				
			||||||
      <text
 | 
					 | 
				
			||||||
         xml:space="preserve"
 | 
					 | 
				
			||||||
         id="text833-7-5"
 | 
					 | 
				
			||||||
         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.9375px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect835-2-1);fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
 | 
					 | 
				
			||||||
         transform="translate(-0.04189825,-0.41581583)"><tspan
 | 
					 | 
				
			||||||
           x="80.886719"
 | 
					 | 
				
			||||||
           y="96.225952"><tspan
 | 
					 | 
				
			||||||
             style="fill:#ffffff;fill-opacity:1">⇧</tspan></tspan></text>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 16 KiB  | 
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user