Compare commits

..

2 Commits

Author SHA1 Message Date
e09dd2b4dc Disable and mark for expiry on July 51 2019-07-09 15:04:49 +02:00
5235b47827 Make compiler happier 2019-07-09 14:55:11 +02:00
259 changed files with 30437 additions and 13313 deletions

9
.gitignore vendored
View File

@ -1,9 +0,0 @@
.zanata-cache/
_build
TAGS
tags
vgdump
*.swp
*~
\#*#
.\#*

View File

@ -2,95 +2,20 @@ image: debian:buster
stages:
- build
- test
.tags: &tags
tags:
- librem5
before_script:
- apt-get -y update
- apt-get -y install wget ca-certificates gnupg
- apt-get -y install wget gnupg2
- echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list
- wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
- apt-get -y update
build_docs:
<<: *tags
stage: build
artifacts:
paths:
- _build
script:
- apt-get -y install python3-pip python3-sphinx
- pip3 install recommonmark
- ./doc/build.sh _build
- apt-get -y build-dep .
build_meson:
<<: *tags
stage: build
artifacts:
paths:
- _build
expire_in: 3h
tags:
- librem5
script:
- apt-get -y build-dep .
- meson . _build/ -Ddepdatadir=/usr/share
- ninja -C _build install
build_deb:
tags:
- librem5
stage: build
artifacts:
paths:
- "*.deb"
script:
- rm -f ../*.deb
- apt-get -y build-dep .
- apt-get -y install devscripts
- debuild -i -us -uc -b
- cp ../*.deb .
build_deb:arm64:
tags:
- librem5:arm64
allow_failure: true
stage: build
artifacts:
paths:
- "*.deb"
script:
- rm -f ../*.deb
- apt-get -y build-dep .
- apt-get -y install devscripts
- debuild -i -us -uc -b
- cp ../*.deb .
test_lintian:
<<: *tags
stage: test
dependencies:
- build_deb
script:
- apt-get -y install lintian
- lintian *.deb
test:
<<: *tags
stage: test
needs:
- build_meson
script:
- apt-get -y build-dep .
- ninja -C _build test
check_release:
<<: *tags
stage: test
only:
refs:
- master
script:
- apt-get -y install git python3
- (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py

37
AUTHORS
View File

@ -1,5 +1,36 @@
squeekboard is written by Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> on behlf of Purism, SPC.
eekboard was written by Daiki Ueno <ueno@unixuser.org>
eekboard is written by Daiki Ueno <ueno@unixuser.org>. The following
files contain code derived from other free software packages:
For more details, see the debian/copyright file.
eek/eek-keyboard-drawing.h
eek/eek-keyboard-drawing.c
These files contain code derived from the libgnomekbd library.
Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org>
eek/eek-theme.h
eek/eek-theme.c
eek/eek-theme-context.h
eek/eek-theme-context.c
eek/eek-theme-node.h
eek/eek-theme-node.c
These files contain code derived from gnome-shell.
Copyright 2008-2010 Red Hat, Inc.
Copyright 2009 Steve Frécinaux
Copyright 2009, 2010 Florian Müllner
Copyright 2010 Adel Gadllah
Copyright 2010 Giovanni Campagna
Copyright 2003-2004 Dodji Seketeli
data/icons/8x8/Makefile.am
data/icons/16x16/Makefile.am
data/icons/22x22/Makefile.am
data/icons/24x24/Makefile.am
data/icons/32x32/Makefile.am
data/icons/48x48/Makefile.am
data/icons/scalable/Makefile.am
These files contain code derived from im-chooser.
Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved.

506
Cargo.lock generated
View File

@ -1,506 +0,0 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "aho-corasick"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"memchr 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "atk-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "bitflags"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cairo-rs"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cairo-sys-rs"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cc"
version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "clap"
version = "2.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "dtoa"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "fragile"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "gdk"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk-pixbuf"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk-pixbuf-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gio"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"fragile 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gio-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "glib"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "glib-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gobject-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gtk"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gtk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gtk-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"atk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "libc"
version = "0.2.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "linked-hash-map"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "maplit"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "memchr"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "memmap"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "pango"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "pango-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "pkg-config"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "proc-macro2"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "quote"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"regex-syntax 0.6.14 (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.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "rs"
version = "0.1.0"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gtk 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gtk-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)",
"xkbcommon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde"
version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_derive"
version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_yaml"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
"yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "syn"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "textwrap"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thread_local"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "unicode-width"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-xid"
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"
[[package]]
name = "winapi"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "xkbcommon"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "yaml-rust"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[metadata]
"checksum aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811"
"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.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3"
"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.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
"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.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53445de381a1f436797497c61d851644d0e8e88e6140f22872ad33a704933978"
"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.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
"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.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
"checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35"
"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
"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"

View File

@ -1,47 +0,0 @@
[package]
name = "rs"
version = "0.1.0"
[dependencies]
bitflags = "1.0.*"
clap = { version = "2.32.*", default-features = false }
maplit = "1.0.*"
regex = "1.1.*"
serde = { version = "1.0.*", features = ["derive"] }
serde_yaml = "0.8.*"
xkbcommon = { version = "0.4.*", features = ["wayland"] }
[dependencies.cairo-rs]
version = "0.5.*"
[dependencies.cairo-sys-rs]
version = ""
[dependencies.gdk]
version = ""
[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"]

View File

@ -3,18 +3,14 @@
*Squeekboard* is a virtual keyboard supporting Wayland, built primarily for the *Librem 5* phone.
It squeaks because some Rust got inside.
Features
--------
### Present
- GTK3
- Custom yaml-defined keyboards
- Custom xml-defined keyboards
- DBus interface to show and hide
- Use Wayland input method protocol to show and hide
- Use Wayland virtual keyboard protocol
### Temporarily dropped
@ -22,6 +18,8 @@ Features
### TODO
- Use Wayland virtual keyboard protocol
- Use Wayland text input protocol
- Use Wayland input method protocol
- Pick up DBus interface files from /usr/share
@ -35,25 +33,36 @@ See `.gitlab-ci.yml`.
### Build from git repo
```
$ git clone https://source.puri.sm/Librem5/squeekboard.git
$ cd squeekboard
$ git clone https://source.puri.sm/Librem5/eekboard.git
$ cd eekboard
$ mkdir ../build
$ meson ../build/
$ cd ../build
$ ninja test
$ ninja install
```
For development, alter the `meson` call:
```
$ meson ../build/ --prefix=../install
```
and don't skip `ninja install` before running. The last step is necessary in order to find the keyboard definition files.
Running
-------
```
$ phoc # if no compatible Wayland compositor is running yet
$ rootston
$ cd ../build/
$ src/squeekboard
```
Developing
----------
### Testing
See [`docs/hacking.md`](docs/hacking.md) for this copy, or the [official documentation](https://developer.puri.sm/projects/squeekboard/) for the current release.
```
$ 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
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ua')]"
$ gsettings set org.gnome.desktop.input-sources current 1
```

1
TODO Normal file
View File

@ -0,0 +1 @@
See https://github.com/ueno/eekboard/wiki/TODO

20
autogen.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="eekboard"
(test -f $srcdir/configure.ac \
&& test -f $srcdir/README.md ) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
REQUIRED_AUTOMAKE_VERSION=1.10
REQUIRED_AUTOCONF_VERSION=2.60
. gnome-autogen.sh

View File

@ -0,0 +1 @@
Eek cheader_filename="eek/eek.h"

View File

@ -0,0 +1 @@
EekGtk cheader_filename="eek/eek-gtk.h"

View File

@ -0,0 +1 @@
EekXkl cheader_filename="eek/eek-xkl.h"

View File

@ -0,0 +1 @@
gio-2.0

View File

@ -0,0 +1 @@
eek-0.90

View File

@ -0,0 +1,2 @@
eek-0.90
x11

View File

@ -1,17 +0,0 @@
#!/bin/sh
# This script manages Cargo operations
# 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")"
CARGO_TARGET_DIR="$(pwd)"
export CARGO_TARGET_DIR
cd "$SOURCE_DIR"
cargo "$@"

View File

@ -1,34 +0,0 @@
#!/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

View File

@ -1,20 +0,0 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<interface name="sm.puri.OSK0">
<method name="SetVisible">
<arg name="visible" type="b" direction="in"/>
<doc:doc><doc:description>
Switch keyboard visibility
</doc:description></doc:doc>
</method>
<method name="GetVisible">
<arg name="visible" type="b" direction="out"/>
<doc:doc><doc:description>
Get keyboard visibility
</doc:description></doc:doc>
</method>
<property name="Visible" type="b" access="read">
</property>
</interface>
</node>

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Eekboard
Exec=eekboard -f
Type=Application
#AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
X-GNOME-AutoRestart=true

View File

@ -0,0 +1,3 @@
[D-BUS Service]
Name=org.fedorahosted.Eekboard
Exec=@bindir@/eekboard-server

9
data/eekboard.desktop.in Normal file
View File

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Eekboard
GenericName=Eekboard Virtual Keyboard
Comment=Virtual Keyboard
Exec=eekboard
Icon=eekboard
Terminal=false
Type=Application
Categories=GTK;Utility;

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"
version="1.1" viewBox="0 0 24 24">
<path d="M 24,1 L 24,10 C 24,15 20,17 17,17 L 7,17 L 10,20 L 10,23
L 7,23 L 0,15 L 7,7 L 10,7 L 10,10 L 7,13 L 17,13
C 19,13 20,12 20,10 L 20,1 Z"
stroke="none" fill="black" />
</svg>

Before

Width:  |  Height:  |  Size: 388 B

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"
version="1.1" viewBox="0 0 24 24">
<path d="M 12,2 L 22,14 L 16,14 L 16,22 L 8,22 L 8,14 L 2,14 Z"
stroke="none" fill="black" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

View File

@ -1,52 +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"
id="svg4043"
version="1.1"
viewBox="0 0 4.2333331 4.2333093"
height="4.2333093mm"
width="4.2333331mm">
<defs
id="defs4037" />
<metadata
id="metadata4040">
<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
transform="translate(-86.329776,-68.097636)"
id="layer1">
<g
style="stroke-width:1.00004983;fill:#2e3436;fill-opacity:1"
transform="matrix(0.99990029,0,0,1,-7.1823833,-1.8799927)"
id="g842">
<g
style="stroke-width:1.00004983;fill:#2e3436;fill-opacity:1"
id="g836">
<path
id="path5166"
d="m 95.636719,69.978516 c -1.165869,0 -2.115235,0.949365 -2.115235,2.115234 0,1.165869 0.949366,2.117188 2.115235,2.117188 1.165869,0 2.117187,-0.951319 2.117187,-2.117188 0,-1.165869 -0.951318,-2.115234 -2.117187,-2.115234 z m 0,0.529296 c 0.879886,0 1.58789,0.706052 1.58789,1.585938 0,0.879886 -0.708004,1.587891 -1.58789,1.587891 -0.879886,0 -1.585938,-0.708005 -1.585938,-1.587891 0,-0.879886 0.706052,-1.585937 1.585938,-1.585938 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52919304;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26459652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 95.636719,70.109375 c -0.144398,0 -0.27248,0.07793 -0.373047,0.189453 -0.100567,0.111521 -0.18209,0.261405 -0.25,0.439453 -0.135821,0.356096 -0.214844,0.830395 -0.214844,1.355469 0,0.525074 0.07902,1.001326 0.214844,1.357422 0.06791,0.178048 0.149433,0.327932 0.25,0.439453 0.100567,0.111521 0.228649,0.1875 0.373047,0.1875 0.144397,0 0.27248,-0.07598 0.373047,-0.1875 0.100566,-0.111521 0.182089,-0.261405 0.25,-0.439453 0.135821,-0.356096 0.216797,-0.832348 0.216796,-1.357422 0,-0.525074 -0.08097,-0.999373 -0.216796,-1.355469 -0.06791,-0.178048 -0.149434,-0.327932 -0.25,-0.439453 -0.100567,-0.111521 -0.22865,-0.189453 -0.373047,-0.189453 z m 0,0.265625 c 0.05067,0 0.109272,0.02564 0.177734,0.101562 0.06846,0.07592 0.139293,0.198356 0.199219,0.355469 0.119851,0.314227 0.197266,0.763915 0.197266,1.261719 0,0.497804 -0.07742,0.949446 -0.197266,1.263672 -0.05993,0.157113 -0.130756,0.279549 -0.199219,0.355469 -0.06846,0.07592 -0.12706,0.101562 -0.177734,0.101562 -0.05067,0 -0.107319,-0.02564 -0.175781,-0.101562 -0.06846,-0.07592 -0.139294,-0.198356 -0.199219,-0.355469 C 95.141867,73.043196 95.0625,72.591554 95.0625,72.09375 c 0,-0.497804 0.07937,-0.947492 0.199219,-1.261719 0.05993,-0.157113 0.130756,-0.279549 0.199219,-0.355469 C 95.5294,70.400643 95.586045,70.375 95.636719,70.375 Z"
id="circle5168" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26459652;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 93.697266,71.962891 v 0.263671 h 3.96875 v -0.263671 z"
id="path5170" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -1,82 +0,0 @@
# Maintained by: Mark Müller <markmueller86@gmail.com>
---
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 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 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"

View File

@ -1,81 +0,0 @@
# Maintained by: Mark Müller <markmueller86@gmail.com>
---
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 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"
eschars:
- "ä è é ö ü Ä È É Ö Ü"
- "à â ê î ô À Â È Î Ô"
- "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: "*/="
show_eschars:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "äÄ"
space:
outline: "spaceline"
text: " "
Return:
outline: "altline"
icon: "key-enter"
keysym: "Return"

View File

@ -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: ""

View File

@ -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: ":"

View File

@ -1,171 +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"
- "at numbersign dollar percent ampersand minus underscore plus parenleft parenright"
- "show_symbols comma quotedbl quoteright colon semicolon exclam question BackSpace"
- "show_letters preferences space . Return"
symbols:
- "asciitilde quoteleft bar U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
- "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree asterisk braceleft braceright"
- "show_numbers backslash slash less greater equal bracketleft bracketright 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"
aring:
text: "å"
Aring:
text: "Å"
ouml:
text: "ö"
Ouml:
text: "Ö"
auml:
text: "ä"
Auml:
text: "Ä"
asterisk:
text: "*"
asciitilde:
text: "~"
quoteleft:
text: "`"
bar:
text: "|"
U00B7:
text: "·"
squareroot:
text: "√"
Greek_pi:
text: "π"
division:
text: "÷"
multiply:
text: "×"
paragraph:
text: "¶"
Greek_tau:
text: "τ"
copyright:
text: "©"
numbersign:
text: "#"
U00AE:
text: "®"
at:
text: "@"
dollar:
text: "$"
U00A3:
text: "£"
percent:
text: "%"
EuroSign:
text: "€"
ampersand:
text: "&"
U00A5:
text: "¥"
minus:
text: "-"
asciicircum:
text: "^"
underscore:
text: "_"
degree:
text: "°"
plus:
text: "+"
equal:
text: "="
parenleft:
text: "("
parenright:
text: ")"
braceleft:
text: "{"
braceright:
text: "}"
comma:
text: ","
backslash:
text: "\\"
slash:
text: "/"
quotedbl:
text: "\""
quoteright:
text: "'"
less:
text: "<"
greater:
text: ">"
colon:
text: ":"
semicolon:
text: ";"
exclam:
text: "!"
question:
text: "?"
bracketleft:
text: "["
bracketright:
text: "]"

View File

@ -0,0 +1,189 @@
<?xml version="1.0"?>
<geometry version="0.90">
<bounds x="0.000000" y="0.000000" width="426.0000" height="296.5853"/>
<section angle="0">
<bounds x="0" y="0" width="608.7804" height="201.3658"/>
<row orientation="1">
<key keycode="24" name="AD01" oref="outline2">
<bounds x="65.56097" y="42.14634" width="37.46341" height="52.44877"/>
</key>
<key keycode="25" name="AD02" oref="outline2">
<bounds x="106.1463" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="26" name="AD03" oref="outline2">
<bounds x="145.1707" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="27" name="AD04" oref="outline2">
<bounds x="185.7560" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="28" name="AD05" oref="outline2">
<bounds x="226.3414" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="29" name="AD06" oref="outline2">
<bounds x="266.9268" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="30" name="AD07" oref="outline2">
<bounds x="307.5121" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="31" name="AD08" oref="outline2">
<bounds x="348.0975" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="32" name="AD09" oref="outline2">
<bounds x="388.6829" y="42.14634" width="37.46341" height="37.46341"/>
</key>
<key keycode="33" name="AD10" oref="outline2">
<bounds x="429.2682" y="42.14634" width="37.46341" height="37.46341"/>
</key>
</row>
</section>
<section angle="0">
<bounds x="0" y="0" width="608.7804" height="201.3658"/>
<row orientation="1">
<key keycode="38" name="AC01" oref="outline2">
<bounds x="76.48780" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="39" name="AC02" oref="outline2">
<bounds x="115.5121" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="40" name="AC03" oref="outline2">
<bounds x="156.0975" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="41" name="AC04" oref="outline2">
<bounds x="196.6829" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="42" name="AC05" oref="outline2">
<bounds x="237.2682" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="43" name="AC06" oref="outline2">
<bounds x="277.8536" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="44" name="AC07" oref="outline2">
<bounds x="318.4390" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="45" name="AC08" oref="outline2">
<bounds x="359.0243" y="82.73170" width="37.46341" height="37.46341"/>
</key>
<key keycode="46" name="AC09" oref="outline2">
<bounds x="399.6097" y="82.73170" width="37.46341" height="37.46341"/>
</key>
</row>
</section>
<section angle="0">
<bounds x="0" y="0" width="608.7804" height="201.3658"/>
<row orientation="1">
<key keycode="50" name="LFSH" oref="altline">
<bounds x="3.121951" y="121.7560" width="88.97561" height="37.46341"/>
</key>
<key keycode="52" name="AB01" oref="outline2">
<bounds x="95.21951" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="53" name="AB02" oref="outline2">
<bounds x="135.8048" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="54" name="AB03" oref="outline2">
<bounds x="176.3902" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="55" name="AB04" oref="outline2">
<bounds x="215.4146" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="56" name="AB05" oref="outline2">
<bounds x="256.0000" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="57" name="AB06" oref="outline2">
<bounds x="296.5853" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="58" name="AB07" oref="outline2">
<bounds x="337.1707" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="22" name="BKSP" oref="altline">
<bounds x="529.1707" y="1.560976" width="79.60975" height="37.46341"/>
</key>
</row>
</section>
<section angle="0">
<bounds x="0" y="0" width="608.7804" height="201.3658"/>
<row orientation="1">
<key keycode="37" name="LCTL" oref="altline">
<bounds x="62.43902" y="162.3414" width="48.39024" height="37.46341"/>
</key>
<key keycode="66" name="ALTGR" oref="altline">
<bounds x="113.9512" y="162.3414" width="48.39024" height="37.46341"/>
</key>
<key keycode="65" name="SPCE" oref="spaceline">
<bounds x="165.4634" y="162.3414" width="217.5853" height="37.46341"/>
</key>
<key keycode="60" name="AB09" oref="outline2">
<bounds x="418.3414" y="121.7560" width="37.46341" height="37.46341"/>
</key>
<key keycode="36" name="RTRN" oref="outline7">
<bounds x="519.8048" y="82.73170" width="88.97561" height="37.46341"/>
</key>
</row>
</section>
<outline id="outline2" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="altline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="48.39024" y="0.000000"/>
<point x="48.39024" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline4" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline5" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline6" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="68.68292" y="0.000000"/>
<point x="68.68292" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline7" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline8" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline9" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="109.2682" y="0.000000"/>
<point x="109.2682" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline10" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline13" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="79.60975" y="0.000000"/>
<point x="79.60975" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="spaceline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="150.5853" y="0.000000"/>
<point x="150.5853" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
</geometry>

View File

@ -1,191 +0,0 @@
# Greek layout created by Antonis Tsolomitis
# University of the Aegean, Department of Mathematics, atsol@aegean.gr
# Sep 2019
---
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:
- "; ς ε ρ τ υ θ ι ο π !"
- "α σ δ φ γ η ξ κ λ show_accented"
- "Shift_L ζ χ ψ ω β ν μ , BackSpace"
- "show_numbers preferences space period Return"
upper:
- ": EuroSign Ε Ρ Τ Υ Θ Ι Ο Π"
- "Α Σ Δ Φ Γ Η Ξ Κ Λ show_accented"
- "Shift_L Ζ Χ Ψ Ω Β Ν Μ · BackSpace"
- "show_numbers preferences space « » Return"
accented:
- "ά έ ή ί ό ύ ώ ϊ ϋ ΐ"
- "ΰ Ά Έ Ή Ί Ό Ύ Ώ Ϊ show_base"
- "Ϋ Ϗ ϐ ϑ ϕ ϖ ϗ — BackSpace"
- "show_numbers preferences space quoteleft quoteright Return"
numbers:
- "1 2 3 4 5 6 7 8 9 0"
- "at numbersign dollar percent ampersand minus underscore plus parenleft parenright"
- "show_symbols comma quotedbl quoteright colon semicolon exclam question BackSpace"
- "show_letters preferences space period Return"
symbols:
- "asciitilde quoteleft bar U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
- "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree asterisk braceleft braceright"
- "show_numbers backslash slash less greater equal bracketleft bracketright 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: "altline"
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: "*/="
show_accented:
action:
locking:
lock_view: "accented"
unlock_view: "base"
outline: "altline"
label: "άΐ"
show_base:
action:
set_view: "base"
outline: "altline"
label: "αι"
period:
outline: "altline"
text: "."
space:
outline: spaceline
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
aring:
text: "å"
Aring:
text: "Å"
oslash:
text: "ø"
Oslash:
text: "Ø"
ae:
text: "æ"
AE:
text: "Æ"
asterisk:
text: "*"
asciitilde:
text: "~"
quoteleft:
text: "`"
bar:
text: "|"
U00B7:
text: "·"
squareroot:
text: "√"
Greek_pi:
text: "π"
division:
text: "÷"
multiply:
text: "×"
paragraph:
text: "¶"
Greek_tau:
text: "τ"
copyright:
text: "©"
numbersign:
text: "#"
U00AE:
text: "®"
at:
text: "@"
dollar:
text: "$"
U00A3:
text: "£"
percent:
text: "%"
EuroSign:
text: "€"
ampersand:
text: "&"
U00A5:
text: "¥"
minus:
text: "-"
asciicircum:
text: "^"
underscore:
text: "_"
degree:
text: "°"
plus:
text: "+"
equal:
text: "="
parenleft:
text: "("
parenright:
text: ")"
braceleft:
text: "{"
braceright:
text: "}"
comma:
text: ","
backslash:
text: "\\"
slash:
text: "/"
quotedbl:
text: "\""
quoteright:
text: "'"
less:
text: "<"
greater:
text: ">"
colon:
text: ":"
semicolon:
text: ";"
exclam:
text: "!"
question:
text: "?"
bracketleft:
text: "["
bracketright:
text: "]"

View File

@ -1,92 +0,0 @@
# Italian layout created by Antonio Pandolfo
# 03 october 2019
---
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_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:
set_view: "eschars"
outline: "altline"
label: "àè"
period:
outline: "default"
label: "."
space:
outline: "spaceline"
label: " "
Return:
outline: "altline"
icon: "key-enter"
keysym: "Return"
colon:
label: ":"
"\"":
keysym: "quotedbl"

View File

@ -1,525 +0,0 @@
# Maintained by: Mark Müller <markmueller86@gmail.com>
---
outlines:
default: { width: 62, height: 52 }
default-wide: { width: 62, height: 52 }
altline: { width: 62, height: 52 }
wide: { width: 62, height: 52 }
special: { width: 62, height: 52 }
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 charachters
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: ",.?"

View File

@ -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 charachters
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: ",.?"

View File

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<keyboards version="0.90">
<keyboard id="ar" name="ar"
geometry="compact" symbols="ar"
longname="Arabic" language="ar"/>
<keyboard id="be" name="be"
geometry="compact" symbols="be"
longname="Belarusian" language="be"/>
<keyboard id="fa" name="fa"
geometry="compact" symbols="fa"
longname="Farsi (ISIRI 2901-1994)" language="fa"/>
<keyboard id="he" name="he"
geometry="compact" symbols="he"
longname="Hebrew" language="he"/>
<keyboard id="ja" name="ja"
geometry="compact" symbols="ja-kana"
longname="Japanese (Kana)" language="ja"/>
<keyboard id="kk" name="kk"
geometry="compact" symbols="kk"
longname="Kazakh" language="kk"/>
<keyboard id="ks" name="ks"
geometry="compact" symbols="ks"
longname="Kashmiri" language="ks"/>
<keyboard id="my" name="my"
geometry="compact" symbols="my"
longname="Myanmar" language="my"/>
<keyboard id="ru" name="ru"
geometry="compact" symbols="us"
longname="Russian" language="ru"/>
<keyboard id="th" name="th"
geometry="compact" symbols="th"
longname="Thai" language="th"/>
<keyboard id="ua" name="ua"
geometry="compact" symbols="ua"
longname="Ukrainian" language="ua"/>
<keyboard id="ug" name="ug"
geometry="compact" symbols="ug"
longname="Uyghur" language="ug"/>
<keyboard id="us" name="us"
geometry="compact" symbols="us"
longname="US" language="en"/>
<keyboard id="zh-bopomofo" name="zh-bopomofo"
geometry="compact" symbols="zh-bopomofo"
longname="Chinese (Bopomofo)" language="zh"/>
<!-- Indic Inscript keyboards converted from m17n-lib -->
<keyboard id="as-inscript" name="as-inscript"
geometry="compact" symbols="as-inscript"
longname="Assamese (Inscript)" language="as"/>
<keyboard id="bn-inscript" name="bn-inscript"
geometry="compact" symbols="bn-inscript"
longname="Bengali (Inscript)" language="bn"/>
<keyboard id="gu-inscript" name="gu-inscript"
geometry="compact" symbols="gu-inscript"
longname="Gujarati (Inscript)" language="gu"/>
<keyboard id="hi-inscript" name="hi-inscript"
geometry="compact" symbols="hi-inscript"
longname="Hindi (Inscript)" language="hi"/>
<keyboard id="kn-inscript" name="kn-inscript"
geometry="compact" symbols="kn-inscript"
longname="Kannada (Inscript)" language="kn"/>
<keyboard id="ks-inscript" name="ks-inscript"
geometry="compact" symbols="ks-inscript"
longname="Kashmiri Devanagari (Inscript)" language="ks"/>
<keyboard id="mai-inscript" name="mai-inscript"
geometry="compact" symbols="mai-inscript"
longname="Maithili (Inscript)" language="mai"/>
<keyboard id="ml-inscript" name="ml-inscript"
geometry="compact" symbols="ml-inscript"
longname="Malayalam (Inscript)" language="ml-inscript"/>
<keyboard id="mr-inscript" name="mr-inscript"
geometry="compact" symbols="mr-inscript"
longname="Marathi (Inscript)" language="mr"/>
<keyboard id="or-inscript" name="or-inscript"
geometry="compact" symbols="or-inscript"
longname="Oriya (Inscript)" language="or"/>
<keyboard id="pa-inscript" name="pa-inscript"
geometry="compact" symbols="pa-inscript"
longname="Punjabi (Inscript)" language="pa"/>
<keyboard id="sd-inscript" name="sd-inscript"
geometry="compact" symbols="sd-inscript"
longname="Sindhi (Inscript)" language="sd"/>
<keyboard id="ta-inscript" name="ta-inscript"
geometry="compact" symbols="ta-inscript"
longname="Tamil (Inscript)" language="ta"/>
<keyboard id="te-inscript" name="te-inscript"
geometry="compact" symbols="te-inscript"
longname="Telugu (Inscript)" language="te"/>
</keyboards>

View File

@ -1,99 +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: "°"

View File

@ -1,39 +0,0 @@
---
outlines:
default: { width: 37.46341, height: 52 }
altline: { width: 48.39024, height: 52 }
outline7: { width: 88.97561, height: 52 }
spaceline: { width: 120.5853, height: 52 }
views:
base:
- "1 2 3 parenleft parenright"
- "4 5 6 numbersign asterisk"
- "7 8 9 plus minus"
- "BackSpace 0 space Return"
buttons:
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
space:
outline: spaceline
text: " "
Return:
outline: outline7
icon: "key-enter"
keysym: "Return"
asterisk:
text: "*"
numbersign:
text: "#"
minus:
text: "-"
plus:
text: "+"
parenleft:
text: "("
parenright:
text: ")"

View File

@ -1,110 +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"
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: ":"

View File

@ -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: ":"

View File

@ -1,159 +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"
- "at numbersign dollar percent ampersand minus underscore plus parenleft parenright"
- "show_symbols comma quotedbl quoteright colon semicolon exclam question BackSpace"
- "show_letters preferences space . Return"
symbols:
- "asciitilde quoteleft bar U00B7 squareroot Greek_pi Greek_tau division multiply paragraph"
- "copyright U00AE U00A3 EuroSign U00A5 asciicircum degree asterisk braceleft braceright"
- "show_numbers backslash slash less greater equal bracketleft bracketright 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"
asterisk:
text: "*"
asciitilde:
text: "~"
quoteleft:
text: "`"
bar:
text: "|"
U00B7:
text: "·"
squareroot:
text: "√"
Greek_pi:
text: "π"
division:
text: "÷"
multiply:
text: "×"
paragraph:
text: "¶"
Greek_tau:
text: "τ"
copyright:
text: "©"
numbersign:
text: "#"
U00AE:
text: "®"
at:
text: "@"
dollar:
text: "$"
U00A3:
text: "£"
percent:
text: "%"
EuroSign:
text: "€"
ampersand:
text: "&"
U00A5:
text: "¥"
minus:
text: "-"
asciicircum:
text: "^"
underscore:
text: "_"
degree:
text: "°"
plus:
text: "+"
equal:
text: "="
parenleft:
text: "("
parenright:
text: ")"
braceleft:
text: "{"
braceright:
text: "}"
comma:
text: ","
backslash:
text: "\\"
slash:
text: "/"
quotedbl:
text: "\""
quoteright:
text: "'"
less:
text: "<"
greater:
text: ">"
colon:
text: ":"
semicolon:
text: ";"
exclam:
text: "!"
question:
text: "?"
bracketleft:
text: "["
bracketright:
text: "]"

View File

@ -0,0 +1,181 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">ّ</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">١</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">٢</text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter">٣</text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter">٤</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter">٥</text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">٦</text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter">٧</text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter">٨</text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter">٩</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">٠</text>
<text category="letter">(</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">ض</text>
<text category="letter">َ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ص</text>
<text category="letter">ً</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ث</text>
<text category="letter">ُ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ق</text>
<text category="letter">ٌ</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ف</text>
<text category="letter">لإ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">غ</text>
<text category="letter">إ</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ع</text>
<text category="letter">`</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ه</text>
<text category="letter">÷</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">خ</text>
<text category="letter">×</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">ح</text>
<text category="letter">؛</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">ج</text>
<text category="letter">&gt;</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">د</text>
<text category="letter">&lt;</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ش</text>
<text category="letter">ِ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ٍ</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">ي</text>
<text category="letter">]</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ب</text>
<text category="letter">[</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ل</text>
<text category="letter">لأ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ا</text>
<text category="letter">أ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ت</text>
<text category="letter">ـ</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ن</text>
<text category="letter">،</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">م</text>
<text category="letter">/</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ك</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ئ</text>
<text category="letter">~</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ء</text>
<text category="letter">ْ</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">ؤ</text>
<text category="letter">}</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ر</text>
<text category="letter">{</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">لا</text>
<text category="letter">لآ</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ى</text>
<text category="letter">آ</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ة</text>
<text category="letter">&apos;</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">و</text>
<text category="letter">,</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ز</text>
<text category="letter">.</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">ظ</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">্ৰ</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">ৰ্</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">জ্ঞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ত্ৰ</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ক্ষ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">শ্ৰ</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ি</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">B</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter">N</text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ё</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">ў</text>
<text category="letter">Ў</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">&apos;</text>
<text category="letter">&apos;</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">&amp;</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ি</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter">z</text>
<text category="letter">Z</text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">B</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter">N</text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter">۱</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">۲</text>
<text category="letter">٬</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">۳</text>
<text category="letter">٫</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">۴</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter">۵</text>
<text category="letter">٪</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">۶</text>
<text category="letter">×</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">۷</text>
<text category="letter">،</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">۸</text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter">۹</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">۰</text>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">ض</text>
<text category="letter">ْ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ص</text>
<text category="letter">ٌ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ث</text>
<text category="letter">ٍ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ق</text>
<text category="letter">ً</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ف</text>
<text category="letter">ُ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">غ</text>
<text category="letter">ِ</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ع</text>
<text category="letter">َ</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ه</text>
<text category="letter">ّ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">خ</text>
<text category="letter">]</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">ح</text>
<text category="letter">[</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">ج</text>
<text category="letter">}</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">چ</text>
<text category="letter">{</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ش</text>
<text category="letter">ؤ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ئ</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">ی</text>
<text category="letter">ي</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ب</text>
<text category="letter">إ</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ل</text>
<text category="letter">أ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ا</text>
<text category="letter">آ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ت</text>
<text category="letter">ة</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ن</text>
<text category="letter">»</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">م</text>
<text category="letter">«</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ک</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">؛</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">ظ</text>
<text category="letter">ك</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ط</text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter">ز</text>
<text category="letter">ژ</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ر</text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter">ذ</text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter">د</text>
<text name="N" category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter">پ</text>
<text category="letter">ء</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">و</text>
<text category="letter">&gt;</text>
</key>
<key keycode="60" name="AB09">
<keysym keyval="46">period</keysym>
<text category="letter">&lt;</text>
</key>
<key keycode="61" name="AB10">
<keysym keyval="47">slash</keysym>
<text category="letter">؟</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">જ્ઞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ત્ર</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ક્ષ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">શ્ર</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">િ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">&quot;</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">&apos;</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">/</text>
<keysym keyval="81">Q</keysym>
</key>
<key keycode="25" name="AD02">
<text category="letter">&apos;</text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter">ק</text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter">ר</text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter">א</text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter">ט</text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter">ו</text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter">ן</text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter">ם</text>
<keysym keyval="79">O</keysym>
</key>
<key keycode="33" name="AD10">
<text category="letter">פ</text>
<keysym keyval="80">P</keysym>
</key>
<key keycode="34" name="AD11">
<text category="letter">]</text>
<text category="letter">}</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">[</text>
<text category="letter">{</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ש</text>
<keysym keyval="65">A</keysym>
</key>
<key keycode="39" name="AC02">
<text category="letter">ד</text>
<keysym keyval="83">S</keysym>
</key>
<key keycode="40" name="AC03">
<text category="letter">ג</text>
<keysym keyval="68">D</keysym>
</key>
<key keycode="41" name="AC04">
<text category="letter">כ</text>
<keysym keyval="70">F</keysym>
</key>
<key keycode="42" name="AC05">
<text category="letter">ע</text>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter">י</text>
<keysym keyval="72">H</keysym>
</key>
<key keycode="44" name="AC07">
<text category="letter">ח</text>
<keysym keyval="74">J</keysym>
</key>
<key keycode="45" name="AC08">
<text category="letter">ל</text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter">ך</text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter">ף</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ז</text>
<keysym keyval="90">Z</keysym>
</key>
<key keycode="53" name="AB02">
<text category="letter">ס</text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter">ב</text>
<keysym keyval="67">C</keysym>
</key>
<key keycode="55" name="AB04">
<text category="letter">ה</text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter">נ</text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter">מ</text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter">צ</text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter">ת</text>
<text category="letter">&gt;</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ץ</text>
<text category="letter">&lt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,154 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="1246"></keysym>
<keysym keyval="1247"></keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="1223"></keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="1228"></keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="1201"></keysym>
<keysym keyval="1191"></keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="1203"></keysym>
<keysym keyval="1193"></keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="1204"></keysym>
<keysym keyval="1194"></keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="1205"></keysym>
<keysym keyval="1195"></keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="1236"></keysym>
<keysym keyval="1196"></keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="1237"></keysym>
<keysym keyval="1197"></keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="1238"></keysym>
<keysym keyval="1198"></keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="1244"></keysym>
<keysym keyval="1190"></keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="1230"></keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="1229"></keysym>
</key>
<key keycode="24" name="AD01">
<keysym keyval="1216"></keysym>
</key>
<key keycode="25" name="AD02">
<keysym keyval="1219"></keysym>
</key>
<key keycode="26" name="AD03">
<keysym keyval="1202"></keysym>
<keysym keyval="1192"></keysym>
</key>
<key keycode="27" name="AD04">
<keysym keyval="1213"></keysym>
</key>
<key keycode="28" name="AD05">
<keysym keyval="1206"></keysym>
</key>
<key keycode="29" name="AD06">
<keysym keyval="1245"></keysym>
</key>
<key keycode="30" name="AD07">
<keysym keyval="1221"></keysym>
</key>
<key keycode="31" name="AD08">
<keysym keyval="1222"></keysym>
</key>
<key keycode="32" name="AD09">
<keysym keyval="1239"></keysym>
</key>
<key keycode="33" name="AD10">
<keysym keyval="1214"></keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="1233"></keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="1243"></keysym>
</key>
<key keycode="38" name="AC01">
<keysym keyval="1217"></keysym>
</key>
<key keycode="39" name="AC02">
<keysym keyval="1220"></keysym>
</key>
<key keycode="40" name="AC03">
<keysym keyval="1212"></keysym>
</key>
<key keycode="41" name="AC04">
<keysym keyval="1226"></keysym>
</key>
<key keycode="42" name="AC05">
<keysym keyval="1207"></keysym>
</key>
<key keycode="43" name="AC06">
<keysym keyval="1208"></keysym>
</key>
<key keycode="44" name="AC07">
<keysym keyval="1231"></keysym>
</key>
<key keycode="45" name="AC08">
<keysym keyval="1225"></keysym>
</key>
<key keycode="46" name="AC09">
<keysym keyval="1240"></keysym>
</key>
<key keycode="47" name="AC10">
<keysym keyval="1242"></keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="1209"></keysym>
</key>
<key keycode="52" name="AB01">
<keysym keyval="1218"></keysym>
<keysym keyval="1199"></keysym>
</key>
<key keycode="53" name="AB02">
<keysym keyval="1211"></keysym>
</key>
<key keycode="54" name="AB03">
<keysym keyval="1215"></keysym>
</key>
<key keycode="55" name="AB04">
<keysym keyval="1227"></keysym>
</key>
<key keycode="56" name="AB05">
<keysym keyval="1210"></keysym>
</key>
<key keycode="57" name="AB06">
<keysym keyval="1232"></keysym>
</key>
<key keycode="58" name="AB07">
<keysym keyval="1235"></keysym>
</key>
<key keycode="59" name="AB08">
<keysym keyval="1224"></keysym>
</key>
<key keycode="60" name="AB09">
<keysym keyval="1241"></keysym>
</key>
<key keycode="61" name="AB10">
<keysym keyval="1234"></keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">)</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">&quot;</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">ә</text>
<text category="letter">Ә</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">ӊ</text>
<text category="letter">Ӊ</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">ғ</text>
<text category="letter">Ғ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">,</text>
<text category="letter">;</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">.</text>
<text category="letter">:</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">ү</text>
<text category="letter">Ү</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">ұ</text>
<text category="letter">Ұ</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">қ</text>
<text category="letter">Қ</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">ө</text>
<text category="letter">Ө</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">һ</text>
<text category="letter">Һ</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ъ</text>
<text category="letter">Ъ</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ಜ್ಞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ತ್ರ</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ಕ್ಷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">ಶ್ರ</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter">]</text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ಿ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text name="X" category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ॿ</text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">ً</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">۱</text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter">۲</text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">۳</text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">۴</text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">۵</text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">۶</text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">۷</text>
<text category="letter">&amp;</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">۸</text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">۹</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">۰</text>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">ّ</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">ق</text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter">و</text>
<text category="letter">ؤ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ع</text>
<text category="letter">ئ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ر</text>
<text category="letter">ڑ</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ت</text>
<text category="letter">ٹ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ے</text>
<text category="letter">؁</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ء</text>
<text category="letter">،</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ی</text>
<text category="letter">ۆ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">ہ</text>
<text category="letter">ۃ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">پ</text>
<text category="letter">إ</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">]</text>
<text category="letter">ٰ</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">[</text>
<text category="letter">ٰ</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">؎</text>
<text category="letter">أ</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ا</text>
<text category="letter">آ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ش</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">د</text>
<text category="letter">ڈ</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ف</text>
<text category="letter">ُ</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">گ</text>
<text category="letter">غ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ھ</text>
<text category="letter">ح</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ج</text>
<text category="letter">ژ</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ک</text>
<text category="letter">خ</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">ل</text>
<text category="letter">ؓ</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">؛</text>
<text category="letter">:</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">ز</text>
<text category="letter">ذ</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ص</text>
<text category="letter">ض</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">چ</text>
<text category="letter">ث</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ط</text>
<text category="letter">ظ</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">ب</text>
<text category="letter">أ</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ن</text>
<text category="letter">ں</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">م</text>
<text category="letter">ٔ</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">،</text>
<text category="letter">ِ</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">۔</text>
<text category="letter">َ</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">/</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">്ര</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ക്ഷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ി</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter">X</text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter">က</text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">୍ର</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">ର୍</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ଜ୍ଞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ତ୍ର</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">କ୍ଷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">ଶ୍ର</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ି</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter">z</text>
<text category="letter">Z</text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ਿ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ё</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ъ</text>
<text category="letter">Ъ</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ॿ</text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter">1</text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter">2</text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">3</text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">4</text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">5</text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">6</text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">7</text>
<text category="letter">க்ஷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">8</text>
<text category="letter">ஷ்ர</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">9</text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">0</text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">y</text>
<text category="letter">Y</text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter">i</text>
<text category="letter">I</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">o</text>
<text category="letter">O</text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter">P</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">[</text>
<text category="letter">{</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">]</text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ி</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter">H</text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter">K</text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter">L</text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter">:</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter">x</text>
<text category="letter">X</text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter">M</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -0,0 +1,194 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">జ్ఞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">త్ర</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">క్ష</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">శ్ర</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ి</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@ -0,0 +1,192 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="95">underscore</keysym>
<keysym keyval="37">percent</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="3557">Thai_lakkhangyao</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="47">slash</keysym>
<keysym keyval="3569">Thai_leknung</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="45">minus</keysym>
<keysym keyval="3570">Thai_leksong</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="3520">Thai_phosamphao</keysym>
<keysym keyval="3571">Thai_leksam</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="3510">Thai_thothung</keysym>
<keysym keyval="3572">Thai_leksi</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="3544">Thai_sarau</keysym>
<keysym keyval="3545">Thai_sarauu</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="3542">Thai_saraue</keysym>
<keysym keyval="3551">Thai_baht</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="3492">Thai_khokhwai</keysym>
<keysym keyval="3573">Thai_lekha</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="3509">Thai_totao</keysym>
<keysym keyval="3574">Thai_lekhok</keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="3496">Thai_chochan</keysym>
<keysym keyval="3575">Thai_lekchet</keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="3490">Thai_khokhai</keysym>
<keysym keyval="3576">Thai_lekpaet</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="3498">Thai_chochang</keysym>
<keysym keyval="3577">Thai_lekkao</keysym>
</key>
<key keycode="24" name="AD01">
<keysym keyval="3558">Thai_maiyamok</keysym>
<keysym keyval="3568">Thai_leksun</keysym>
</key>
<key keycode="25" name="AD02">
<keysym keyval="3556">Thai_saraaimaimalai</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="26" name="AD03">
<keysym keyval="3539">Thai_saraam</keysym>
<keysym keyval="3502">Thai_dochada</keysym>
</key>
<key keycode="27" name="AD04">
<keysym keyval="3518">Thai_phophan</keysym>
<keysym keyval="3505">Thai_thonangmontho</keysym>
</key>
<key keycode="28" name="AD05">
<keysym keyval="3536">Thai_saraa</keysym>
<keysym keyval="3512">Thai_thothong</keysym>
</key>
<key keycode="29" name="AD06">
<keysym keyval="3537">Thai_maihanakat</keysym>
<keysym keyval="3565">Thai_nikhahit</keysym>
</key>
<key keycode="30" name="AD07">
<keysym keyval="3541">Thai_saraii</keysym>
<keysym keyval="3562">Thai_maitri</keysym>
</key>
<key keycode="31" name="AD08">
<keysym keyval="3523">Thai_rorua</keysym>
<keysym keyval="3507">Thai_nonen</keysym>
</key>
<key keycode="32" name="AD09">
<keysym keyval="3513">Thai_nonu</keysym>
<keysym keyval="3535">Thai_paiyannoi</keysym>
</key>
<key keycode="33" name="AD10">
<keysym keyval="3522">Thai_yoyak</keysym>
<keysym keyval="3501">Thai_yoying</keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="3514">Thai_bobaimai</keysym>
<keysym keyval="3504">Thai_thothan</keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="3525">Thai_loling</keysym>
<keysym keyval="44">comma</keysym>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="3491">Thai_khokhuat</keysym>
<keysym keyval="3493">Thai_khokhon</keysym>
</key>
<key keycode="38" name="AC01">
<keysym keyval="3519">Thai_fofan</keysym>
<keysym keyval="3524">Thai_ru</keysym>
</key>
<key keycode="39" name="AC02">
<keysym keyval="3531">Thai_hohip</keysym>
<keysym keyval="3494">Thai_khorakhang</keysym>
</key>
<key keycode="40" name="AC03">
<keysym keyval="3489">Thai_kokai</keysym>
<keysym keyval="3503">Thai_topatak</keysym>
</key>
<key keycode="41" name="AC04">
<keysym keyval="3508">Thai_dodek</keysym>
<keysym keyval="3554">Thai_sarao</keysym>
</key>
<key keycode="42" name="AC05">
<keysym keyval="3552">Thai_sarae</keysym>
<keysym keyval="3500">Thai_chochoe</keysym>
</key>
<key keycode="43" name="AC06">
<keysym keyval="3561">Thai_maitho</keysym>
<keysym keyval="3559">Thai_maitaikhu</keysym>
</key>
<key keycode="44" name="AC07">
<keysym keyval="3560">Thai_maiek</keysym>
<keysym keyval="3563">Thai_maichattawa</keysym>
</key>
<key keycode="45" name="AC08">
<keysym keyval="3538">Thai_saraaa</keysym>
<keysym keyval="3529">Thai_sorusi</keysym>
</key>
<key keycode="46" name="AC09">
<keysym keyval="3530">Thai_sosua</keysym>
<keysym keyval="3528">Thai_sosala</keysym>
</key>
<key keycode="47" name="AC10">
<keysym keyval="3527">Thai_wowaen</keysym>
<keysym keyval="3499">Thai_soso</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="3495">Thai_ngongu</keysym>
<keysym keyval="46">period</keysym>
</key>
<key keycode="52" name="AB01">
<keysym keyval="3516">Thai_phophung</keysym>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="53" name="AB02">
<keysym keyval="3515">Thai_popla</keysym>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="54" name="AB03">
<keysym keyval="3553">Thai_saraae</keysym>
<keysym keyval="3497">Thai_choching</keysym>
</key>
<key keycode="55" name="AB04">
<keysym keyval="3533">Thai_oang</keysym>
<keysym keyval="3534">Thai_honokhuk</keysym>
</key>
<key keycode="56" name="AB05">
<keysym keyval="3540">Thai_sarai</keysym>
<keysym keyval="3546">Thai_phinthu</keysym>
</key>
<key keycode="57" name="AB06">
<keysym keyval="3543">Thai_sarauee</keysym>
<keysym keyval="3564">Thai_thanthakhat</keysym>
</key>
<key keycode="58" name="AB07">
<keysym keyval="3511">Thai_thothahan</keysym>
<keysym keyval="63">question</keysym>
</key>
<key keycode="59" name="AB08">
<keysym keyval="3521">Thai_moma</keysym>
<keysym keyval="3506">Thai_thophuthao</keysym>
</key>
<key keycode="60" name="AB09">
<keysym keyval="3555">Thai_saraaimaimuan</keysym>
<keysym keyval="3532">Thai_lochula</keysym>
</key>
<key keycode="61" name="AB10">
<keysym keyval="3517">Thai_fofa</keysym>
<keysym keyval="3526">Thai_lu</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ґ</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ї</text>
<text category="letter">Ї</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Є</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">چ</text>
<text category="letter">چ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ۋ</text>
<text category="letter">ۋ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ې</text>
<text category="letter">ې</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ر</text>
<text category="letter">ر</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ت</text>
<text category="letter">ت</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ي</text>
<text category="letter">ي</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ۇ</text>
<text category="letter">ۇ</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ڭ</text>
<text category="letter">ڭ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">و</text>
<text category="letter">و</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">پ</text>
<text category="letter">پ</text>
</key>
<key keycode="34" name="AD11">
<keysym keyval="91">bracketleft</keysym>
<text category="letter">«</text>
</key>
<key keycode="35" name="AD12">
<keysym keyval="93">bracketright</keysym>
<text category="letter">»</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ھ</text>
<text category="letter">ھ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">س</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">د</text>
<text category="letter">ژ</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ا</text>
<text category="letter">ف</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ە</text>
<text category="letter">گ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ى</text>
<text category="letter">خ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ق</text>
<text category="letter">ج</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ك</text>
<text category="letter">ۆ</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">ل</text>
<text category="letter">ل</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">؛</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ز</text>
<text category="letter">ز</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ش</text>
<text category="letter">ش</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">غ</text>
<text category="letter">غ</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ۈ</text>
<text category="letter">ۈ</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">ب</text>
<text category="letter">ب</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ن</text>
<text category="letter">ن</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">م</text>
<text category="letter">م</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">،</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<keysym keyval="46">period</keysym>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter">ئ</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@ -0,0 +1,304 @@
<?xml version="1.0"?>
<symbols version="0.90">
<key keycode="9" name="ESC">
<keysym keyval="65307">Escape</keysym>
</key>
<key keycode="67" name="FK01">
<keysym keyval="65470">F1</keysym>
</key>
<key keycode="68" name="FK02">
<keysym keyval="65471">F2</keysym>
</key>
<key keycode="69" name="FK03">
<keysym keyval="65472">F3</keysym>
</key>
<key keycode="70" name="FK04">
<keysym keyval="65473">F4</keysym>
</key>
<key keycode="71" name="FK05">
<keysym keyval="65474">F5</keysym>
</key>
<key keycode="72" name="FK06">
<keysym keyval="65475">F6</keysym>
</key>
<key keycode="73" name="FK07">
<keysym keyval="65476">F7</keysym>
</key>
<key keycode="74" name="FK08">
<keysym keyval="65477">F8</keysym>
</key>
<key keycode="75" name="FK09">
<keysym keyval="65478">F9</keysym>
</key>
<key keycode="76" name="FK10">
<keysym keyval="65479">F10</keysym>
</key>
<key keycode="95" name="FK11">
<keysym keyval="65480">F11</keysym>
</key>
<key keycode="96" name="FK12">
<keysym keyval="65481">F12</keysym>
</key>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="22" name="BKSP">
<keysym keyval="65288">BackSpace</keysym>
</key>
<key keycode="23" name="TAB">
<keysym keyval="65289">Tab</keysym>
<keysym keyval="65056">ISO_Left_Tab</keysym>
</key>
<key keycode="24" name="AD01">
<keysym keyval="113">q</keysym>
<keysym keyval="81">Q</keysym>
<keysym keyval="49">1</keysym>
</key>
<key keycode="25" name="AD02">
<keysym keyval="119">w</keysym>
<keysym keyval="87">W</keysym>
<keysym keyval="50">2</keysym>
</key>
<key keycode="26" name="AD03">
<keysym keyval="101">e</keysym>
<keysym keyval="69">E</keysym>
<keysym keyval="51">3</keysym>
</key>
<key keycode="27" name="AD04">
<keysym keyval="114">r</keysym>
<keysym keyval="82">R</keysym>
<keysym keyval="52">4</keysym>
</key>
<key keycode="28" name="AD05">
<keysym keyval="116">t</keysym>
<keysym keyval="84">T</keysym>
<keysym keyval="53">5</keysym>
</key>
<key keycode="29" name="AD06">
<keysym keyval="121">y</keysym>
<keysym keyval="89">Y</keysym>
<keysym keyval="54">6</keysym>
</key>
<key keycode="30" name="AD07">
<keysym keyval="117">u</keysym>
<keysym keyval="85">U</keysym>
<keysym keyval="55">7</keysym>
</key>
<key keycode="31" name="AD08">
<keysym keyval="105">i</keysym>
<keysym keyval="73">I</keysym>
<keysym keyval="56">8</keysym>
</key>
<key keycode="32" name="AD09">
<keysym keyval="111">o</keysym>
<keysym keyval="79">O</keysym>
<keysym keyval="57">9</keysym>
</key>
<key keycode="33" name="AD10">
<keysym keyval="112">p</keysym>
<keysym keyval="80">P</keysym>
<keysym keyval="48">0</keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="91">bracketleft</keysym>
<keysym keyval="123">braceleft</keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="93">bracketright</keysym>
<keysym keyval="125">braceright</keysym>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="66" name="ALTGR">
<keysym keyval="65027">ISO_Level3_Shift</keysym>
</key>
<key keycode="38" name="AC01">
<keysym keyval="97">a</keysym>
<keysym keyval="65">A</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="39" name="AC02">
<keysym keyval="115">s</keysym>
<keysym keyval="83">S</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="40" name="AC03">
<keysym keyval="100">d</keysym>
<keysym keyval="68">D</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="41" name="AC04">
<keysym keyval="102">f</keysym>
<keysym keyval="70">F</keysym>
<keysym keyval="37">percent</keysym>
</key>
<key keycode="42" name="AC05">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="43" name="AC06">
<keysym keyval="104">h</keysym>
<keysym keyval="72">H</keysym>
<keysym keyval="45">minus</keysym>
</key>
<key keycode="44" name="AC07">
<keysym keyval="106">j</keysym>
<keysym keyval="74">J</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="45" name="AC08">
<keysym keyval="107">k</keysym>
<keysym keyval="75">K</keysym>
<keysym keyval="123">braceleft</keysym>
</key>
<key keycode="46" name="AC09">
<keysym keyval="108">l</keysym>
<keysym keyval="76">L</keysym>
<keysym keyval="125">braceright</keysym>
</key>
<key keycode="47" name="AC10">
<keysym keyval="59">semicolon</keysym>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="36" name="RTRN">
<keysym keyval="65293">Return</keysym>
</key>
<key keycode="50" name="LFSH">
<keysym keyval="65505">Shift_L</keysym>
</key>
<key keycode="52" name="AB01">
<keysym keyval="122">z</keysym>
<keysym keyval="90">Z</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="53" name="AB02">
<keysym keyval="120">x</keysym>
<keysym keyval="88">X</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="54" name="AB03">
<keysym keyval="99">c</keysym>
<keysym keyval="67">C</keysym>
<keysym keyval="39">quoteright</keysym>
</key>
<key keycode="55" name="AB04">
<keysym keyval="118">v</keysym>
<keysym keyval="86">V</keysym>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="56" name="AB05">
<keysym keyval="98">b</keysym>
<keysym keyval="66">B</keysym>
<keysym keyval="59">semicolon</keysym>
</key>
<key keycode="57" name="AB06">
<keysym keyval="110">n</keysym>
<keysym keyval="78">N</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="58" name="AB07">
<keysym keyval="109">m</keysym>
<keysym keyval="77">M</keysym>
<keysym keyval="63">question</keysym>
</key>
<key keycode="59" name="AB08">
<keysym keyval="44">comma</keysym>
<keysym keyval="60">less</keysym>
</key>
<key keycode="60" name="AB09">
<keysym keyval="46">period</keysym>
<keysym keyval="62">greater</keysym>
</key>
<key keycode="61" name="AB10">
<keysym keyval="47">slash</keysym>
<keysym keyval="63">question</keysym>
</key>
<key keycode="62" name="RTSH">
<keysym keyval="65506">Shift_R</keysym>
</key>
<key keycode="149" name="I149">
<symbol label="⌨" icon="input-keyboard-symbolic" tooltip="Change keyboard">cycle-keyboard</symbol>
</key>
<key keycode="150" name="I150">
<symbol label="☺" icon="preferences-system-symbolic" tooltip="Setup">preferences</symbol>
</key>
<key keycode="37" name="LCTL">
<keysym keyval="65507">Control_L</keysym>
</key>
<key keycode="64" name="LALT">
<keysym keyval="65513">Alt_L</keysym>
<keysym keyval="65511">Meta_L</keysym>
</key>
<key keycode="65" name="SPCE">
<keysym keyval="32">space</keysym>
</key>
<key keycode="113" name="LEFT">
<keysym keyval="65361">Left</keysym>
</key>
<key keycode="111" name="UP">
<keysym keyval="65362">Up</keysym>
</key>
<key keycode="116" name="DOWN">
<keysym keyval="65364">Down</keysym>
</key>
<key keycode="114" name="RGHT">
<keysym keyval="65363">Right</keysym>
</key>
</symbols>

View File

@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter">ˇ</text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter">ˋ</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">ˊ</text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter">˙</text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<text category="letter"></text>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<keysym keyval="81">Q</keysym>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<keysym keyval="79">O</keysym>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<keysym keyval="80">P</keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="91">bracketleft</keysym>
<keysym keyval="123">braceleft</keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="93">bracketright</keysym>
<keysym keyval="125">braceright</keysym>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<keysym keyval="65">A</keysym>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<keysym keyval="83">S</keysym>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<keysym keyval="68">D</keysym>
</key>
<key keycode="41" name="AC04">
<text category="letter"></text>
<keysym keyval="70">F</keysym>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<keysym keyval="72">H</keysym>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<keysym keyval="74">J</keysym>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<keysym keyval="90">Z</keysym>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<keysym keyval="67">C</keysym>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter"></text>
<keysym keyval="60">less</keysym>
</key>
<key keycode="60" name="AB09">
<text category="letter"></text>
<keysym keyval="62">greater</keysym>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@ -1,159 +0,0 @@
---
outlines:
default: { width: 35.33, height: 52 }
action: { width: 59, 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_actions 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_actions 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"
actions:
- "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12"
- "Esc Tab Del PgUp ↑ PgDn"
- "show_letters Home End ← ↓ →"
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"
Home:
outline: "action"
keysym: "Home"
End:
outline: "action"
keysym: "End"
PgUp:
outline: "action"
keysym: "Page_Up"
PgDn:
outline: "action"
keysym: "Page_Down"
"↑":
outline: "action"
keysym: "Up"
"↓":
outline: "action"
keysym: "Down"
"←":
outline: "action"
keysym: "Left"
"→":
outline: "action"
keysym: "Right"

View File

@ -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 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 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: ":"

View File

@ -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 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 , \" ' 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: ":"

View File

@ -1,2 +0,0 @@
emoji Emoji
terminal Terminal

View File

@ -1,7 +0,0 @@
us Inglés (EE.UU.)
de Alemán
el Griego
es Español
it Italiano
jp+kana Japonés (Kana)
no Noruego

View File

View File

@ -1,2 +0,0 @@
emoji emoji
terminal terminal

View File

@ -1,12 +1,57 @@
gnome = import('gnome')
squeekboard_resources = gnome.compile_resources(
'squeekboard-resources',
'squeekboard.gresources.xml',
c_name: 'squeekboard',
install_data(
'themes/default.css',
install_dir: pkgdatadir + '/themes',
)
install_data(
'keyboards/keyboards.xml',
install_dir: pkgdatadir + '/keyboards/',
)
install_data(
'keyboards/geometry/compact.xml',
install_dir: pkgdatadir + '/keyboards/geometry/',
)
symbols = [
'ar.xml',
'as-inscript.xml',
'be.xml',
'bn-inscript.xml',
'fa.xml',
'gu-inscript.xml',
'he.xml',
'hi-inscript.xml',
'ja-kana.xml',
'kk.xml',
'kn-inscript.xml',
'ks-inscript.xml',
'ks.xml',
'mai-inscript.xml',
'ml-inscript.xml',
'mr-inscript.xml',
'my.xml',
'or-inscript.xml',
'pa-inscript.xml',
'ru.xml',
'sd-inscript.xml',
'ta-inscript.xml',
'te-inscript.xml',
'th.xml',
'ua.xml',
'ug.xml',
'us.xml',
'zh-bopomofo.xml',
]
foreach symbol: symbols
install_data(
'keyboards/symbols/' + symbol,
install_dir: pkgdatadir + '/keyboards/symbols/',
)
endforeach
desktop_file = 'sm.puri.Squeekboard.desktop'
i18n.merge_file('desktop',

View File

@ -1,19 +0,0 @@
<?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>

View File

@ -3,7 +3,7 @@ Name=Squeekboard
GenericName=Squeekboard Virtual Keyboard
Comment=Virtual Keyboard
Exec=squeekboard
Icon=squeekboard
Terminal=false
Type=Application
NoDisplay=true
Categories=GTK;Utility;

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/sm/puri/squeekboard">
<file compressed="true">style.css</file>
<file compressed="true">style-Adwaita:dark.css</file>
<file compressed="true" preprocess="xml-stripblanks">popup.ui</file>
<file>icons/key-enter.svg</file>
<file>icons/key-shift.svg</file>
<file>icons/keyboard-mode-symbolic.svg</file>
</gresource>
</gresources>

View File

@ -1,51 +0,0 @@
sq_view {
background-color: rgba(0, 0, 0, 255);
color: #ffffff;
font-family: cantarell, sans-serif;
font-size: 25px;
}
sq_view sq_button {
color: #deddda;
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 {
background: #747077;
border-color: #96949d;
}
sq_button.altline,
sq_button.special,
sq_button.wide {
background: #2b292f;
border-color: #3e3a44;
}
sq_button.locked {
background: #ffffff;
color: #2b292f;
}
sq_button.action {
font-size: 0.75em;
}
#Return {
background: #1c71d8;
border-color: #1a5fb4;
}
#Return:active {
background: #1c71d8;
border-color: #3584e4;
}

View File

@ -1,54 +0,0 @@
sq_view {
background-color: @theme_base_color; /*rgba(0, 0, 0, 255);*/
color: @theme_text_color; /*#ffffff;*/
font-family: cantarell, sans-serif;
font-size: 25px;
}
sq_view sq_button {
color: @theme_fg_color; /*#deddda;*/
background: mix(@theme_bg_color, @theme_base_color, -0.5); /* #464448; */
border-style: solid;
border-width: 1px;
border-color: @borders; /* #5e5c64;*/
border-radius: 3px;
margin: 4px 2px 4px 2px;
}
sq_view.wide sq_button {
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.special,
sq_button.wide {
background: mix(@theme_bg_color, @theme_base_color, 0.5); /*#2b292f;*/
border-color: @borders; /* #3e3a44; */
}
sq_button.locked {
background: @theme_fg_color; /*#ffffff;*/
color: @theme_bg_color; /*#2b292f;*/
}
sq_button.action {
font-size: 0.75em;
}
#Return {
background: @theme_selected_bg_color; /* #1c71d8; */
border-color: @borders; /*#1a5fb4;*/
}
#Return:active {
background: mix(@theme_selected_bg_color, @theme_bg_color, 0.4); /*#1c71d8;*/
border-color: @borders; /*#3584e4;*/
}

18
data/themes/default.css Normal file
View File

@ -0,0 +1,18 @@
.keyboard {
background-color: rgba(0, 0, 0, 255);
color: #ffffff;
font-family: cantarell, sans-serif;
}
.key {
color: #deddda;
background: #464448;
border-width: 0.5px;
border-color: #5e5c64;
border-radius: 2px;
}
.key:active {
background: #1c71d8;
border-color: #3584e4;
}

39
dco.txt
View File

@ -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.

12
debian/cargo/config vendored
View File

@ -1,12 +0,0 @@
# When modifying this file, consider instead
# to take advantage of the method that Cargo packagers use
# to set up all the necessary stuff automatically:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629#30
[source.crates-io]
registry = 'https://github.com/rust-lang/crates.io-index'
replace-with = 'vendored-sources'
[source.vendored-sources]
directory = '/usr/share/cargo/registry'

234
debian/changelog vendored
View File

@ -1,237 +1,3 @@
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
* "text" property in layouts
* Adjusts to user's color scheme
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Mon, 02 Dec 2019 19:37:01 +0000
squeekboard (1.3.2) amber-phone; urgency=medium
* Make sure all key presses get accepted by the compositor
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Tue, 26 Nov 2019 15:36:27 +0000
squeekboard (1.3.1) amber-phone; urgency=medium
* Update and fix layouts and languages
* Make tests less likely to fail
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Wed, 20 Nov 2019 22:10:48 +0000
squeekboard (1.3.0) amber-phone; urgency=medium
* Language selection popup
* Swedish and Finnish layouts
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Sat, 16 Nov 2019 15:38:14 +0000
squeekboard (1.2.2) amber-phone; urgency=medium
* Landscape mode
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Wed, 30 Oct 2019 12:38:39 +0000
squeekboard (1.2.1) amber-phone; urgency=medium
* Use different distribution
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Tue, 08 Oct 2019 10:56:10 +0000
squeekboard (1.2.0) unstable; urgency=medium
* Use Cargo-based dependencies
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Tue, 24 Sep 2019 10:42:15 +0000
squeekboard (1.1.0) unstable; urgency=medium
* Use new keyboard layout format
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Mon, 02 Sep 2019 10:12:02 +0000
squeekboard (1.0.10) unstable; urgency=medium
* Use a shared DBus definition

View File

@ -1,10 +0,0 @@
#!/usr/bin/env python3
"""Checks tag before release.
Feed it the first changelog line, and then all available tags.
"""
import re, sys
tag = "v" + re.findall("\\((.*)\\)", input())[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!")

39
debian/control vendored
View File

@ -3,52 +3,23 @@ Section: x11
Priority: optional
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Build-Depends:
cargo,
debhelper (>= 10),
meson (>=0.51.0),
ninja-build,
meson (>=0.43.0),
pkg-config,
libglib2.0-dev,
libgnome-desktop-3-dev,
libgtk-3-dev,
libcroco3-dev,
librust-bitflags-1-dev (>= 1.0),
librust-clap-2+default-dev (>= 2.32),
librust-gio+v2-44-dev,
librust-glib+v2-44-dev,
librust-glib-sys-dev,
librust-gtk+v3-22-dev (>= 0.5),
librust-gtk-sys-dev,
librust-maplit-1-dev (>= 1.0),
librust-regex-1-dev (>= 1.1),
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),
rustc,
wayland-protocols (>= 1.14),
virtboard,
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},
${shlibs:Depends}
${misc:Depends}
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

177
debian/copyright vendored
View File

@ -1,149 +1,9 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: squeekboard
Source: https://source.puri.sm/Librem5/squeekboard
Upstream-Name: evscript
Source: https://source.puri.sm/david.boddie/evscript
Files: *
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2019 Purism SPC
License: GPL-3+
Files: cargo.sh
Copyright: 2019 Bart Ribbers <bribbers@disroot.org>
2019 Purism SPC
License: GPL-3+
Files: data/style.css
data/squeekboard.gresources.xml
data/meson.build
src/meson.build
src/imservice.c
Copyright: 2019 Purism SPC
2019 Squeekboard Contributors
License: GPL-3+
Files: data/keyboards/de.yaml
Copyright: 2019 Mark Müller <markmueller86@gmail.com>
License: GPL-3+
Files: data/keyboards/el.yaml
Copyright: 2019 Antonis Tsolomitis
2019 Purism SPC
License: GPL-3+
Files: data/keyboards/es.yaml
Copyright: 2019 Purism SPC
2019 uzanto <miguejim@mailbox.org>
License: GPL-3+
Files: data/keyboards/fi.yaml
Copyright: 2019 uzanto <miguejim@mailbox.org>
License: GPL-3+
Files: data/keyboards/it.yaml
Copyright: 2019 Antonio Pandolfo <ant.pandolfo@gmail.com>
2019 Purism SPC
License: GPL-3+
Files: data/keyboards/ja+kana.yaml
Copyright: 2019 Mark Müller <markmueller86@gmail.com>
License: GPL-3+
Files: data/keyboards/se.yaml
Copyright: 2019 Andreas Rönnquist <andreas@ronnquist.net>
2019 Purism SPC
License: GPL-3+
Files: eek/eek-layout.h
eek/eek-layout.c
eek/eek-element.c
eek/eek-gtk-keyboard.c
eek/eek-gtk-keyboard.h
eek/eek.c
eek/eek-xml-layout.h
eek/eek-xml-layout.c
eek/eek-renderer.h
eek/eek-element.h
eek/eek-renderer.c
eekboard/eekboard-service.c
eekboard/eekboard-service.h
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2018-2019 Purism SPC
2019 Squeekboard Contributors
License: GPL-3+
Files: eek/eek-keyboard.c
eek/eek-types.h
eek/eek-types.c
eek/eek-keyboard.h
eek/eek.h
src/server-main.c
src/server-context-service.h
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2019 Purism SPC
License: LGPL-2+
Files: eek/layersurface.c
src/wayland.c
src/key-emitter.c
meson.build
src/meson.build
po/meson.build
Copyright: 2018-2019 Purism SPC
License: GPL-3+
Files: eekboard/keymap.c
Copyright: 2000 Red Hat, Inc.
2019 Purism, SPC
License: LGPL-2+
Files: eekboard/eekboard-context-service.c
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2019 Purism, SPC
2019 David Heidelberg <david@ixit.cz>
2019 Piotr Tworek <tworaz@tworaz.net>
2019 Squeekboard Contributors
License: GPL-3+
Files: eekboard/eekboard-context-service.h
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
License: GPL-3+
Files: po/POTFILES.skip
po/LINGUAS
po/ja.po
po/POTFILES.in
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
License: LGPL-2+
Comment:
Only the po/ja.po file contains a license, but these are all grouped together.
Files: protocols/wlr-layer-shell-unstable-v1.xml
Copyright: 2017 Drew DeVault
License: X11
Files: src/resources.rs
Copyright: 2019 Andreas Rönnquist <andreas@ronnquist.net>
2019 Mark Müller <markmueller86@gmail.com>
2019 Purism SPC
License: GPL-3+
Files: src/server-context-service.c
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2019 Purism SPC
2019 Squeekboard Contributors
License: GPL-3+
Files: tests/meson.build
Copyright: 2019 Purism SPC
2019 Mark Müller <markmueller86@gmail.com>
License: GPL-3+
License: GPL-3+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -160,36 +20,3 @@ License: GPL-3+
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
License: LGPL-2+
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
License: X11
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the copyright holders not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission. The copyright holders make
no representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied warranty.
.
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

7
debian/rules vendored
View File

@ -1,15 +1,8 @@
#!/usr/bin/make -f
export CARGO_HOME = $(CURDIR)/debian/cargo
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --builddirectory=_build --buildsystem=meson
# The Debian version of linked-hash-map doesn't provide any hash,
# causing Cargo to refuse to build with a crates.io copy
build-arch:
rm Cargo.lock
dh $@ --builddirectory=_build --buildsystem=meson
override_dh_autoreconf:

View File

@ -1,2 +0,0 @@
usr/bin/squeekboard-test-layout /usr/bin
usr/bin/squeekboard-entry /usr/bin

View File

@ -1,2 +0,0 @@
tools/squeekboard-restyled usr/bin
usr/bin/squeekboard /usr/bin

View File

@ -1,2 +0,0 @@
# yaml-rust 0.4.3 shares some roots with libyaml, including the string which lintian checks, creating a false positive
squeekboard binary: embedded-library usr/bin/squeekboard: libyaml

View File

@ -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}"

View File

@ -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)

View File

@ -1,184 +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.
Nonwithstanding 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 behaviour,
- 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 useable,
- 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 benefitting the user compared to those benefitting 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 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`](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')]"
```
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
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
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.
`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
```

View File

@ -1,27 +0,0 @@
Welcome to squeekboard's documentation!
=======================================
Contents
--------
* [Tutorial](tutorial.md)
* [Contributing](hacking.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.
Contributions
-------------
Anyone is free to modify *squeekboard*. See the [contributing document](hacking.md).

View File

@ -1,55 +0,0 @@
Kareema's guide to creating layouts
===================================
Its long overdue to write a comprehensive guide how to add a keyboard layout from start. But unfortunately, I dont have much time left ATM. A lot of information can be found in [this ](https://forums.puri.sm/t/using-non-latin-language-on-librem-5/7103/5) thread.
So at least I will try to start writing a short how-to here and edit this post as I find the time. Hope this helps a bit - comments and corrections welcome.
**Get one of the existing keyboard layouts**
* You can get one of the keyboards from the squeekboard git repository : [https://source.puri.sm/Librem5/squeekboard ](https://source.puri.sm/Librem5/squeekboard)
* The keyboard layouts are located in the subdirectory `data/keyboard/` in the `.yaml` files
* Take a look and try to understand them :slight_smile:
**Fork your own copy of squeekboard**
* Best way would be to start with a fork of the squeekboard repository: Create a user account at https://source.puri.sm/, go the the squeekboard git repository, press “Fork” in the web interface. You can find further instructions [here](https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html#creating-a-fork).
* Clone your fork locally with `git clone` and use the uri of your forked repo there
**Workflow to edit your keyboard and get it merged**
* A generic guide how the workflow to contribute works, can be found at https://developer.puri.sm/Librem5/Contact/Contributing.html
* Create a branch: Name it “keyboard-layout-mylanguage” or whatever
* Checkout your branch, edit your keyboard layout and commit your changes
* Push the local changes (to the branch of your fork of squeekboard)
* Create a merge request for the branch to get your changes merged to the official squeekboard git repository
**Compile squeekboard**
* Follow the instructions found in “Building” section of the squeekboards README: Running squeekboard: [https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#building ](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#building)
**Running squeekboard**
* Follow these instructions to run squeekboard: [https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running ](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running)
* Additionally take a look at the contribution document for [testing info](HACKING.md#testing)
* You can either test it locally on your Linux system or use the [QEMU Librem 5 image ](https://developer.puri.sm/Librem5/Development_Environment/Boards/emulators.html)
* To test squeekboard locally, you need phoc. Either compile that from the sources as well or use the CI repository ci.puri.sm for Debian based systems:
`deb [arch=amd64] http://ci.puri.sm/ scratch librem5`
Squeekboard can be installed from there as a Debian package, too (thats what I often do). But beware - there be dragons! You could bork your system with these packages and you should probably disable this repository again after installing what you need - these packages are not meant for production systems (or so I heard :wink: )
**Creating the keyboard layout**
* To be written: For the time being, take a look at [Using non-latin language on Librem 5 ](https://forums.puri.sm/t/using-non-latin-language-on-librem-5/7103/5)
* The correct name of the .yaml file can be found with the command `gsettings get org.gnome.desktop.input-sources sources`
The output should be something like this: `[('xkb', 'us'), ('xkb', 'de')]`
So f.ex. “de.yaml” would be the correct name for the German keyboard layout.
* The translations for the keyboard layout names in the different languages can be found at `data/langs/`
* Dont forget to add your newly created layout or translation to `src/resources.rs` and the layout to `tests/meson.build` (thats for me, because I always forget it)
**Testing the layout**
* Copy your yaml file to `~/.local/share/squeekboard/keyboards/` for testing purposes. From there it should get picked up by squeekboard
* To test the translations in `data/langs/` , you have to compile squeekboard

View File

@ -0,0 +1,83 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<bookinfo>
<title>libeek Reference Manual</title>
<releaseinfo>
for libeek 0.90.0.
</releaseinfo>
<copyright>
<year>2010-2011</year>
<holder>Daiki Ueno</holder>
</copyright>
<copyright>
<year>2010-2011</year>
<holder>Red Hat, Inc.</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts and
no Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
</para>
</legalnotice>
</bookinfo>
<xi:include href="xml/eek-overview.xml"/>
<part id="apireference">
<title>API Manual</title>
<chapter>
<title>Base Classes, Interfaces, and Utilities</title>
<xi:include href="xml/eek.xml"/>
<xi:include href="xml/eek-serializable.xml"/>
<xi:include href="xml/eek-element.xml"/>
<xi:include href="xml/eek-container.xml"/>
<xi:include href="xml/eek-keyboard.xml"/>
<xi:include href="xml/eek-section.xml"/>
<xi:include href="xml/eek-key.xml"/>
<xi:include href="xml/eek-symbol.xml"/>
<xi:include href="xml/eek-keysym.xml"/>
<xi:include href="xml/eek-text.xml"/>
<xi:include href="xml/eek-layout.xml"/>
<xi:include href="xml/eek-types.xml"/>
</chapter>
<chapter>
<title>GTK Adapter</title>
<xi:include href="xml/eek-gtk-keyboard.xml"/>
</chapter>
<chapter>
<title>Clutter Adapter</title>
<xi:include href="xml/eek-clutter-keyboard.xml"/>
</chapter>
<chapter>
<title>Libxklavier Layout Engine</title>
<xi:include href="xml/eek-xkl-layout.xml"/>
</chapter>
<chapter>
<title>XKB Layout Engine</title>
<xi:include href="xml/eek-xkb-layout.xml"/>
</chapter>
<chapter>
<title>XML Layout Engine</title>
<xi:include href="xml/eek-xml-layout.xml"/>
<xi:include href="xml/eek-xml.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
</part>
</book>

View File

@ -0,0 +1,70 @@
<part id="eek-overview">
<title>Usage Overview</title>
<partintro>
<para>libeek is a library to create keyboard-like user interface.
Since it is designed as simple as possible, it provides only two
kind of objects. One is <emphasis>keyboard element</emphasis>
(objects derived from #EekElement) and another is
<emphasis>keyboard layout engine</emphasis> (objects which
implements the #EekLayout interface).</para>
<para>A keyboard element represents either a keyboard
(#EekKeyboard), a section (#EekSection), or a key (#EekKey). Each
element implements the Builder design pattern so that it can map
itself to different UI widgets (#ClutterActor, #GtkDrawingArea,
aso).</para>
<para>A layout engine arranges keyboard elements using information
from external configuration mechanisms (libxklavier, XKB,
matchbox-keyboard layouts in XML, aso)</para>
<para>Here is a sample code which demonstrates (1) keyboard
elements are arranged with the system keyboard layout using
libxklavier and (2) keyboard elements are mapped into
#ClutterActor:</para>
<informalexample>
<programlisting>
EekLayout *layout;
EekKeyboard *keyboard;
ClutterActor *actor;
/* Create a layout engine based on libxklavier configuration. */
layout = eek_xkl_layout_new ();
/* Create a keyboard from the given layout. */
keyboard = eek_keyboard_new (layout, initial_width, initial_height);
/* Create a ClutterActor. */
actor = eek_clutter_keyboard_new (eekboard->keyboard);
/* Add the actor to a stage. */
clutter_group_add (CLUTTER_GROUP(stage), actor);
</programlisting>
</informalexample>
<para>libeek currently supports GTK+ and Clutter as UI toolkits.
To create a keyboard-like #GtkWidget instead of #ClutterActor,
replace eek_clutter_keyboard_new() with eek_gtk_keyboard_new().
Similarly, if you want to use XKB configuration directly (without
libxklavier), you will only need to replace eek_xkl_layout_new ()
with eek_xkb_layout_new().</para>
<para>In the above example, a keyboard is represented as a tree of
#EekElement -- #EekKeyboard contains one or more #EekSection's and
#EekSection contains one or more #EekKey's. Each element may emit
events when user pushes the corresponding UI widget.</para>
<para>
Here is another sample code which demonstrates logical events on
#EekElement:
</para>
<informalexample>
<programlisting>
/* Find a key element in the logical keyboard. */
EekKey *key = eek_keyboard_find_key_by_keycode (keyboard, 0x38);
g_signal_connect (key, "pressed", on_a_pressed);
</programlisting>
</informalexample>
<para>When user pushed a widget which looks like "a" key (i.e. keycode 0x38), on_a_pressed will be called.</para>
</partintro>
</part>

View File

@ -0,0 +1,544 @@
<SECTION>
<FILE>eek</FILE>
eek_init
</SECTION>
<SECTION>
<FILE>eek-clutter</FILE>
</SECTION>
<SECTION>
<FILE>eek-clutter-key</FILE>
<TITLE>EekClutterKey</TITLE>
EekClutterKey
EekClutterKeyClass
eek_clutter_key_new
<SUBSECTION Standard>
EEK_CLUTTER_KEY
EEK_CLUTTER_KEY_CLASS
EEK_CLUTTER_KEY_GET_CLASS
EEK_IS_CLUTTER_KEY
EEK_IS_CLUTTER_KEY_CLASS
EEK_TYPE_CLUTTER_KEY
EekClutterKeyPrivate
eek_clutter_key_get_type
</SECTION>
<SECTION>
<FILE>eek-clutter-keyboard</FILE>
<TITLE>EekClutterKeyboard</TITLE>
EekClutterKeyboard
EekClutterKeyboardClass
eek_clutter_keyboard_new
eek_clutter_keyboard_set_theme
<SUBSECTION Standard>
EEK_CLUTTER_KEYBOARD
EEK_CLUTTER_KEYBOARD_CLASS
EEK_CLUTTER_KEYBOARD_GET_CLASS
EEK_IS_CLUTTER_KEYBOARD
EEK_IS_CLUTTER_KEYBOARD_CLASS
EEK_TYPE_CLUTTER_KEYBOARD
EekClutterKeyboardPrivate
eek_clutter_keyboard_get_type
</SECTION>
<SECTION>
<FILE>eek-clutter-renderer</FILE>
<TITLE>EekClutterRenderer</TITLE>
EekClutterRenderer
EekClutterRendererClass
eek_clutter_renderer_new
eek_clutter_renderer_render_key
<SUBSECTION Standard>
EEK_CLUTTER_RENDERER
EEK_CLUTTER_RENDERER_CLASS
EEK_CLUTTER_RENDERER_GET_CLASS
EEK_IS_CLUTTER_RENDERER
EEK_IS_CLUTTER_RENDERER_CLASS
EEK_TYPE_CLUTTER_RENDERER
EekClutterRendererPrivate
eek_clutter_renderer_get_type
</SECTION>
<SECTION>
<FILE>eek-clutter-section</FILE>
<TITLE>EekClutterSection</TITLE>
EekClutterSection
EekClutterSectionClass
eek_clutter_section_new
<SUBSECTION Standard>
EEK_CLUTTER_SECTION
EEK_CLUTTER_SECTION_CLASS
EEK_CLUTTER_SECTION_GET_CLASS
EEK_IS_CLUTTER_SECTION
EEK_IS_CLUTTER_SECTION_CLASS
EEK_TYPE_CLUTTER_SECTION
EekClutterSectionPrivate
eek_clutter_section_get_type
</SECTION>
<SECTION>
<FILE>eek-container</FILE>
<TITLE>EekContainer</TITLE>
EekCallback
EekCompareFunc
EekContainer
EekContainerClass
eek_container_add_child
eek_container_find
eek_container_foreach_child
<SUBSECTION Standard>
EEK_CONTAINER
EEK_CONTAINER_CLASS
EEK_CONTAINER_GET_CLASS
EEK_IS_CONTAINER
EEK_IS_CONTAINER_CLASS
EEK_TYPE_CONTAINER
EekContainerPrivate
eek_container_get_type
</SECTION>
<SECTION>
<FILE>eek-element</FILE>
<TITLE>EekElement</TITLE>
EekElement
EekElementClass
eek_element_get_absolute_position
eek_element_get_bounds
eek_element_get_group
eek_element_get_level
eek_element_get_name
eek_element_get_parent
eek_element_get_symbol_index
eek_element_set_bounds
eek_element_set_group
eek_element_set_level
eek_element_set_name
eek_element_set_parent
eek_element_set_position
eek_element_set_size
eek_element_set_symbol_index
<SUBSECTION Standard>
EEK_ELEMENT
EEK_ELEMENT_CLASS
EEK_ELEMENT_GET_CLASS
EEK_IS_ELEMENT
EEK_IS_ELEMENT_CLASS
EEK_TYPE_ELEMENT
EekElementPrivate
eek_element_get_type
</SECTION>
<SECTION>
<FILE>eek-gtk</FILE>
</SECTION>
<SECTION>
<FILE>eek-gtk-keyboard</FILE>
<TITLE>EekGtkKeyboard</TITLE>
EekGtkKeyboard
EekGtkKeyboardClass
eek_gtk_keyboard_new
eek_gtk_keyboard_set_theme
<SUBSECTION Standard>
EEK_GTK_KEYBOARD
EEK_GTK_KEYBOARD_CLASS
EEK_GTK_KEYBOARD_GET_CLASS
EEK_IS_GTK_KEYBOARD
EEK_IS_GTK_KEYBOARD_CLASS
EEK_TYPE_GTK_KEYBOARD
EekGtkKeyboardPrivate
eek_gtk_keyboard_get_type
</SECTION>
<SECTION>
<FILE>eek-key</FILE>
<TITLE>EekKey</TITLE>
EekKey
EekKeyClass
eek_key_get_index
eek_key_get_keycode
eek_key_get_oref
eek_key_get_symbol
eek_key_get_symbol_at_index
eek_key_get_symbol_matrix
eek_key_get_symbol_with_fallback
eek_key_is_locked
eek_key_is_pressed
eek_key_set_index
eek_key_set_keycode
eek_key_set_oref
eek_key_set_symbol_matrix
<SUBSECTION Standard>
EEK_IS_KEY
EEK_IS_KEY_CLASS
EEK_KEY
EEK_KEY_CLASS
EEK_KEY_GET_CLASS
EEK_TYPE_KEY
EekKeyPrivate
eek_key_get_type
</SECTION>
<SECTION>
<FILE>eek-keyboard</FILE>
<TITLE>EekKeyboard</TITLE>
EekKeyboard
EekKeyboardClass
EekModifierKey
eek_keyboard_add_outline
eek_keyboard_create_section
eek_keyboard_find_key_by_keycode
eek_keyboard_get_alt_gr_mask
eek_keyboard_get_group
eek_keyboard_get_layout
eek_keyboard_get_level
eek_keyboard_get_locked_keys
eek_keyboard_get_modifier_behavior
eek_keyboard_get_modifiers
eek_keyboard_get_num_lock_mask
eek_keyboard_get_outline
eek_keyboard_get_pressed_keys
eek_keyboard_get_size
eek_keyboard_get_symbol_index
eek_keyboard_new
eek_keyboard_set_alt_gr_mask
eek_keyboard_set_group
eek_keyboard_set_level
eek_keyboard_set_modifier_behavior
eek_keyboard_set_modifiers
eek_keyboard_set_num_lock_mask
eek_keyboard_set_size
eek_keyboard_set_symbol_index
<SUBSECTION Standard>
EEK_IS_KEYBOARD
EEK_IS_KEYBOARD_CLASS
EEK_KEYBOARD
EEK_KEYBOARD_CLASS
EEK_KEYBOARD_GET_CLASS
EEK_TYPE_KEYBOARD
EekKeyboardPrivate
eek_keyboard_get_type
</SECTION>
<SECTION>
<FILE>eek-keysym</FILE>
<TITLE>EekKeysym</TITLE>
EekKeysym
EekKeysymClass
eek_keysym_get_xkeysym
eek_keysym_new
eek_keysym_new_from_name
eek_keysym_new_with_modifier
<SUBSECTION Standard>
EEK_INVALID_KEYSYM
EEK_IS_KEYSYM
EEK_IS_KEYSYM_CLASS
EEK_KEYSYM
EEK_KEYSYM_CLASS
EEK_KEYSYM_GET_CLASS
EEK_TYPE_KEYSYM
EekKeysymPrivate
eek_keysym_get_type
</SECTION>
<SECTION>
<FILE>eek-layout</FILE>
<TITLE>EekLayout</TITLE>
EekLayout
EekLayoutClass
<SUBSECTION Standard>
EEK_IS_LAYOUT
EEK_IS_LAYOUT_CLASS
EEK_LAYOUT
EEK_LAYOUT_CLASS
EEK_LAYOUT_GET_CLASS
EEK_TYPE_LAYOUT
eek_layout_get_type
</SECTION>
<SECTION>
<FILE>eek-marshalers</FILE>
</SECTION>
<SECTION>
<FILE>eek-section</FILE>
<TITLE>EekSection</TITLE>
EekSection
EekSectionClass
eek_section_add_row
eek_section_create_key
eek_section_find_key_by_keycode
eek_section_get_angle
eek_section_get_n_rows
eek_section_get_row
eek_section_set_angle
<SUBSECTION Standard>
EEK_IS_SECTION
EEK_IS_SECTION_CLASS
EEK_SECTION
EEK_SECTION_CLASS
EEK_SECTION_GET_CLASS
EEK_TYPE_SECTION
EekSectionPrivate
eek_section_get_type
</SECTION>
<SECTION>
<FILE>eek-serializable</FILE>
<TITLE>EekSerializable</TITLE>
EekSerializableIface
eek_serializable_deserialize
eek_serializable_serialize
<SUBSECTION Standard>
EEK_IS_SERIALIZABLE
EEK_SERIALIZABLE
EEK_SERIALIZABLE_GET_IFACE
EEK_TYPE_SERIALIZABLE
eek_serializable_get_type
</SECTION>
<SECTION>
<FILE>eek-special-keysym-entries</FILE>
</SECTION>
<SECTION>
<FILE>eek-symbol</FILE>
<TITLE>EekSymbol</TITLE>
EekSymbol
EekSymbolCategory
EekSymbolClass
eek_symbol_category_from_name
eek_symbol_category_get_name
eek_symbol_get_category
eek_symbol_get_icon_name
eek_symbol_get_label
eek_symbol_get_modifier_mask
eek_symbol_get_name
eek_symbol_is_modifier
eek_symbol_new
eek_symbol_set_category
eek_symbol_set_icon_name
eek_symbol_set_label
eek_symbol_set_modifier_mask
eek_symbol_set_name
<SUBSECTION Standard>
EEK_IS_SYMBOL
EEK_IS_SYMBOL_CLASS
EEK_SYMBOL
EEK_SYMBOL_CLASS
EEK_SYMBOL_GET_CLASS
EEK_TYPE_SYMBOL
EekSymbolPrivate
eek_symbol_get_type
</SECTION>
<SECTION>
<FILE>eek-symbol-matrix</FILE>
EekSymbolMatrix
eek_symbol_matrix_copy
eek_symbol_matrix_free
eek_symbol_matrix_get_symbol
eek_symbol_matrix_new
eek_symbol_matrix_set_symbol
<SUBSECTION Standard>
EEK_TYPE_SYMBOL_MATRIX
eek_symbol_matrix_get_type
</SECTION>
<SECTION>
<FILE>eek-text</FILE>
<TITLE>EekText</TITLE>
EekText
EekTextClass
eek_text_get_text
eek_text_new
<SUBSECTION Standard>
EEK_IS_TEXT
EEK_IS_TEXT_CLASS
EEK_TEXT
EEK_TEXT_CLASS
EEK_TEXT_GET_CLASS
EEK_TYPE_TEXT
EekTextPrivate
eek_text_get_type
</SECTION>
<SECTION>
<FILE>eek-theme-context</FILE>
EekThemeContextClass
eek_theme_context_get_font
eek_theme_context_get_resolution
eek_theme_context_get_root_node
eek_theme_context_get_theme
eek_theme_context_new
eek_theme_context_set_default_resolution
eek_theme_context_set_font
eek_theme_context_set_resolution
eek_theme_context_set_theme
<SUBSECTION Standard>
EEK_IS_THEME_CONTEXT
EEK_IS_THEME_CONTEXT_CLASS
EEK_THEME_CONTEXT
EEK_THEME_CONTEXT_CLASS
EEK_THEME_CONTEXT_GET_CLASS
EEK_TYPE_THEME_CONTEXT
eek_theme_context_get_type
</SECTION>
<SECTION>
<FILE>eek-theme-private</FILE>
</SECTION>
<SECTION>
<FILE>eek-types</FILE>
EEK_INVALID_KEYCODE
EekBounds
EekColor
EekContainer
EekElement
EekGradientType
EekKey
EekKeyboard
EekKeysym
EekModifierBehavior
EekModifierType
EekOrientation
EekOutline
EekPoint
EekSection
EekSymbol
EekSymbolMatrix
EekText
EekTheme
EekThemeContext
EekThemeNode
I_
eek_bounds_copy
eek_bounds_free
eek_bounds_long_side
eek_color_copy
eek_color_free
eek_color_new
eek_outline_copy
eek_outline_free
eek_point_copy
eek_point_free
eek_point_rotate
<SUBSECTION Standard>
EEK_TYPE_BOUNDS
EEK_TYPE_COLOR
EEK_TYPE_OUTLINE
EEK_TYPE_POINT
eek_bounds_get_type
eek_color_get_type
eek_outline_get_type
eek_point_get_type
</SECTION>
<SECTION>
<FILE>eek-unicode-keysym-entries</FILE>
</SECTION>
<SECTION>
<FILE>eek-xkb</FILE>
</SECTION>
<SECTION>
<FILE>eek-xkb-layout</FILE>
<TITLE>EekXkbLayout</TITLE>
EekXkbLayout
EekXkbLayoutClass
eek_xkb_layout_get_geometry
eek_xkb_layout_get_keycodes
eek_xkb_layout_get_symbols
eek_xkb_layout_new
eek_xkb_layout_set_geometry
eek_xkb_layout_set_keycodes
eek_xkb_layout_set_names
eek_xkb_layout_set_names_full
eek_xkb_layout_set_names_full_valist
eek_xkb_layout_set_symbols
<SUBSECTION Standard>
EEK_IS_XKB_LAYOUT
EEK_IS_XKB_LAYOUT_CLASS
EEK_TYPE_XKB_LAYOUT
EEK_XKB_LAYOUT
EEK_XKB_LAYOUT_CLASS
EEK_XKB_LAYOUT_GET_CLASS
EekXkbLayoutPrivate
eek_xkb_layout_get_type
</SECTION>
<SECTION>
<FILE>eek-xkeysym-keysym-entries</FILE>
</SECTION>
<SECTION>
<FILE>eek-xkl</FILE>
</SECTION>
<SECTION>
<FILE>eek-xkl-layout</FILE>
<TITLE>EekXklLayout</TITLE>
EekXklLayout
EekXklLayoutClass
eek_xkl_layout_disable_option
eek_xkl_layout_enable_option
eek_xkl_layout_get_layouts
eek_xkl_layout_get_model
eek_xkl_layout_get_option
eek_xkl_layout_get_options
eek_xkl_layout_get_variants
eek_xkl_layout_new
eek_xkl_layout_set_config
eek_xkl_layout_set_config_full
eek_xkl_layout_set_layouts
eek_xkl_layout_set_model
eek_xkl_layout_set_options
eek_xkl_layout_set_variants
<SUBSECTION Standard>
EEK_IS_XKL_LAYOUT
EEK_IS_XKL_LAYOUT_CLASS
EEK_TYPE_XKL_LAYOUT
EEK_XKL_LAYOUT
EEK_XKL_LAYOUT_CLASS
EEK_XKL_LAYOUT_GET_CLASS
EekXklLayoutPrivate
eek_xkl_layout_get_type
</SECTION>
<SECTION>
<FILE>eek-xml</FILE>
EEK_XML_SCHEMA_VERSION
eek_keyboard_output
</SECTION>
<SECTION>
<FILE>eek-xml-layout</FILE>
<TITLE>EekXmlLayout</TITLE>
EekXmlLayout
EekXmlLayoutClass
eek_xml_layout_get_source
eek_xml_layout_new
eek_xml_layout_set_source
<SUBSECTION Standard>
EEK_IS_XML_LAYOUT
EEK_IS_XML_LAYOUT_CLASS
EEK_TYPE_XML_LAYOUT
EEK_XML_LAYOUT
EEK_XML_LAYOUT_CLASS
EEK_XML_LAYOUT_GET_CLASS
EekXmlLayoutPrivate
eek_xml_layout_get_type
</SECTION>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<bookinfo>
<title>eekboard Reference Manual</title>
<releaseinfo>
for eekboard 0.90.0.
</releaseinfo>
<copyright>
<year>2011</year>
<holder>Daiki Ueno</holder>
</copyright>
<copyright>
<year>2011</year>
<holder>Red Hat, Inc.</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts and
no Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
</para>
</legalnotice>
</bookinfo>
<part id="apireference">
<title>API Manual</title>
<chapter>
<title>Client interface to eekboard-server</title>
<xi:include href="xml/eekboard-client.xml"/>
<xi:include href="xml/eekboard-context.xml"/>
</chapter>
<chapter>
<title>Server interface to implement custom eekboard-server</title>
<xi:include href="xml/eekboard-service.xml"/>
<xi:include href="xml/eekboard-context-service.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
</part>
</book>

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