Compare commits

...

117 Commits

Author SHA1 Message Date
f1af125d24 Update to 1.0.3. 2011-09-02 17:06:02 +09:00
a6c08bee7b Allow 0xXXXX in mim2remap.el. 2011-09-01 15:08:43 +09:00
c2d2c8660f Add more keyboards convertd from m17n-db. 2011-09-01 12:51:03 +09:00
db3538af64 Send DestroyContext when EekboardClient#dispose. 2011-09-01 11:19:41 +09:00
04ac7fb19e Fix typo. 2011-08-31 16:22:42 +09:00
53e853fbc9 Change D-Bus signal name KeyPressed to KeyActivated. 2011-08-31 10:00:00 +09:00
747ce4e00b Add all subdirs to SUBDIRS regardless of automake conditionals. 2011-08-30 18:55:31 +09:00
5f6eb76d7f Add inscript keyboards. 2011-08-30 18:17:47 +09:00
3777620574 Preserve symbol attributes when serializing/deserializing XML. 2011-08-30 18:17:47 +09:00
b02ae1b7cc Support text symbol.
a
2011-08-30 18:17:45 +09:00
88816018d8 Rewrite mim2remap in elisp to properly parse *.mim files. 2011-08-30 16:23:11 +09:00
06e7e2afac Fix python binding. 2011-08-26 13:04:35 +09:00
ce2c4ed0f4 Update to 1.0.2. 2011-08-25 10:34:11 +09:00
099ca60975 Update doc comments. 2011-08-25 10:31:41 +09:00
43ab623fac Make sure that preferences dialog is kept above. 2011-08-25 07:11:50 +09:00
bcc9a8fd60 Swap ISO_Level3_Shift with Control_L in keyboard XML. 2011-08-25 07:11:40 +09:00
6fb96ea5d6 Fix crash in key replace logic. 2011-08-25 05:39:51 +09:00
2f64b3ee13 Fix doc comments. 2011-08-24 17:59:57 +09:00
d4a78e5dc7 Suppress compile warnings. 2011-08-24 17:44:31 +09:00
71033f5739 Update gtk-doc sections. 2011-08-24 17:43:55 +09:00
17444509fe Mark some files to be translated. 2011-08-24 17:43:12 +09:00
42baa22cdc Add doc comment for libeekboard. 2011-08-24 17:43:00 +09:00
f07de8cd3b Add a button to launch preferences dialog. 2011-08-24 17:05:52 +09:00
0772898b83 Improve icon rendering. 2011-08-24 17:05:41 +09:00
828b2d66d1 Save delay/interval as uint, instead of int. 2011-08-24 17:04:50 +09:00
8ab4fb7946 Implement preferences dialog. 2011-08-24 15:24:59 +09:00
e91a059f0f Ignore some files. 2011-08-24 11:10:28 +09:00
093d83ed89 Use AM_V_GEN for generating keysym-entries headers. 2011-08-24 11:03:46 +09:00
5c0381e4f0 Fix VAPIGEN macro. 2011-08-24 11:02:13 +09:00
657c6f8e35 Use GI instead of pygtk2 in mim2remap. 2011-08-24 11:01:33 +09:00
4bb984daf3 Rewrite simple-client in python. 2011-08-23 18:08:56 +09:00
e46a3f89ed Add theme option in gsettings. 2011-08-23 17:49:43 +09:00
6843cd62dd Fix vala binding. 2011-08-23 17:10:39 +09:00
52ffc77fdd Fix make distcheck. 2011-08-23 17:10:17 +09:00
158542ec0a Replace eekboard-xml and eekboard-inscript with eekxml and mim2remap. 2011-08-23 16:29:10 +09:00
360da8a3c9 Update vala binding. 2011-08-23 14:17:07 +09:00
65d1186317 Update python binding. 2011-08-23 10:27:29 +09:00
b7b4d68a9a Fix fullscreen mode and D-Bus service entry. 2011-08-22 22:24:17 +09:00
952f70b433 Fix typo. 2011-08-22 18:05:25 +09:00
74de8e5056 Fix clutter build. 2011-08-22 16:17:58 +09:00
9d88c1c5da Fix memleaks; add doc comments. 2011-08-22 16:12:23 +09:00
a6bde78168 Highlight locked modifiers. 2011-08-22 14:44:46 +09:00
bb85885e5d Revamp server-client API. 2011-08-20 13:17:16 +09:00
dd085be73d Fix GTK2 build. 2011-08-19 07:56:25 +09:00
f576310cdf Update keyboards. 2011-08-19 07:52:46 +09:00
70e1c98987 Rescale jp-kana.xml. 2011-08-18 18:34:59 +09:00
4f03aa82fe Rename kana.xml -> jp-kana.xml. 2011-08-18 18:29:24 +09:00
383c93a415 Fix fit-size calculation. 2011-08-18 18:06:52 +09:00
860fbe8ede Add kana keyboard. 2011-08-18 17:19:38 +09:00
39900bd987 Allow non-keysym symbols in XML. 2011-08-18 17:02:39 +09:00
5c09147551 Optimize container element traversal. 2011-08-18 17:01:48 +09:00
f0929a9bd8 Add Thai keyboard. 2011-08-18 15:23:57 +09:00
786496b3c4 Fix system (xklavier) layout handling. 2011-08-18 14:32:53 +09:00
e5f5c8273e Make GTK3 default. 2011-08-18 14:25:40 +09:00
ca250699ef Remove --model/layouts/options from eekboard-xml. 2011-08-18 12:48:32 +09:00
7f41af3ee7 Change xkb: keyboard type format.
It is now "MODEL/L0(V0);L1(V1);...;Ln(Vn)/O0;O1;...;On".
2011-08-18 12:47:38 +09:00
260dc3fddd Fix example/simple-client. 2011-08-18 12:16:39 +09:00
052c40cc26 Remove serialization code for EekKey, EekSection, and EekKeyboard. 2011-08-18 12:00:54 +09:00
1b5bab9c18 Add eek_init(). 2011-08-18 11:53:44 +09:00
6a7b256676 Remove unnecessary null initialization. 2011-08-18 11:31:01 +09:00
0e135129e2 Read keyboard type from GSettings. 2011-08-18 11:18:55 +09:00
7af6bf13ed Support feedback sounds. 2011-08-18 11:18:27 +09:00
91ed49b65a Make server responsible for loading keyboard files. 2011-08-17 18:19:36 +09:00
84f614528f Use GList instead of GSList in eek-container. 2011-08-17 13:23:19 +09:00
7c0e29fc86 Allow both -l and -d to be given to eekboard-xml. 2011-08-17 13:21:49 +09:00
1f9e4bd576 Fix dock support. 2011-08-16 18:03:20 +09:00
fc0a577dfb Suggest to use ibus focus-listener rather than atspi. 2011-08-16 17:34:15 +09:00
69d16ddce5 Use org.freedesktop.IBus.Panel.Focus{In,Out} instead of InputContext. 2011-08-16 17:24:07 +09:00
984813b154 Adjust the default values of key-repeat options.
Also make "auto-hide-delay" type integer rather than double.
2011-08-16 16:30:17 +09:00
b6beeedc26 Improve key-repeat behavior. 2011-08-16 16:30:13 +09:00
55f7a0d0dc Make sure large key does not overlap with the small key. 2011-08-15 18:13:55 +09:00
7919cc191e Capture motion-notify event. 2011-08-15 18:10:57 +09:00
db0c5088b7 Apply active style to the key under the large key. 2011-08-15 17:49:02 +09:00
cc4b9a6b45 Add cursor keys to us-qwerty map. 2011-08-15 17:25:22 +09:00
f4e33a4ad4 Make sure that large key bounds do not overflow the widget allocation. 2011-08-15 16:45:11 +09:00
0e0fe9ed51 Support key repeat. 2011-08-15 15:18:52 +09:00
20c1f8cbe3 Update to 1.0.1. 2011-08-15 12:50:02 +09:00
f2ee3b4966 Add auto-hide-delay option.
Also fixes GSettings unref in client-main.c.
2011-08-15 12:17:07 +09:00
57a072746e Release dragged key when unmap. 2011-08-15 12:16:44 +09:00
497f21a5bd Remove unused local var. 2011-08-12 16:44:05 +09:00
099c242ad7 Update to 1.0.0. 2011-08-12 16:41:44 +09:00
109eff420c Check "start-fullscreen" GSettings key. 2011-08-12 16:40:45 +09:00
0896096a70 Fix --enable-* configure options. 2011-08-12 16:40:20 +09:00
2d2aea009e Rewrite 15c0a9da using cairo_pattern_set_extend. 2011-08-12 16:25:56 +09:00
0425b4e094 Make sure that IBusBus is connected when setting up DBus message filter. 2011-08-12 15:01:14 +09:00
15c0a9dadf Blank background around a large key when key release. 2011-08-12 15:00:46 +09:00
e09c563cd8 Don't close gdk default display. 2011-06-15 18:08:51 +09:00
218a4a50f6 Make sure to own IBusBus reference in client. 2011-06-15 18:03:40 +09:00
9ab228e8f0 Simplify XKB keycode replace logic. 2011-06-15 17:10:14 +09:00
b30db118f2 Use XkbGetMap instead of XkbGetKeyboard in client. 2011-06-15 15:50:06 +09:00
cccb4f45cd Fix modifier handling when sending keycode with XTest. 2011-06-15 12:53:11 +09:00
54c9d6e35d Use XkbChangeMap to reduce traffic between X server. 2011-06-15 12:26:57 +09:00
da7d11e387 Follow monitors-changed event. 2011-06-14 12:39:46 +09:00
d9073183a7 Borrow XKB keyboard mapping change logic from Caribou. 2011-06-14 12:29:54 +09:00
78480f7577 Make X dock support optional. 2011-06-14 07:14:45 +09:00
1dbf0d70da Add IBus to optional dependencies. 2011-06-14 04:54:41 +09:00
44ee2a9913 Simplify the last commit. 2011-06-14 04:54:28 +09:00
a3a5a51f74 Make the window as dock when fullscreen mode. 2011-06-14 04:23:42 +09:00
1ae4426ec8 Make sure XTest extension is available. 2011-06-13 18:52:06 +09:00
270760bd16 Fix configure output. 2011-06-13 18:37:51 +09:00
5bb20e44fb Place keyboard at the center of screen if fullscreen mode is enabled. 2011-06-13 18:29:06 +09:00
26a2ab725e Move focus-listener setting to dconf from command line option. 2011-06-13 18:28:32 +09:00
9d73b89a4e Use libXtst directly instead of via libfakekey. 2011-06-13 15:26:59 +09:00
606f335496 Unify focus listener configure options. 2011-06-13 14:54:10 +09:00
fe9a02e514 Keep a reference to GSettings handle until server-context is disposed. 2011-06-10 16:57:06 +09:00
f76a835e33 Implement IBus based activation. 2011-06-10 11:43:03 +09:00
e199add701 Don't check clutter-gtk if clutter is disabled. 2011-06-10 11:23:40 +09:00
a744096dd7 Fix URL in *.pc.in. 2011-05-27 17:37:25 +09:00
51a18849c0 Fix clutter-gtk check. 2011-04-28 17:27:59 +09:00
bd303ef10b Add guard to prevent eekboard/eekboard-*.h from being included directly. 2011-04-28 16:47:35 +09:00
1e9ec77b65 Add Vala language binding of libeekboard. 2011-04-28 14:57:56 +09:00
4b409de5ba Add guard to prevent individual headers from being included directly. 2011-04-28 13:03:21 +09:00
66cea3a0b5 Update vala binding API version. 2011-04-28 12:31:24 +09:00
0add617834 Autodetect fakekey, at-spi2-core, clutter, clutter-gtk, python, and vala. 2011-04-28 10:58:42 +09:00
70b0d95d9b Change D-Bus interface name and object path to fedorahosted ones. 2011-04-27 18:25:53 +09:00
cae9c89b64 Allow eekboard UI toolkit to be changed at runtime. 2011-04-27 17:54:20 +09:00
a9d9274e78 Add short label for Meta_{L,R}. 2011-04-22 17:07:44 +09:00
168 changed files with 27177 additions and 4943 deletions

11
.gitignore vendored
View File

@ -4,6 +4,7 @@
*.o
*.so
*~
*.pyc
Makefile
Makefile.in
.deps
@ -41,13 +42,12 @@ eek/*.typelib
eekboard/*.pc
eekboard/*.gir
eekboard/*.typelib
eekboard/eekboard-marshalers.[ch]
tests/eek-simple-test
tests/eek-xkb-test
tests/eek-xml-test
src/eekboard
src/eekboard-server
src/eekboard-xml
src/eekboard-server.service
docs/reference/eek/*.stamp
docs/reference/eek/*.txt
docs/reference/eek/eek.types
@ -76,6 +76,9 @@ po/stamp-it
po/.intltool-merge-cache
bindings/vala/*.vapi
py-compile
data/org.fedorahosted.eekboard.gschema.xml
data/org.fedorahosted.eekboard.gschema.valid
data/eekboard-server.service
data/*.desktop
examples/eekboard-inscript/eekboard-inscript
examples/simple-client/simple-client
examples/eekxml/eekxml

57
README
View File

@ -3,12 +3,12 @@ eekboard - an easy to use virtual keyboard toolkit -*- outline -*-
eekboard is a virtual keyboard software package, including a set of
tools to implement desktop virtual keyboards.
* How to build
* Building
** Dependencies
REQUIRED: GLib2, GTK, PangoCairo, libxklavier, libcroco
OPTIONAL: fakekey, at-spi2-core, Clutter, Clutter-Gtk, Python, Vala, gobject-introspection
OPTIONAL: libXtst, at-spi2-core, IBus, Clutter, Clutter-Gtk, Python, Vala, gobject-introspection, libcanberra
** Build from git repo
@ -24,55 +24,12 @@ OPTIONAL: fakekey, at-spi2-core, Clutter, Clutter-Gtk, Python, Vala, gobject-int
$ make
$ sudo make install
* Using command-line tools
eekboard currently includes 3 tools to implement your own virtual
keyboard.
** eekboard-server
eekboard-server is a D-Bus server which is responsible for drawing
interactive on-screen keyboards. Since it has a D-Bus service
activation entry, you will not need to start it manually, but you can
do that with:
$ eekboard-server &
** eekboard
eekboard is a client of eekboard-server. It listens desktop events
(keyboard change, focus in/out, and keystroke) and generates key
events when some keys are pressed on the on-screen keyboard. It can
be started with:
* Running
$ eekboard
$ eekboard -f # show/hide automatically based on focus-in/focus-out events
By default it renders current system keyboard layout. To read custom
keyboard layout, specify --keyboard option like:
Even though eekboard -f watches a11y events by default, it currently
works better with IBus. To use IBus, do:
$ eekboard --keyboard /usr/share/eekboard/keyboards/us-qwerty.xml
** eekboard-xml
eekboard-xml is a tool to manipulate XML keyboard description read by
eekboard if --keyboard option is specified.
To dump the current system keyboard layout into an XML file:
$ eekboard-xml --dump > keyboard.xml
You can display the dumped layout with:
$ eekboard-xml --load keyboard.xml
* Using library
eekboard currently includes two libraries. One is to access
eekboard-server via D-Bus and another is to manually render on-screen
keyboards.
For the former, see
file:docs/reference/eekboard/html/index.html
For the latter, see
See file:docs/reference/eek/html/index.html
$ gsettings set org.fedorahosted.eekboard focus-listener 'ibus'

View File

@ -16,12 +16,4 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
SUBDIRS =
if ENABLE_PYTHON
SUBDIRS += python
endif
if ENABLE_VALA
SUBDIRS += vala
endif
SUBDIRS = python vala

View File

@ -15,7 +15,13 @@
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
pkgpython_PYTHON = \
__init__.py \
eekboard.py \
if ENABLE_PYTHON
pkgpython_PYTHON = \
__init__.py \
serializable.py \
symbol.py \
keysym.py \
text.py \
client.py \
context.py
endif

View File

@ -15,53 +15,9 @@
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Eek, EekXkl, Gio
from eekboard import Eekboard
from context import Context
Keyboard = Eek.Keyboard
Section = Eek.Section
Key = Eek.Key
Symbol = Eek.Symbol
Keysym = Eek.Keysym
SymbolMatrix = Eek.SymbolMatrix
MODIFIER_BEHAVIOR_NONE, \
MODIFIER_BEHAVIOR_LOCK, \
MODIFIER_BEHAVIOR_LATCH = \
(Eek.ModifierBehavior.NONE,
Eek.ModifierBehavior.LOCK,
Eek.ModifierBehavior.LATCH)
SymbolCategory = Eek.SymbolCategory
CSW = 640
CSH = 480
def XmlKeyboard(path, modifier_behavior=MODIFIER_BEHAVIOR_NONE):
_file = Gio.file_new_for_path(path)
layout = Eek.XmlLayout.new(_file.read())
keyboard = Eek.Keyboard.new(layout, CSW, CSH)
keyboard.set_modifier_behavior(modifier_behavior)
keyboard.set_alt_gr_mask(Eek.ModifierType.MOD5_MASK)
return keyboard
def XklKeyboard(modifier_behavior=MODIFIER_BEHAVIOR_NONE):
layout = EekXkl.Layout.new()
keyboard = Eek.Keyboard.new(layout, CSW, CSH)
keyboard.set_modifier_behavior(modifier_behavior)
return keyboard
__all__ = ['Eekboard',
'Context',
'Keyboard',
'Section',
'Key',
'Symbol',
'Keysym',
'MODIFIER_BEHAVIOR_NONE',
'MODIFIER_BEHAVIOR_LOCK',
'MODIFIER_BEHAVIOR_LATCH',
'XmlKeyboard',
'XklKeyboard']
from symbol import *
from keysym import *
from text import *
from serializable import *
from client import *
from context import *

View File

@ -15,13 +15,15 @@
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Gio
import gi.repository
import dbus
import dbus.mainloop.glib
import gobject
from context import Context
class Eekboard(gobject.GObject):
__gtype_name__ = "PYEekboardEekboard"
dbus.mainloop.glib.DBusGMainLoop(set_as_default = True)
class Client(gobject.GObject):
__gtype_name__ = "PYEekboardClient"
__gsignals__ = {
'destroyed': (
gobject.SIGNAL_RUN_LAST,
@ -30,20 +32,25 @@ class Eekboard(gobject.GObject):
}
def __init__(self):
super(Eekboard, self).__init__()
self.__connection = Gio.bus_get_sync(Gio.BusType.SESSION, None)
self.__eekboard = gi.repository.Eekboard.Eekboard.new(self.__connection, None);
self.__eekboard.connect('destroyed', lambda *args: self.emit('destroyed'))
super(Client, self).__init__()
self.__bus = dbus.SessionBus()
_service = self.__bus.get_object("org.fedorahosted.Eekboard",
"/org/fedorahosted/Eekboard")
self.__service = dbus.Interface(_service, dbus_interface="org.fedorahosted.Eekboard")
self.__service.connect_to_signal("Destroyed", self.__destroyed_cb)
def __destroyed_cb(self):
self.emit("destroyed")
def create_context(self, client_name):
context = self.__eekboard.create_context(client_name, None)
return Context(context)
object_path = self.__service.CreateContext(client_name)
return Context(self.__bus, object_path)
def push_context(self, context):
self.__eekboard.push_context(context.get_giobject(), None)
self.__service.PushContext(context.object_path)
def pop_context(self):
self.__eekboard.pop_context(None)
self.__service.PopContext()
def destroy_context(self, context):
self.__eekboard.destroy_context(context.get_giobject(), None)
self.__service.DestroyContext(context.object_path)

View File

@ -15,8 +15,9 @@
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Eekboard
import dbus
import gobject
import serializable
class Context(gobject.GObject):
__gtype_name__ = "PYEekboardContext"
@ -32,11 +33,7 @@ class Context(gobject.GObject):
'key-pressed': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_UINT,)),
'key-released': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_UINT,)),
(gobject.TYPE_STRING, gobject.TYPE_PYOBJECT, gobject.TYPE_UINT)),
'destroyed': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
@ -44,57 +41,86 @@ class Context(gobject.GObject):
}
__gproperties__ = {
'keyboard-visible': (bool, None, None, False, gobject.PARAM_READWRITE),
'visible': (gobject.TYPE_BOOLEAN, 'Visible', 'Visible',
False, gobject.PARAM_READWRITE),
'keyboard': (gobject.TYPE_UINT, 'Keyboard', 'Keyboard',
0, gobject.G_MAXUINT, 0, gobject.PARAM_READWRITE),
'group': (gobject.TYPE_UINT, 'Group', 'Group',
0, gobject.G_MAXUINT, 0, gobject.PARAM_READWRITE),
}
def __init__(self, giobject):
def __init__(self, bus, object_path):
super(Context, self).__init__()
self.__properties = dict()
self.__giobject = giobject
self.__giobject.connect('enabled', lambda *args: self.emit('enabled'))
self.__giobject.connect('disabled', lambda *args: self.emit('disabled'))
self.__giobject.connect('key-pressed', lambda *args: self.emit('key-pressed', args[1]))
self.__giobject.connect('key-released', lambda *args: self.emit('key-released', args[1]))
self.__giobject.connect('destroyed', lambda *args: self.emit('destroyed'))
self.__giobject.connect('notify::keyboard-visible', self.__notify_keyboard_visible_cb)
self.__bus = bus
self.__object_path = object_path
self.__properties = {}
_context = self.__bus.get_object("org.fedorahosted.Eekboard",
object_path)
self.__context = dbus.Interface(_context, dbus_interface="org.fedorahosted.Eekboard.Context")
self.__context.connect_to_signal('Enabled', self.__enabled_cb)
self.__context.connect_to_signal('Disabled', self.__disabled_cb)
self.__context.connect_to_signal('KeyActivated', self.__key_pressed_cb)
self.__context.connect_to_signal('Destroyed', self.__destroyed_cb)
self.__context.connect_to_signal('VisibilityChanged', self.__visibility_changed_cb)
self.__context.connect_to_signal('KeyboardChanged', self.__keyboard_changed_cb)
self.__context.connect_to_signal('GroupChanged', self.__group_changed_cb)
object_path = property(lambda self: self.__object_path)
def __enabled_cb(self):
self.emit('enabled')
def __disabled_cb(self):
self.emit('disabled')
def __key_pressed_cb(self, *args):
keyname = args[0]
symbol = serializable.deserialize_object(args[1])
modifiers = args[2]
self.emit('key-pressed', keyname, symbol, modifiers)
def __visibility_changed_cb(self, *args):
self.set_property('visible', args[0])
self.notify('visible')
def __keyboard_changed_cb(self, *args):
self.set_property('keyboard', args[0])
self.notify('keyboard')
def __group_changed_cb(self, *args):
self.set_property('group', args[0])
self.notify('group')
def __destroyed_cb(self):
self.emit("destroyed")
def do_set_property(self, pspec, value):
self.__properties[pspec.name] = value
def do_get_property(self, pspec):
return self.__properties[pspec.name]
return self.__properties.get(pspec.name, pspec.default_value)
def __notify_keyboard_visible_cb(self, *args):
self.set_property('keyboard-visible',
self.__giobject.get_property(args[1].name))
self.notify('keyboard-visible')
def get_giobject(self):
return self.__giobject
def add_keyboard(self, keyboard):
return self.__giobject.add_keyboard(keyboard, None)
def add_keyboard(self, keyboard_type):
return self.__context.AddKeyboard(keyboard_type)
def remove_keyboard(self, keyboard_id):
return self.__giobject.remove_keyboard(keyboard_id, None)
return self.__context.RemoveKeyboard(keyboard_id)
def set_keyboard(self, keyboard_id):
self.__giobject.set_keyboard(keyboard_id, None)
self.__context.SetKeyboard(keyboard_id)
def show_keyboard(self):
self.__giobject.show_keyboard(None)
self.__context.ShowKeyboard()
def hide_keyboard(self):
self.__giobject.hide_keyboard(None)
self.__context.HideKeyboard()
def set_group(self, group):
self.__giobject.set_group(group, None)
self.__context.SetGroup(group)
def press_key(self, keycode):
self.__giobject.press_key(keycode, None)
def press_keycode(self, keycode):
self.__context.PressKeycode(keycode)
def release_key(self, keycode):
self.__giobject.release_key(keycode, None)
def is_enabled(self):
return self.__giobject.is_enabled()
def release_keycode(self, keycode):
self.__context.ReleaseKeycode(keycode)

View File

@ -0,0 +1,35 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
import symbol
class Keysym(symbol.Symbol):
__gtype_name__ = "PYEekKeysym"
__NAME__ = "EekKeysym"
def __init__(self):
super(Keysym, self).__init__()
xkeysym = property(lambda self: self.__xkeysym)
def serialize(self, struct):
super(Keysym, self).serialize(struct)
struct.append(dbus.UInt32(self.__xkeysym))
def deserialize(self, struct):
super(Keysym, self).deserialize(struct)
self.__xkeysym = struct.pop(0)

View File

@ -0,0 +1,76 @@
# vim:set et sts=4 sw=4:
#
# ibus - The Input Bus
#
# Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
# Copyright (c) 2007-2010 Red Hat, Inc.
#
# 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 program; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307 USA
__all__ = (
"Serializable",
"serialize_object",
"deserialize_object",
)
import dbus
import gobject
__serializable_name_dict = dict()
def serializable_register(classobj):
# if not issubclass(classobj, Serializable):
# raise "%s is not a sub-class of Serializable" % str(classobj)
__serializable_name_dict[classobj.__NAME__] = classobj
def serialize_object(o):
if isinstance(o, Serializable):
l = [o.__NAME__]
o.serialize(l)
return dbus.Struct(l)
else:
return o
def deserialize_object(v):
if isinstance(v, tuple):
struct = list(v)
type_name = struct.pop(0)
type_class = __serializable_name_dict[type_name]
o = type_class()
o.deserialize (struct)
return o
return v
class SerializableMeta(gobject.GObjectMeta):
def __init__(cls, name, bases, dict_):
super(SerializableMeta, cls).__init__(name, bases, dict_)
if "__NAME__" in cls.__dict__:
serializable_register(cls)
class Serializable(gobject.GObject):
__metaclass__ = SerializableMeta
__gtype_name__ = "PYEekSerializable"
__NAME__ = "EekSerializable"
def __init__(self):
super(Serializable, self).__init__()
def serialize(self, struct):
pass
def deserialize(self, struct):
pass
__serializable_name_dict["EekSerializable"] = Serializable

View File

@ -0,0 +1,47 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
import serializable
class Symbol(serializable.Serializable):
__gtype_name__ = "PYEekSymbol"
__NAME__ = "EekSymbol"
def __init__(self):
super(Symbol, self).__init__()
name = property(lambda self: self.__name)
label = property(lambda self: self.__label)
category = property(lambda self: self.__category)
modifier_mask = property(lambda self: self.__modifier_mask)
icon_name = property(lambda self: self.__icon_name)
def serialize(self, struct):
super(Symbol, self).serialize(struct)
struct.append(dbus.String(self.__name))
struct.append(dbus.String(self.__label))
struct.append(dbus.UInt32(self.__category))
struct.append(dbus.UInt32(self.__modifier_mask))
struct.append(dbus.String(self.__icon_name))
def deserialize(self, struct):
super(Symbol, self).deserialize(struct)
self.__name = struct.pop(0)
self.__label = struct.pop(0)
self.__category = struct.pop(0)
self.__modifier_mask = struct.pop(0)
self.__icon_name = struct.pop(0)

View File

@ -0,0 +1,35 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
import symbol
class Text(symbol.Symbol):
__gtype_name__ = "PYEekText"
__NAME__ = "EekText"
def __init__(self):
super(Text, self).__init__()
text = property(lambda self: self.__text)
def serialize(self, struct):
super(Text, self).serialize(struct)
struct.append(dbus.String(self.__text))
def deserialize(self, struct):
super(Text, self).deserialize(struct)
self.__text = struct.pop(0)

View File

@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
if ENABLE_VALA
vapidir = $(datadir)/vala/vapi
dist_vapi_DATA = \
eek-$(EEK_API_VERSION).vapi \
@ -26,25 +27,51 @@ dist_vapi_DATA = \
MAINTAINERCLEANFILES = $(dist_vapi_DATA)
eek-$(EEK_API_VERSION).vapi:
vapigen --library eek-$(EEK_API_VERSION) \
$(VAPIGEN_V)$(VAPIGEN) \
--library eek-$(EEK_API_VERSION) \
--pkg gio-2.0 \
eek-$(EEK_API_VERSION)/eek-$(EEK_API_VERSION).gi
eek-clutter-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-clutter-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg clutter-1.0 \
$(VAPIGEN_V)$(VAPIGEN) --vapidir=$(builddir) \
--library eek-clutter-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
--pkg clutter-1.0 \
--pkg gio-2.0 \
--pkg atk \
eek-clutter-$(EEK_API_VERSION)/eek-clutter-$(EEK_API_VERSION).gi
eek-gtk-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-gtk-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg gtk+-2.0 \
$(VAPIGEN_V)$(VAPIGEN) --vapidir=$(builddir) \
--library eek-gtk-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
--pkg gtk+-2.0 \
eek-gtk-$(EEK_API_VERSION)/eek-gtk-$(EEK_API_VERSION).gi
eek-xkb-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-xkb-$(EEK_API_VERSION) \
$(VAPIGEN_V)$(VAPIGEN) --vapidir=$(builddir) \
--library eek-xkb-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
--pkg gio-2.0 \
eek-xkb-$(EEK_API_VERSION)/eek-xkb-$(EEK_API_VERSION).gi
eek-xkl-$(EEK_API_VERSION).vapi: eek-xkb-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-xkl-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg eek-xkb-$(EEK_API_VERSION) \
$(VAPIGEN_V)$(VAPIGEN) --vapidir=$(builddir) \
--library eek-xkl-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
--pkg eek-xkb-$(EEK_API_VERSION) --pkg gio-2.0 \
eek-xkl-$(EEK_API_VERSION)/eek-xkl-$(EEK_API_VERSION).gi
eekboard-$(EEK_API_VERSION).vapi:
$(VAPIGEN_V)$(VAPIGEN) \
--library eekboard-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
--pkg gio-2.0 \
eek-$(EEK_API_VERSION)/eek-$(EEK_API_VERSION).gi
# set up the verbosity rules to avoid some build noise
VAPIGEN_V = $(VAPIGEN_V_$(V))
VAPIGEN_V_ = $(VAPIGEN_V_$(AM_DEFAULT_VERBOSITY))
VAPIGEN_V_0 = @echo " VAPIG " $@;
endif

View File

@ -0,0 +1,2 @@
-DEEK_COMPILATION=1

View File

@ -1,9 +1,16 @@
include/eek-0.1/eek/eek-layout.h
include/eek-0.1/eek/eek-element.h
include/eek-0.1/eek/eek-container.h
include/eek-0.1/eek/eek-keyboard.h
include/eek-0.1/eek/eek-section.h
include/eek-0.1/eek/eek-key.h
include/eek-0.1/eek/eek-types.h
include/eek-0.1/eek/eek-keysym.h
include/eek-0.90/eek/eek-container.h
include/eek-0.90/eek/eek-element.h
include/eek-0.90/eek/eek-enumtypes.h
include/eek-0.90/eek/eek-keyboard.h
include/eek-0.90/eek/eek-key.h
include/eek-0.90/eek/eek-keysym.h
include/eek-0.90/eek/eek-layout.h
include/eek-0.90/eek/eek-section.h
include/eek-0.90/eek/eek-serializable.h
include/eek-0.90/eek/eek-symbol.h
include/eek-0.90/eek/eek-symbol-matrix.h
include/eek-0.90/eek/eek-theme.h
include/eek-0.90/eek/eek-types.h
include/eek-0.90/eek/eek-xml.h
include/eek-0.90/eek/eek-xml-layout.h
lib/libeek.so

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
-DEEK_COMPILATION=1

View File

@ -1,6 +1,2 @@
include/eek-0.1/eek/eek-clutter-keyboard.h
include/eek-0.1/eek/eek-clutter-section.h
include/eek-0.1/eek/eek-clutter-key.h
include/eek-0.1/eek/eek-clutter-drawing-context.h
include/eek-0.90/eek/eek-clutter-keyboard.h
lib/libeek-clutter.so

View File

@ -1,85 +1,28 @@
<?xml version="1.0"?>
<api version="1.0">
<namespace name="EekClutter">
<object name="EekClutterDrawingContext" parent="GInitiallyUnowned" type-name="EekClutterDrawingContext" get-type="eek_clutter_drawing_context_get_type">
<method name="get_category_font" symbol="eek_clutter_drawing_context_get_category_font">
<return-type type="PangoFontDescription*"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
<parameter name="category" type="EekKeysymCategory"/>
</parameters>
</method>
<method name="get_outline_texture" symbol="eek_clutter_drawing_context_get_outline_texture">
<object name="EekClutterKeyboard" parent="ClutterGroup" type-name="EekClutterKeyboard" get-type="eek_clutter_keyboard_get_type">
<implements>
<interface name="ClutterScriptable"/>
<interface name="ClutterAnimatable"/>
<interface name="AtkImplementor"/>
<interface name="ClutterContainer"/>
</implements>
<constructor name="new" symbol="eek_clutter_keyboard_new">
<return-type type="ClutterActor*"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
<parameter name="outline" type="EekOutline*"/>
</parameters>
</method>
<constructor name="new" symbol="eek_clutter_drawing_context_new">
<return-type type="EekClutterDrawingContext*"/>
</constructor>
<method name="set_category_font" symbol="eek_clutter_drawing_context_set_category_font">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
<parameter name="category" type="EekKeysymCategory"/>
<parameter name="fonts" type="PangoFontDescription*"/>
</parameters>
</method>
<method name="set_outline_texture" symbol="eek_clutter_drawing_context_set_outline_texture">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
<parameter name="outline" type="EekOutline*"/>
<parameter name="texture" type="ClutterActor*"/>
</parameters>
</method>
</object>
<object name="EekClutterKey" parent="EekKey" type-name="EekClutterKey" get-type="eek_clutter_key_get_type">
<method name="get_actor" symbol="eek_clutter_key_get_actor">
<return-type type="ClutterActor*"/>
<parameters>
<parameter name="key" type="EekClutterKey*"/>
</parameters>
</method>
<constructor name="new" symbol="eek_clutter_key_new">
<return-type type="EekKey*"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
<parameter name="column" type="gint"/>
<parameter name="row" type="gint"/>
<parameter name="keyboard" type="EekKeyboard*"/>
</parameters>
</constructor>
</object>
<object name="EekClutterKeyboard" parent="EekKeyboard" type-name="EekClutterKeyboard" get-type="eek_clutter_keyboard_get_type">
<method name="get_actor" symbol="eek_clutter_keyboard_get_actor">
<return-type type="ClutterActor*"/>
<method name="set_theme" symbol="eek_clutter_keyboard_set_theme">
<return-type type="void"/>
<parameters>
<parameter name="keyboard" type="EekClutterKeyboard*"/>
<parameter name="theme" type="EekTheme*"/>
</parameters>
</method>
<constructor name="new" symbol="eek_clutter_keyboard_new">
<return-type type="EekKeyboard*"/>
</constructor>
<property name="keyboard" type="EekKeyboard*" readable="0" writable="1" construct="0" construct-only="1"/>
</object>
<object name="EekClutterSection" parent="EekSection" type-name="EekClutterSection" get-type="eek_clutter_section_get_type">
<method name="get_actor" symbol="eek_clutter_section_get_actor">
<return-type type="ClutterActor*"/>
<parameters>
<parameter name="section" type="EekClutterSection*"/>
</parameters>
</method>
<constructor name="new" symbol="eek_clutter_section_new">
<return-type type="EekSection*"/>
<parameters>
<parameter name="context" type="EekClutterDrawingContext*"/>
</parameters>
</constructor>
</object>
<constant name="EEK_CLUTTER_DRAWING_CONTEXT_H" type="int" value="1"/>
<constant name="EEK_CLUTTER_KEYBOARD_H" type="int" value="1"/>
<constant name="EEK_CLUTTER_KEY_H" type="int" value="1"/>
<constant name="EEK_CLUTTER_SECTION_H" type="int" value="1"/>
</namespace>
</api>

View File

@ -0,0 +1,2 @@
-DEEK_COMPILATION=1

View File

@ -1,3 +1,2 @@
include/eek-0.1/eek/eek-gtk-keyboard.h
include/eek-0.1/eek/eek-gtk.h
include/eek-0.90/eek/eek-gtk-keyboard.h
lib/libeek-gtk.so

View File

@ -1,18 +1,26 @@
<?xml version="1.0"?>
<api version="1.0">
<namespace name="EekGtk">
<object name="EekGtkKeyboard" parent="EekKeyboard" type-name="EekGtkKeyboard" get-type="eek_gtk_keyboard_get_type">
<method name="get_widget" symbol="eek_gtk_keyboard_get_widget">
<object name="EekGtkKeyboard" parent="GtkDrawingArea" type-name="EekGtkKeyboard" get-type="eek_gtk_keyboard_get_type">
<implements>
<interface name="AtkImplementor"/>
<interface name="GtkBuildable"/>
</implements>
<constructor name="new" symbol="eek_gtk_keyboard_new">
<return-type type="GtkWidget*"/>
<parameters>
<parameter name="keyboard" type="EekKeyboard*"/>
</parameters>
</constructor>
<method name="set_theme" symbol="eek_gtk_keyboard_set_theme">
<return-type type="void"/>
<parameters>
<parameter name="keyboard" type="EekGtkKeyboard*"/>
<parameter name="theme" type="EekTheme*"/>
</parameters>
</method>
<constructor name="new" symbol="eek_gtk_keyboard_new">
<return-type type="EekKeyboard*"/>
</constructor>
<property name="keyboard" type="EekKeyboard*" readable="0" writable="1" construct="0" construct-only="1"/>
</object>
<constant name="EEK_GTK_H" type="int" value="1"/>
<constant name="EEK_GTK_KEYBOARD_H" type="int" value="1"/>
</namespace>
</api>

View File

@ -0,0 +1,2 @@
-DEEK_COMPILATION=1

View File

@ -1,2 +1,2 @@
include/eek-0.1/eek/eek-xkb-layout.h
include/eek-0.90/eek/eek-xkb-layout.h
lib/libeek-xkb.so

View File

@ -1,10 +1,7 @@
<?xml version="1.0"?>
<api version="1.0">
<namespace name="EekXkb">
<object name="EekXkbLayout" parent="GInitiallyUnowned" type-name="EekXkbLayout" get-type="eek_xkb_layout_get_type">
<implements>
<interface name="EekLayout"/>
</implements>
<object name="EekXkbLayout" parent="EekLayout" type-name="EekXkbLayout" get-type="eek_xkb_layout_get_type">
<method name="get_geometry" symbol="eek_xkb_layout_get_geometry">
<return-type type="gchar*"/>
<parameters>
@ -40,7 +37,6 @@
<parameter name="keycodes" type="gchar*"/>
</parameters>
</method>
<!--
<method name="set_names" symbol="eek_xkb_layout_set_names">
<return-type type="gboolean"/>
<parameters>
@ -48,7 +44,19 @@
<parameter name="names" type="XkbComponentNamesRec*"/>
</parameters>
</method>
-->
<method name="set_names_full" symbol="eek_xkb_layout_set_names_full">
<return-type type="gboolean"/>
<parameters>
<parameter name="layout" type="EekXkbLayout*"/>
</parameters>
</method>
<method name="set_names_full_valist" symbol="eek_xkb_layout_set_names_full_valist">
<return-type type="gboolean"/>
<parameters>
<parameter name="layout" type="EekXkbLayout*"/>
<parameter name="var_args" type="va_list"/>
</parameters>
</method>
<method name="set_symbols" symbol="eek_xkb_layout_set_symbols">
<return-type type="gboolean"/>
<parameters>

View File

@ -1 +1,2 @@
EekXkb cheader_filename="eek/eek-xkb.h"
eek_xkb_layout_set_names hidden="1"

View File

@ -0,0 +1,2 @@
-DEEK_COMPILATION=1

View File

@ -1,3 +1,2 @@
include/eek-0.1/eek/eek-xkl-layout.h
include/eek-0.90/eek/eek-xkl-layout.h
lib/libeek-xkl.so

View File

@ -2,9 +2,6 @@
<api version="1.0">
<namespace name="EekXkl">
<object name="EekXklLayout" parent="EekXkbLayout" type-name="EekXklLayout" get-type="eek_xkl_layout_get_type">
<implements>
<interface name="EekLayout"/>
</implements>
<method name="disable_option" symbol="eek_xkl_layout_disable_option">
<return-type type="gboolean"/>
<parameters>
@ -53,6 +50,23 @@
<constructor name="new" symbol="eek_xkl_layout_new">
<return-type type="EekLayout*"/>
</constructor>
<method name="set_config" symbol="eek_xkl_layout_set_config">
<return-type type="gboolean"/>
<parameters>
<parameter name="layout" type="EekXklLayout*"/>
<parameter name="config" type="XklConfigRec*"/>
</parameters>
</method>
<method name="set_config_full" symbol="eek_xkl_layout_set_config_full">
<return-type type="gboolean"/>
<parameters>
<parameter name="layout" type="EekXklLayout*"/>
<parameter name="model" type="gchar*"/>
<parameter name="layouts" type="gchar**"/>
<parameter name="variants" type="gchar**"/>
<parameter name="options" type="gchar**"/>
</parameters>
</method>
<method name="set_layouts" symbol="eek_xkl_layout_set_layouts">
<return-type type="gboolean"/>
<parameters>

View File

@ -1 +1,2 @@
EekXkl cheader_filename="eek/eek-xkl.h"
eek_xkl_layout_set_config hidden="1"

View File

@ -0,0 +1,2 @@
-DEEKBOARD_COMPILATION

View File

@ -0,0 +1,2 @@
include/eekboard-0.90/eekboard
lib/libeekboard.so

View File

@ -0,0 +1,340 @@
<?xml version="1.0"?>
<api version="1.0">
<namespace name="Eekboard">
<function name="xkl_config_rec_from_string" symbol="eekboard_xkl_config_rec_from_string">
<return-type type="XklConfigRec*"/>
<parameters>
<parameter name="layouts" type="gchar*"/>
</parameters>
</function>
<function name="xkl_config_rec_to_string" symbol="eekboard_xkl_config_rec_to_string">
<return-type type="gchar*"/>
<parameters>
<parameter name="rec" type="XklConfigRec*"/>
</parameters>
</function>
<function name="xkl_list_layout_variants" symbol="eekboard_xkl_list_layout_variants">
<return-type type="GSList*"/>
<parameters>
<parameter name="registry" type="XklConfigRegistry*"/>
<parameter name="layout" type="gchar*"/>
</parameters>
</function>
<function name="xkl_list_layouts" symbol="eekboard_xkl_list_layouts">
<return-type type="GSList*"/>
<parameters>
<parameter name="registry" type="XklConfigRegistry*"/>
</parameters>
</function>
<function name="xkl_list_models" symbol="eekboard_xkl_list_models">
<return-type type="GSList*"/>
<parameters>
<parameter name="registry" type="XklConfigRegistry*"/>
</parameters>
</function>
<function name="xkl_list_option_groups" symbol="eekboard_xkl_list_option_groups">
<return-type type="GSList*"/>
<parameters>
<parameter name="registry" type="XklConfigRegistry*"/>
</parameters>
</function>
<function name="xkl_list_options" symbol="eekboard_xkl_list_options">
<return-type type="GSList*"/>
<parameters>
<parameter name="registry" type="XklConfigRegistry*"/>
<parameter name="group" type="gchar*"/>
</parameters>
</function>
<object name="EekboardClient" parent="GDBusProxy" type-name="EekboardClient" get-type="eekboard_client_get_type">
<implements>
<interface name="GInitable"/>
<interface name="GAsyncInitable"/>
</implements>
<method name="create_context" symbol="eekboard_client_create_context">
<return-type type="EekboardContext*"/>
<parameters>
<parameter name="eekboard" type="EekboardClient*"/>
<parameter name="client_name" type="gchar*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="destroy_context" symbol="eekboard_client_destroy_context">
<return-type type="void"/>
<parameters>
<parameter name="eekboard" type="EekboardClient*"/>
<parameter name="context" type="EekboardContext*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<constructor name="new" symbol="eekboard_client_new">
<return-type type="EekboardClient*"/>
<parameters>
<parameter name="connection" type="GDBusConnection*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</constructor>
<method name="pop_context" symbol="eekboard_client_pop_context">
<return-type type="void"/>
<parameters>
<parameter name="eekboard" type="EekboardClient*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="push_context" symbol="eekboard_client_push_context">
<return-type type="void"/>
<parameters>
<parameter name="eekboard" type="EekboardClient*"/>
<parameter name="context" type="EekboardContext*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<signal name="destroyed" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardClient*"/>
</parameters>
</signal>
</object>
<object name="EekboardContext" parent="GDBusProxy" type-name="EekboardContext" get-type="eekboard_context_get_type">
<implements>
<interface name="GInitable"/>
<interface name="GAsyncInitable"/>
</implements>
<method name="add_keyboard" symbol="eekboard_context_add_keyboard">
<return-type type="guint"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="keyboard" type="gchar*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="get_group" symbol="eekboard_context_get_group">
<return-type type="gint"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="hide_keyboard" symbol="eekboard_context_hide_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="is_enabled" symbol="eekboard_context_is_enabled">
<return-type type="gboolean"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
</parameters>
</method>
<method name="is_keyboard_visible" symbol="eekboard_context_is_keyboard_visible">
<return-type type="gboolean"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
</parameters>
</method>
<constructor name="new" symbol="eekboard_context_new">
<return-type type="EekboardContext*"/>
<parameters>
<parameter name="connection" type="GDBusConnection*"/>
<parameter name="object_path" type="gchar*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</constructor>
<method name="press_keycode" symbol="eekboard_context_press_keycode">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="keycode" type="guint"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="release_keycode" symbol="eekboard_context_release_keycode">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="keycode" type="guint"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="remove_keyboard" symbol="eekboard_context_remove_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="keyboard_id" type="guint"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="set_enabled" symbol="eekboard_context_set_enabled">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="enabled" type="gboolean"/>
</parameters>
</method>
<method name="set_fullscreen" symbol="eekboard_context_set_fullscreen">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="fullscreen" type="gboolean"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="set_group" symbol="eekboard_context_set_group">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="group" type="gint"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="set_keyboard" symbol="eekboard_context_set_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="keyboard_id" type="guint"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<method name="show_keyboard" symbol="eekboard_context_show_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContext*"/>
<parameter name="cancellable" type="GCancellable*"/>
</parameters>
</method>
<property name="visible" type="gboolean" readable="1" writable="0" construct="0" construct-only="0"/>
<signal name="destroyed" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContext*"/>
</parameters>
</signal>
<signal name="disabled" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContext*"/>
</parameters>
</signal>
<signal name="enabled" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContext*"/>
</parameters>
</signal>
<signal name="key-pressed" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContext*"/>
<parameter name="keyname" type="char*"/>
<parameter name="symbol" type="GObject*"/>
<parameter name="modifiers" type="guint"/>
</parameters>
</signal>
</object>
<object name="EekboardContextService" parent="GObject" type-name="EekboardContextService" get-type="eekboard_context_service_get_type">
<method name="disable" symbol="eekboard_context_service_disable">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContextService*"/>
</parameters>
</method>
<method name="enable" symbol="eekboard_context_service_enable">
<return-type type="void"/>
<parameters>
<parameter name="context" type="EekboardContextService*"/>
</parameters>
</method>
<method name="get_client_name" symbol="eekboard_context_service_get_client_name">
<return-type type="gchar*"/>
<parameters>
<parameter name="context" type="EekboardContextService*"/>
</parameters>
</method>
<method name="get_fullscreen" symbol="eekboard_context_service_get_fullscreen">
<return-type type="gboolean"/>
<parameters>
<parameter name="context" type="EekboardContextService*"/>
</parameters>
</method>
<method name="get_keyboard" symbol="eekboard_context_service_get_keyboard">
<return-type type="EekKeyboard*"/>
<parameters>
<parameter name="context" type="EekboardContextService*"/>
</parameters>
</method>
<property name="client-name" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="connection" type="GDBusConnection*" readable="1" writable="1" construct="1" construct-only="0"/>
<property name="fullscreen" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="keyboard" type="EekKeyboard*" readable="1" writable="1" construct="0" construct-only="0"/>
<property name="object-path" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
<property name="visible" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
<signal name="disabled" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContextService*"/>
</parameters>
</signal>
<signal name="enabled" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContextService*"/>
</parameters>
</signal>
<vfunc name="create_keyboard">
<return-type type="EekKeyboard*"/>
<parameters>
<parameter name="self" type="EekboardContextService*"/>
<parameter name="keyboard_type" type="gchar*"/>
</parameters>
</vfunc>
<vfunc name="hide_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContextService*"/>
</parameters>
</vfunc>
<vfunc name="show_keyboard">
<return-type type="void"/>
<parameters>
<parameter name="self" type="EekboardContextService*"/>
</parameters>
</vfunc>
</object>
<object name="EekboardService" parent="GObject" type-name="EekboardService" get-type="eekboard_service_get_type">
<constructor name="new" symbol="eekboard_service_new">
<return-type type="EekboardService*"/>
<parameters>
<parameter name="object_path" type="gchar*"/>
<parameter name="connection" type="GDBusConnection*"/>
</parameters>
</constructor>
<property name="connection" type="GDBusConnection*" readable="1" writable="1" construct="1" construct-only="0"/>
<property name="object-path" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
<signal name="destroyed" when="LAST">
<return-type type="void"/>
<parameters>
<parameter name="object" type="EekboardService*"/>
</parameters>
</signal>
<vfunc name="create_context">
<return-type type="EekboardContextService*"/>
<parameters>
<parameter name="self" type="EekboardService*"/>
<parameter name="client_name" type="gchar*"/>
<parameter name="object_path" type="gchar*"/>
</parameters>
</vfunc>
</object>
<constant name="EEKBOARD_CLIENT_H" type="int" value="1"/>
<constant name="EEKBOARD_CONTEXT_H" type="int" value="1"/>
<constant name="EEKBOARD_CONTEXT_SERVICE_H" type="int" value="1"/>
<constant name="EEKBOARD_CONTEXT_SERVICE_INTERFACE" type="char*" value="org.fedorahosted.Eekboard.Context"/>
<constant name="EEKBOARD_CONTEXT_SERVICE_PATH" type="char*" value="/org/fedorahosted/Eekboard/Context_%d"/>
<constant name="EEKBOARD_SERVICE_H" type="int" value="1"/>
<constant name="EEKBOARD_SERVICE_INTERFACE" type="char*" value="org.fedorahosted.Eekboard"/>
<constant name="EEKBOARD_SERVICE_PATH" type="char*" value="/org/fedorahosted/Eekboard"/>
<constant name="EEKBOARD_XKLUTIL_H" type="int" value="1"/>
</namespace>
</api>

View File

@ -0,0 +1 @@
Eekboard cheader_filename="eekboard/eekboard.h"

View File

@ -0,0 +1 @@
Eekboard

View File

@ -20,7 +20,7 @@ AC_PREREQ(2.63)
dnl AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
AC_INIT([eekboard], [0.90.7], [ueno@unixuser.org])
AC_INIT([eekboard], [1.0.3], [ueno@unixuser.org])
dnl Init automake
AM_INIT_AUTOMAKE
@ -46,12 +46,12 @@ IT_PROG_INTLTOOL([0.35.0])
AC_MSG_CHECKING([which gtk+ version to compile against])
AC_ARG_WITH([gtk],
[AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
[AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 3.0)])],
[case "$with_gtk" in
2.0|3.0) ;;
*) AC_MSG_ERROR([invalid gtk version specified]) ;;
esac],
[with_gtk=2.0])
[with_gtk=3.0])
AC_MSG_RESULT([$with_gtk])
case "$with_gtk" in
@ -89,6 +89,8 @@ PKG_CHECK_MODULES([GLIB2], [glib-2.0 >= 2.26.0], ,
[AC_MSG_ERROR([GLib2 not found])])
PKG_CHECK_MODULES([GIO2], [gio-2.0], ,
[AC_MSG_ERROR([Gio2 not found])])
GLIB_GSETTINGS
PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo], ,
[AC_MSG_ERROR([PangoCairo not found])])
PKG_CHECK_MODULES([GTK], [
@ -102,114 +104,209 @@ PKG_CHECK_MODULES([LIBXKLAVIER], [libxklavier x11], ,
PKG_CHECK_MODULES([LIBCROCO], [libcroco-0.6], ,
[AC_MSG_ERROR([libcroco not found])])
dnl use libfakekey to generate key events
AC_MSG_CHECKING([whether you enable fakekey])
AC_ARG_ENABLE(fakekey,
AS_HELP_STRING([--enable-fakekey=no/yes],
[Enable fakekey default=yes]),,
enable_fakekey=yes)
dnl use XTest to generate key events
AC_MSG_CHECKING([whether you enable XTest])
AC_ARG_ENABLE(xtest,
AS_HELP_STRING([--enable-xtest=no/yes],
[Enable XTest default=yes]),
enable_xtest=$enableval,
enable_xtest=yes)
if test x$enable_fakekey = xyes; then
PKG_CHECK_MODULES([FAKEKEY], [libfakekey], ,
[AC_MSG_ERROR([fakekey not found])])
AC_DEFINE([HAVE_FAKEKEY], [1], [Define if fakekey is found])
if test x$enable_xtest = xyes; then
PKG_CHECK_MODULES([XTEST], [xtst], , enable_xtest=no)
if test x$enable_xtest = xyes; then
AC_DEFINE([HAVE_XTEST], [1], [Define if XTest is found])
fi
fi
AM_CONDITIONAL(ENABLE_FAKEKEY, [test x$enable_fakekey = xyes])
AC_MSG_RESULT($enable_fakekey)
AM_CONDITIONAL(ENABLE_XTEST, [test x$enable_xtest = xyes])
AC_MSG_RESULT($enable_xtest)
dnl use X to mark the fullscreen window as dock
AC_MSG_CHECKING([whether you enable X dock])
AC_ARG_ENABLE(x-dock,
AS_HELP_STRING([--enable-x-dock=no/yes],
[Enable X dock default=yes]),
enable_x_dock=$enableval,
enable_x_dock=yes)
if test x$enable_x_dock = xyes; then
PKG_CHECK_MODULES([XDOCK], [x11], , enable_x_dock=no)
if test x$enable_x_dock = xyes; then
AC_DEFINE([HAVE_XDOCK], [1], [Define if X dock is found])
fi
fi
AM_CONDITIONAL(ENABLE_XDOCK, [test x$enable_x_dock = xyes])
AC_MSG_RESULT($enable_x_dock)
focus_listeners=""
keystroke_listeners=""
focus_listeners=""
keystroke_listeners=""
dnl use AT-SPI 2 to capture focus/keystroke events
AC_MSG_CHECKING([whether you enable AT-SPI 2 event handling])
AC_ARG_ENABLE(atspi,
AS_HELP_STRING([--enable-atspi=no/yes],
[Enable AT-SPI 2 event handling default=no]),,
enable_atspi=no)
[Enable AT-SPI 2 event handling default=yes]),
enable_atspi=$enableval,
enable_atspi=yes)
if test x$enable_atspi = xyes; then
PKG_CHECK_MODULES([ATSPI2], [atspi-2 dbus-glib-1], ,
[AC_MSG_ERROR([AT-SPI 2 not found])])
AC_DEFINE([HAVE_ATSPI], [1], [Define if AT-SPI 2 is found])
PKG_CHECK_MODULES([ATSPI2], [atspi-2 dbus-glib-1], , enable_atspi=no)
if test x$enable_atspi = xyes; then
AC_DEFINE([HAVE_ATSPI], [1], [Define if AT-SPI 2 is found])
focus_listeners="atspi $focus_listeners"
keystroke_listeners="atspi $keystroke_listeners"
fi
fi
AC_MSG_RESULT($enable_atspi)
AM_CONDITIONAL(ENABLE_ATSPI, [test x$enable_atspi = xyes])
dnl use IBus to capture focus events
AC_MSG_CHECKING([whether you enable IBus focus tracking])
AC_ARG_ENABLE(ibus,
AS_HELP_STRING([--enable-ibus=no/yes],
[Enable IBus focus tracking default=yes]),
enable_ibus=$enableval,
enable_ibus=yes)
if test x$enable_ibus = xyes; then
PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.3.99], , enable_ibus=no)
if test x$enable_ibus = xyes; then
AC_DEFINE([HAVE_IBUS], [1], [Define if IBus is found])
focus_listeners="ibus $focus_listeners"
fi
fi
AC_MSG_RESULT($enable_ibus)
AM_CONDITIONAL(ENABLE_IBUS, [test x$enable_ibus = xyes])
if test -n "$focus_listeners"; then
AC_DEFINE(ENABLE_FOCUS_LISTENER, [1], [Define if eekboard can follow focus changes])
fi
dnl Python language binding
AC_MSG_CHECKING([whether you enable Python language support])
AC_ARG_ENABLE(python,
AS_HELP_STRING([--enable-python=no/yes],
[Enable Python language binding default=yes]),,
[Enable Python language binding default=yes]),
enable_python=$enableval,
enable_python=yes)
AC_MSG_RESULT($enable_python)
AM_CONDITIONAL(ENABLE_PYTHON, [test x$enable_python = xyes])
dnl check python unconditionally to re-generate
dnl eek/*-keysym-labels.txt when maintainer-mode enabled
AM_PATH_PYTHON([2.5], , enable_python=no)
if test x"$enable_python" = x"yes"; then
# check python
AM_PATH_PYTHON([2.5])
AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
if test x"$PYTHON_CONFIG" = x""; then
AC_PATH_PROG(PYTHON_CONFIG, python-config)
fi
if test x$enable_python = xyes; then
AC_PATH_PROGS(PYTHON_CONFIG, [python$PYTHON_VERSION-config python-config])
if test x"$PYTHON_CONFIG" != x""; then
PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
PYTHON_LIBS=`$PYTHON_CONFIG --libs`
PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
PYTHON_LIBS=`$PYTHON_CONFIG --libs`
else
PYTHON_CFLAGS=`$PYTHON $srcdir/python-config.py --includes`
PYTHON_LIBS=`$PYTHON $srcdir/python-config.py --libs`
PYTHON_CFLAGS=`$PYTHON $srcdir/python-config.py --includes`
PYTHON_LIBS=`$PYTHON $srcdir/python-config.py --libs`
fi
PYTHON_INCLUDES="$PYTHON_CFLAGS"
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_LIBS)
else
enable_python="no (disabled, use --enable-python to enable)"
fi
fi
AC_MSG_RESULT($enable_python)
AM_CONDITIONAL(ENABLE_PYTHON, [test x$enable_python = xyes])
GOBJECT_INTROSPECTION_CHECK([0.9.0])
dnl Vala langauge binding
AC_MSG_CHECKING([whether you enable Vala language support])
AC_ARG_ENABLE(vala,
AS_HELP_STRING([--enable-vala=no/yes],
[Enable Vala language binding default=yes]),,
[Enable Vala language binding default=yes]),
enable_vala=$enableval,
enable_vala=yes)
if test x$enable_vala = xyes; then
if test "x$INTROSPECTION_SCANNER" = x; then
enable_vala=no
AC_MSG_WARN([GObject-Introspection must be enabled for Vala bindings])
fi
AM_PROG_VALAC([0.10.0])
have_vala=yes
AC_PATH_PROG(VALAC, valac, valac)
AC_SUBST(VALAC)
AC_SUBST(VALAFLAGS)
AC_PATH_PROG([VAPIGEN], [vapigen], [false])
if test "x$VAPIGEN" = "xfalse"; then
enable_vala=no
AC_MSG_WARN([vapigen not found. Was vala compiled with --enable-vapigen?])
fi
AC_SUBST(VAPIGEN)
fi
AC_MSG_RESULT($enable_vala)
AM_CONDITIONAL(ENABLE_VALA, [test x$enable_vala = xyes])
dnl standalone application
AC_MSG_CHECKING([whether you enable eekboard])
AC_ARG_ENABLE(eekboard,
AS_HELP_STRING([--enable-eekboard=no/yes],
[Build standalone application "ekboard" default=yes]),,
enable_eekboard=yes)
AC_MSG_RESULT($enable_eekboard)
AM_CONDITIONAL(ENABLE_EEKBOARD, [test x$enable_eekboard = xyes])
dnl Clutter
AC_MSG_CHECKING([whether you enable Clutter])
dnl clutter
AC_MSG_CHECKING([whether you enable clutter])
AC_ARG_ENABLE(clutter,
AS_HELP_STRING([--enable-clutter=no/yes],
[Enable Clutter user interface default=yes]),,
[Enable clutter user interface default=no]),
enable_clutter=$enableval,
enable_clutter=no)
AC_MSG_RESULT($enable_clutter)
if test x$enable_clutter = xyes; then
PKG_CHECK_MODULES([CLUTTER], [clutter-1.0], ,
[AC_MSG_ERROR([Clutter not found -- install it or add --disable-clutter])])
AC_DEFINE([HAVE_CLUTTER], [1], [Define if Clutter is found])
have_clutter_gtk=0
need_swap_event_workaround=0
PKG_CHECK_MODULES([CLUTTER_GTK], [clutter-gtk-1.0], [have_clutter_gtk=1],
[PKG_CHECK_MODULES([CLUTTER_GTK], [clutter-gtk-0.10 clutter-x11-1.0],
[have_clutter_gtk=1; need_swap_event_workaround=1])])
AC_DEFINE_UNQUOTED([HAVE_CLUTTER_GTK], $have_clutter_gtk,
[Define if Clutter-Gtk is found])
AC_DEFINE_UNQUOTED([NEED_SWAP_EVENT_WORKAROUND], $need_swap_event_workaround,
[Define if GLX_INTEL_swap_event work around is needed])
PKG_CHECK_MODULES([CLUTTER], [clutter-1.0], , enable_clutter=no)
if test x$enable_clutter = xyes; then
AC_DEFINE([HAVE_CLUTTER], [1], [Define if clutter is found])
fi
fi
AM_CONDITIONAL(ENABLE_CLUTTER, [test x$enable_clutter = xyes])
AC_MSG_RESULT($enable_clutter)
dnl clutter-gtk
if test x$enable_clutter = xyes; then
AC_MSG_CHECKING([whether you enable clutter-gtk])
AC_ARG_ENABLE(clutter-gtk,
AS_HELP_STRING([--enable-clutter-gtk=no/yes],
[Enable clutter user interface default=yes]),
enable_clutter_gtk=$enableval,
enable_clutter_gtk=yes)
if test x$enable_clutter_gtk = xyes; then
PKG_CHECK_MODULES([CLUTTER_GTK], [clutter-gtk-1.0], ,
enable_clutter_gtk=no)
if test x$enable_clutter_gtk = xyes; then
AC_DEFINE([HAVE_CLUTTER_GTK], [1], [Define if Clutter-Gtk is found])
fi
fi
AC_MSG_RESULT($enable_clutter_gtk)
fi
AM_CONDITIONAL(ENABLE_CLUTTER_GTK, [test x$enable_clutter_gtk = xyes])
dnl libcanberra
AC_MSG_CHECKING([whether you enable libcanberra])
AC_ARG_ENABLE(libcanberra,
AS_HELP_STRING([--enable-libcanberra=no/yes],
[Enable clutter user interface default=no]),
enable_libcanberra=$enableval,
enable_libcanberra=yes)
if test x$enable_libcanberra = xyes; then
PKG_CHECK_MODULES([LIBCANBERRA], [libcanberra-gtk3], , enable_libcanberra=no)
if test x$enable_libcanberra = xyes; then
AC_DEFINE([HAVE_LIBCANBERRA], [1], [Define if libcanberra is found])
fi
fi
AM_CONDITIONAL(ENABLE_LIBCANBERRA, [test x$enable_libcanberra = xyes])
AC_MSG_RESULT($enable_libcanberra)
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
dnl to re-generate eek/*-keysym-labels.txt
AC_CHECK_PROGS([PYTHON], [python])
dnl define GETTEXT_* variables
GETTEXT_PACKAGE=$PACKAGE
AC_SUBST(GETTEXT_PACKAGE)
@ -217,8 +314,6 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only
AM_GLIB_GNU_GETTEXT
AM_GLIB_DEFINE_LOCALEDIR(EEKBOARD_LOCALEDIR)
GOBJECT_INTROSPECTION_CHECK([0.9.0])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile
eek/Makefile
@ -245,7 +340,7 @@ data/icons/scalable/Makefile
data/themes/Makefile
data/keyboards/Makefile
examples/Makefile
examples/eekboard-inscript/Makefile
examples/eekxml/Makefile
examples/simple-client/Makefile
eek/eek-${EEK_API_VERSION}.pc
eek/eek-clutter-${EEK_API_VERSION}.pc
@ -265,6 +360,10 @@ Build options:
Build Clutter UI $enable_clutter
Build Vala binding $enable_vala
Build Python binding $enable_python
Sound support $enable_libcanberra
Build document $enable_gtk_doc
Support accessibility $enable_atspi
Focus listeners $focus_listeners
Keystroke listeners $keystroke_listeners
])

View File

@ -1,5 +1,17 @@
SUBDIRS = icons themes keyboards
@GSETTINGS_RULES@
@INTLTOOL_XML_NOMERGE_RULE@
gsettings_schemas_in_files = org.fedorahosted.eekboard.gschema.xml.in
gsettings_SCHEMAS = $(gsettings_schemas_in_files:.gschema.xml.in=.gschema.xml)
servicedir = $(datadir)/dbus-1/services
service_in_files = eekboard-server.service.in
service_DATA = $(service_in_files:.service.in=.service)
$(service_DATA): $(service_in_files) Makefile
$(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@
desktopdir = $(datadir)/applications
desktop_in_files = eekboard.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@ -12,8 +24,8 @@ endif
@INTLTOOL_DESKTOP_RULE@
CLEANFILES = $(desktop_DATA)
EXTRA_DIST = $(desktop_in_files)
CLEANFILES = $(service_DATA) $(desktop_DATA) $(gsettings_SCHEMAS)
EXTRA_DIST = $(service_in_files) $(desktop_in_files) $(gsettings_schemas_in_files)
if ENABLE_ATSPI
CLEANFILES += $(autostart_DATA)

View File

@ -2,5 +2,5 @@
Name=Eekboard
Exec=eekboard -f
Type=Application
AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
#AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
X-GNOME-AutoRestart=true

View File

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

View File

@ -1,2 +1,32 @@
keyboarddir = $(pkgdatadir)/keyboards
dist_keyboard_DATA = us-qwerty.xml
dist_keyboard_DATA = \
ar.xml \
be.xml \
fa.xml \
he.xml \
jp-kana.xml \
kk.xml \
ks.xml \
my.xml \
ru.xml \
th.xml \
ua.xml \
ug.xml \
us.xml \
zh-bopomofo.xml \
$(inscript_keyboards)
inscript_keyboards = \
as-inscript.xml \
bn-inscript.xml \
gu-inscript.xml \
hi-inscript.xml \
kn-inscript.xml \
ks-inscript.xml \
mai-inscript.xml \
ml-inscript.xml \
mr-inscript.xml \
or-inscript.xml \
pa-inscript.xml \
sd-inscript.xml \
ta-inscript.xml \
te-inscript.xml

683
data/keyboards/ar.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ّ" category="letter">ّ</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="١" category="letter">١</text>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="٢" category="letter">٢</text>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="٣" category="letter">٣</text>
<keysym name="numbersign" label="#" category="letter" keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="٤" category="letter">٤</text>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="٥" category="letter">٥</text>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="٦" category="letter">٦</text>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="٧" category="letter">٧</text>
<keysym name="ampersand" label="&amp;" category="letter" keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="٨" category="letter">٨</text>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="٩" category="letter">٩</text>
<text name="parenleft" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="٠" category="letter">٠</text>
<text name="parenright" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<keysym name="underscore" label="_" category="letter" keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ض" category="letter">ض</text>
<text name="Q" label="َ" category="letter">َ</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ص" category="letter">ص</text>
<text name="W" label="ً" category="letter">ً</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ث" category="letter">ث</text>
<text name="E" label="ُ" category="letter">ُ</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ق" category="letter">ق</text>
<text name="R" label="ٌ" category="letter">ٌ</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ف" category="letter">ف</text>
<text name="T" label="لإ" category="letter">لإ</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="غ" category="letter">غ</text>
<text name="Y" label="إ" category="letter">إ</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ع" category="letter">ع</text>
<text name="U" label="`" category="letter">`</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ه" category="letter">ه</text>
<text name="I" label="÷" category="letter">÷</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="خ" category="letter">خ</text>
<text name="O" label="×" category="letter">×</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ح" category="letter">ح</text>
<text name="P" label="؛" category="letter">؛</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ج" category="letter">ج</text>
<text name="braceleft" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="د" category="letter">د</text>
<text name="braceright" label="&lt;" category="letter">&lt;</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ش" category="letter">ش</text>
<text name="A" label="ِ" category="letter">ِ</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="س" category="letter">س</text>
<text name="S" label="ٍ" category="letter">ٍ</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="ي" category="letter">ي</text>
<text name="D" label="]" category="letter">]</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ب" category="letter">ب</text>
<text name="F" label="[" category="letter">[</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ل" category="letter">ل</text>
<text name="G" label="لأ" category="letter">لأ</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ا" category="letter">ا</text>
<text name="H" label="أ" category="letter">أ</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ت" category="letter">ت</text>
<text name="J" label="ـ" category="letter">ـ</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ن" category="letter">ن</text>
<text name="K" label="،" category="letter">،</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="م" category="letter">م</text>
<text name="L" label="/" category="letter">/</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ك" category="letter">ك</text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<keysym name="quotedbl" label="&quot;" category="letter" keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ئ" category="letter">ئ</text>
<text name="Z" label="~" category="letter">~</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ء" category="letter">ء</text>
<text name="X" label="ْ" category="letter">ْ</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ؤ" category="letter">ؤ</text>
<text name="C" label="}" category="letter">}</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ر" category="letter">ر</text>
<text name="V" label="{" category="letter">{</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="لا" category="letter">لا</text>
<text name="B" label="لآ" category="letter">لآ</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ى" category="letter">ى</text>
<text name="N" label="آ" category="letter">آ</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ة" category="letter">ة</text>
<text name="M" label="&apos;" category="letter">&apos;</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="و" category="letter">و</text>
<text name="less" label="," category="letter">,</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ز" category="letter">ز</text>
<text name="greater" label="." category="letter">.</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ظ" category="letter">ظ</text>
<text name="question" label="؟" category="letter">؟</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="~" category="letter">~</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="১" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="২" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="৩" category="letter"></text>
<text name="numbersign" label="্ৰ" category="letter">্ৰ</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="" category="letter"></text>
<text name="dollar" label="ৰ্" category="letter">ৰ্</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="৫" category="letter"></text>
<text name="percent" label="জ্ঞ" category="letter">জ্ঞ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="৬" category="letter"></text>
<text name="asciicircum" label="ত্ৰ" category="letter">ত্ৰ</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="" category="letter"></text>
<text name="ampersand" label="ক্ষ" category="letter">ক্ষ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="৮" category="letter"></text>
<text name="asterisk" label="শ্ৰ" category="letter">শ্ৰ</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="৯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ঃ" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ৃ" category="letter"></text>
<text name="plus" label="ঋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ৌ" category="letter"></text>
<text name="Q" label="ঔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ৈ" category="letter"></text>
<text name="W" label="ঐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="া" category="letter"></text>
<text name="E" label="আ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ী" category="letter"></text>
<text name="R" label="ঈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ূ" category="letter"></text>
<text name="T" label="ঊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ব" category="letter"></text>
<text name="Y" label="ভ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="হ" category="letter"></text>
<text name="U" label="ঙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="গ" category="letter"></text>
<text name="I" label="ঘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="দ" category="letter"></text>
<text name="O" label="ধ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="জ" category="letter"></text>
<text name="P" label="ঝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ড" category="letter"></text>
<text name="braceleft" label="ঢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="়" category="letter"></text>
<text name="braceright" label="ঞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="য" category="letter"></text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ো" category="letter"></text>
<text name="A" label="ও" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ে" category="letter"></text>
<text name="S" label="এ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="্" category="letter"></text>
<text name="D" label="অ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ি" category="letter">ি</text>
<text name="F" label="ই" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ু" category="letter"></text>
<text name="G" label="উ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="প" category="letter"></text>
<text name="H" label="ফ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ৰ" category="letter"></text>
<text name="J" label="J" category="letter">J</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ক" category="letter"></text>
<text name="K" label="খ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ত" category="letter"></text>
<text name="L" label="থ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="চ" category="letter"></text>
<text name="colon" label="ছ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ঠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ৎ" category="letter"></text>
<text name="Z" label="৺" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ং" category="letter"></text>
<text name="X" label="ঁ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ম" category="letter"></text>
<text name="C" label="ণ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ন" category="letter"></text>
<text name="V" label="V" category="letter">V</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ৱ" category="letter"></text>
<text name="B" label="B" category="letter">B</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ল" category="letter"></text>
<text name="N" label="N" category="letter">N</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="স" category="letter"></text>
<text name="M" label="শ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ষ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="য়" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/be.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="Ё" category="letter">Ё</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="1" label="1" category="letter" keyval="49">1</keysym>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="2" label="2" category="letter" keyval="50">2</keysym>
<text name="at" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="3" label="3" category="letter" keyval="51">3</keysym>
<text name="numbersign" label="№" category="letter"></text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="4" label="4" category="letter" keyval="52">4</keysym>
<text name="dollar" label=";" category="letter">;</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<keysym name="5" label="5" category="letter" keyval="53">5</keysym>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="6" label="6" category="letter" keyval="54">6</keysym>
<text name="asciicircum" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="7" label="7" category="letter" keyval="55">7</keysym>
<text name="ampersand" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="8" label="8" category="letter" keyval="56">8</keysym>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="9" label="9" category="letter" keyval="57">9</keysym>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="0" label="0" category="letter" keyval="48">0</keysym>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<text name="underscore" label="_" category="letter">_</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="й" category="letter">й</text>
<text name="Q" label="Й" category="letter">Й</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ц" category="letter">ц</text>
<text name="W" label="Ц" category="letter">Ц</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="у" category="letter">у</text>
<text name="E" label="У" category="letter">У</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="к" category="letter">к</text>
<text name="R" label="К" category="letter">К</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="е" category="letter">е</text>
<text name="T" label="Е" category="letter">Е</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="н" category="letter">н</text>
<text name="Y" label="Н" category="letter">Н</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="г" category="letter">г</text>
<text name="U" label="Г" category="letter">Г</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ш" category="letter">ш</text>
<text name="I" label="Ш" category="letter">Ш</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ў" category="letter">ў</text>
<text name="O" label="Ў" category="letter">Ў</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="з" category="letter">з</text>
<text name="P" label="З" category="letter">З</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="х" category="letter">х</text>
<text name="braceleft" label="Х" category="letter">Х</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="&apos;" category="letter">&apos;</text>
<text name="braceright" label="&apos;" category="letter">&apos;</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ф" category="letter">ф</text>
<text name="A" label="Ф" category="letter">Ф</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ы" category="letter">ы</text>
<text name="S" label="Ы" category="letter">Ы</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="в" category="letter">в</text>
<text name="D" label="В" category="letter">В</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="а" category="letter">а</text>
<text name="F" label="А" category="letter">А</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="п" category="letter">п</text>
<text name="G" label="П" category="letter">П</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="р" category="letter">р</text>
<text name="H" label="Р" category="letter">Р</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="о" category="letter">о</text>
<text name="J" label="О" category="letter">О</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="л" category="letter">л</text>
<text name="K" label="Л" category="letter">Л</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="д" category="letter">д</text>
<text name="L" label="Д" category="letter">Д</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ж" category="letter">ж</text>
<text name="colon" label="Ж" category="letter">Ж</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="Э" category="letter">Э</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="я" category="letter">я</text>
<text name="Z" label="Я" category="letter">Я</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ч" category="letter">ч</text>
<text name="X" label="Ч" category="letter">Ч</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="с" category="letter">с</text>
<text name="C" label="С" category="letter">С</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="м" category="letter">м</text>
<text name="V" label="М" category="letter">М</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="і" category="letter">і</text>
<text name="B" label="І" category="letter">І</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="т" category="letter">т</text>
<text name="N" label="Т" category="letter">Т</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ь" category="letter">ь</text>
<text name="M" label="Ь" category="letter">Ь</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="б" category="letter">б</text>
<text name="less" label="Б" category="letter">Б</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ю" category="letter">ю</text>
<text name="greater" label="Ю" category="letter">Ю</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="." category="letter">.</text>
<text name="question" label="," category="letter">,</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="~" category="letter">~</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="১" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="২" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="৩" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="৫" category="letter"></text>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="৬" category="letter"></text>
<text name="asciicircum" label="^" category="letter">^</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="" category="letter"></text>
<text name="ampersand" label="&amp;" category="letter">&amp;</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="৮" category="letter"></text>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="৯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ঃ" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ৃ" category="letter"></text>
<text name="plus" label="ঋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ৌ" category="letter"></text>
<text name="Q" label="ঔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ৈ" category="letter"></text>
<text name="W" label="ঐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="া" category="letter"></text>
<text name="E" label="আ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ী" category="letter"></text>
<text name="R" label="ঈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ূ" category="letter"></text>
<text name="T" label="ঊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ব" category="letter"></text>
<text name="Y" label="ভ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="হ" category="letter"></text>
<text name="U" label="ঙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="গ" category="letter"></text>
<text name="I" label="ঘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="দ" category="letter"></text>
<text name="O" label="ধ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="জ" category="letter"></text>
<text name="P" label="ঝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ড" category="letter"></text>
<text name="braceleft" label="ঢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="়" category="letter"></text>
<text name="braceright" label="ঞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ো" category="letter"></text>
<text name="A" label="ও" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ে" category="letter"></text>
<text name="S" label="এ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="্" category="letter"></text>
<text name="D" label="অ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ি" category="letter">ি</text>
<text name="F" label="ই" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ু" category="letter"></text>
<text name="G" label="উ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="প" category="letter"></text>
<text name="H" label="ফ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="র" category="letter"></text>
<text name="J" label="J" category="letter">J</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ক" category="letter"></text>
<text name="K" label="খ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ত" category="letter"></text>
<text name="L" label="থ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="চ" category="letter"></text>
<text name="colon" label="ছ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ঠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="z" category="letter">z</text>
<text name="Z" label="Z" category="letter">Z</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ং" category="letter"></text>
<text name="X" label="ঁ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ম" category="letter"></text>
<text name="C" label="ণ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ন" category="letter"></text>
<text name="V" label="V" category="letter">V</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ব" category="letter"></text>
<text name="B" label="B" category="letter">B</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ল" category="letter"></text>
<text name="N" label="N" category="letter">N</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="স" category="letter"></text>
<text name="M" label="শ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ষ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="য়" category="letter"></text>
<text name="question" label="য" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/fa.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="۱" category="letter">۱</text>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="۲" category="letter">۲</text>
<text name="at" label="٬" category="letter">٬</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="۳" category="letter">۳</text>
<text name="numbersign" label="٫" category="letter">٫</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="۴" category="letter">۴</text>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="۵" category="letter">۵</text>
<text name="percent" label="٪" category="letter">٪</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="۶" category="letter">۶</text>
<text name="asciicircum" label="×" category="letter">×</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="۷" category="letter">۷</text>
<text name="ampersand" label="،" category="letter">،</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="۸" category="letter">۸</text>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="۹" category="letter">۹</text>
<text name="parenleft" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="۰" category="letter">۰</text>
<text name="parenright" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<keysym name="underscore" label="_" category="letter" keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ض" category="letter">ض</text>
<text name="Q" label="ْ" category="letter">ْ</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ص" category="letter">ص</text>
<text name="W" label="ٌ" category="letter">ٌ</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ث" category="letter">ث</text>
<text name="E" label="ٍ" category="letter">ٍ</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ق" category="letter">ق</text>
<text name="R" label="ً" category="letter">ً</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ف" category="letter">ف</text>
<text name="T" label="ُ" category="letter">ُ</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="غ" category="letter">غ</text>
<text name="Y" label="ِ" category="letter">ِ</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ع" category="letter">ع</text>
<text name="U" label="َ" category="letter">َ</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ه" category="letter">ه</text>
<text name="I" label="ّ" category="letter">ّ</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="خ" category="letter">خ</text>
<text name="O" label="]" category="letter">]</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ح" category="letter">ح</text>
<text name="P" label="[" category="letter">[</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ج" category="letter">ج</text>
<text name="braceleft" label="}" category="letter">}</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="چ" category="letter">چ</text>
<text name="braceright" label="{" category="letter">{</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ش" category="letter">ش</text>
<text name="A" label="ؤ" category="letter">ؤ</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="س" category="letter">س</text>
<text name="S" label="ئ" category="letter">ئ</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="ی" category="letter">ی</text>
<text name="D" label="ي" category="letter">ي</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ب" category="letter">ب</text>
<text name="F" label="إ" category="letter">إ</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ل" category="letter">ل</text>
<text name="G" label="أ" category="letter">أ</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ا" category="letter">ا</text>
<text name="H" label="آ" category="letter">آ</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ت" category="letter">ت</text>
<text name="J" label="ة" category="letter">ة</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ن" category="letter">ن</text>
<text name="K" label="»" category="letter">»</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="م" category="letter">م</text>
<text name="L" label="«" category="letter">«</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ک" category="letter">ک</text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="؛" category="letter">؛</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ظ" category="letter">ظ</text>
<text name="Z" label="ك" category="letter">ك</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ط" category="letter">ط</text>
<keysym name="X" label="X" category="letter" keyval="88">X</keysym>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ز" category="letter">ز</text>
<text name="C" label="ژ" category="letter">ژ</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ر" category="letter">ر</text>
<keysym name="V" label="V" category="letter" keyval="86">V</keysym>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ذ" category="letter">ذ</text>
<text name="B" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="د" category="letter">د</text>
<text name="N" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="پ" category="letter">پ</text>
<text name="M" label="ء" category="letter">ء</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="و" category="letter">و</text>
<text name="less" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="period" label="." category="letter" keyval="46">period</keysym>
<text name="greater" label="&lt;" category="letter">&lt;</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="slash" label="/" category="letter" keyval="47">slash</keysym>
<text name="question" label="؟" category="letter">؟</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="~" category="letter">~</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="૧" category="letter"></text>
<text name="exclam" label="ઍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="૨" category="letter"></text>
<text name="at" label="ૅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="૩" category="letter"></text>
<text name="numbersign" label="ૠ" category="letter"></text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="૪" category="letter"></text>
<text name="dollar" label="ૄ" category="letter"></text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="૫" category="letter"></text>
<text name="percent" label="જ્ઞ" category="letter">જ્ઞ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="૬" category="letter"></text>
<text name="asciicircum" label="ત્ર" category="letter">ત્ર</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="૭" category="letter"></text>
<text name="ampersand" label="ક્ષ" category="letter">ક્ષ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="૮" category="letter"></text>
<text name="asterisk" label="શ્ર" category="letter">શ્ર</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="૯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ૃ" category="letter"></text>
<text name="plus" label="ઋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ૌ" category="letter"></text>
<text name="Q" label="ઔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ૈ" category="letter"></text>
<text name="W" label="ઐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ા" category="letter"></text>
<text name="E" label="આ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ી" category="letter"></text>
<text name="R" label="ઈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ૂ" category="letter"></text>
<text name="T" label="ઊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="બ" category="letter"></text>
<text name="Y" label="ભ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="હ" category="letter"></text>
<text name="U" label="ઙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ગ" category="letter"></text>
<text name="I" label="ઘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="દ" category="letter"></text>
<text name="O" label="ધ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="જ" category="letter"></text>
<text name="P" label="ઝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ડ" category="letter"></text>
<text name="braceleft" label="ઢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="઼" category="letter"></text>
<text name="braceright" label="ઞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ૉ" category="letter"></text>
<text name="bar" label="ઑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ો" category="letter"></text>
<text name="A" label="ઓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ે" category="letter"></text>
<text name="S" label="એ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="્" category="letter"></text>
<text name="D" label="અ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="િ" category="letter">િ</text>
<text name="F" label="ઇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ુ" category="letter"></text>
<text name="G" label="ઉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="પ" category="letter"></text>
<text name="H" label="ફ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ર" category="letter"></text>
<text name="J" label="ઽ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ક" category="letter"></text>
<text name="K" label="ખ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ત" category="letter"></text>
<text name="L" label="થ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ચ" category="letter"></text>
<text name="colon" label="છ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ઠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="૱" category="letter"></text>
<text name="Z" label="ૐ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ં" category="letter"></text>
<text name="X" label="ઁ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="મ" category="letter"></text>
<text name="C" label="ણ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ન" category="letter"></text>
<text name="V" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="વ" category="letter"></text>
<text name="B" label="&apos;" category="letter">&apos;</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="લ" category="letter"></text>
<text name="N" label="ળ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="સ" category="letter"></text>
<text name="M" label="શ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ષ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ય" category="letter"></text>
<text name="question" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/he.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="1" label="1" category="letter" keyval="49">1</keysym>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="2" label="2" category="letter" keyval="50">2</keysym>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="3" label="3" category="letter" keyval="51">3</keysym>
<keysym name="numbersign" label="#" category="letter" keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="4" label="4" category="letter" keyval="52">4</keysym>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<keysym name="5" label="5" category="letter" keyval="53">5</keysym>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="6" label="6" category="letter" keyval="54">6</keysym>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="7" label="7" category="letter" keyval="55">7</keysym>
<keysym name="ampersand" label="&amp;" category="letter" keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="8" label="8" category="letter" keyval="56">8</keysym>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="9" label="9" category="letter" keyval="57">9</keysym>
<text name="parenleft" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="0" label="0" category="letter" keyval="48">0</keysym>
<text name="parenright" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<keysym name="underscore" label="_" category="letter" keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="/" category="letter">/</text>
<keysym name="Q" label="Q" category="letter" keyval="81">Q</keysym>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="&apos;" category="letter">&apos;</text>
<keysym name="W" label="W" category="letter" keyval="87">W</keysym>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ק" category="letter">ק</text>
<keysym name="E" label="E" category="letter" keyval="69">E</keysym>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ר" category="letter">ר</text>
<keysym name="R" label="R" category="letter" keyval="82">R</keysym>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="א" category="letter">א</text>
<keysym name="T" label="T" category="letter" keyval="84">T</keysym>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ט" category="letter">ט</text>
<keysym name="Y" label="Y" category="letter" keyval="89">Y</keysym>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ו" category="letter">ו</text>
<keysym name="U" label="U" category="letter" keyval="85">U</keysym>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ן" category="letter">ן</text>
<keysym name="I" label="I" category="letter" keyval="73">I</keysym>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ם" category="letter">ם</text>
<keysym name="O" label="O" category="letter" keyval="79">O</keysym>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="פ" category="letter">פ</text>
<keysym name="P" label="P" category="letter" keyval="80">P</keysym>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="]" category="letter">]</text>
<text name="braceleft" label="}" category="letter">}</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="[" category="letter">[</text>
<text name="braceright" label="{" category="letter">{</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ש" category="letter">ש</text>
<keysym name="A" label="A" category="letter" keyval="65">A</keysym>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ד" category="letter">ד</text>
<keysym name="S" label="S" category="letter" keyval="83">S</keysym>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="ג" category="letter">ג</text>
<keysym name="D" label="D" category="letter" keyval="68">D</keysym>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="כ" category="letter">כ</text>
<keysym name="F" label="F" category="letter" keyval="70">F</keysym>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ע" category="letter">ע</text>
<keysym name="G" label="G" category="letter" keyval="71">G</keysym>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="י" category="letter">י</text>
<keysym name="H" label="H" category="letter" keyval="72">H</keysym>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ח" category="letter">ח</text>
<keysym name="J" label="J" category="letter" keyval="74">J</keysym>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ל" category="letter">ל</text>
<keysym name="K" label="K" category="letter" keyval="75">K</keysym>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ך" category="letter">ך</text>
<keysym name="L" label="L" category="letter" keyval="76">L</keysym>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ף" category="letter">ף</text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<keysym name="quotedbl" label="&quot;" category="letter" keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ז" category="letter">ז</text>
<keysym name="Z" label="Z" category="letter" keyval="90">Z</keysym>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ס" category="letter">ס</text>
<keysym name="X" label="X" category="letter" keyval="88">X</keysym>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ב" category="letter">ב</text>
<keysym name="C" label="C" category="letter" keyval="67">C</keysym>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ה" category="letter">ה</text>
<keysym name="V" label="V" category="letter" keyval="86">V</keysym>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="נ" category="letter">נ</text>
<keysym name="B" label="B" category="letter" keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="מ" category="letter">מ</text>
<keysym name="N" label="N" category="letter" keyval="78">N</keysym>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="צ" category="letter">צ</text>
<keysym name="M" label="M" category="letter" keyval="77">M</keysym>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="ת" category="letter">ת</text>
<text name="less" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ץ" category="letter">ץ</text>
<text name="greater" label="&lt;" category="letter">&lt;</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="." category="letter">.</text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ऒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="१" category="letter"></text>
<text name="exclam" label="ऍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="२" category="letter"></text>
<text name="at" label="ॅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="३" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="४" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="५" category="letter"></text>
<text name="percent" label="ज्ञ" category="letter">ज्ञ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="६" category="letter"></text>
<text name="asciicircum" label="त्र" category="letter">त्र</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="७" category="letter"></text>
<text name="ampersand" label="क्ष" category="letter">क्ष</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="८" category="letter"></text>
<text name="asterisk" label="श्र" category="letter">श्र</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="९" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ृ" category="letter"></text>
<text name="plus" label="ऋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ौ" category="letter"></text>
<text name="Q" label="औ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ै" category="letter"></text>
<text name="W" label="ऐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ा" category="letter"></text>
<text name="E" label="आ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ी" category="letter"></text>
<text name="R" label="ई" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ू" category="letter"></text>
<text name="T" label="ऊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ब" category="letter"></text>
<text name="Y" label="भ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ह" category="letter"></text>
<text name="U" label="ङ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ग" category="letter"></text>
<text name="I" label="घ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="द" category="letter"></text>
<text name="O" label="ध" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ज" category="letter"></text>
<text name="P" label="झ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ड" category="letter"></text>
<text name="braceleft" label="ढ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="़" category="letter"></text>
<text name="braceright" label="ञ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ॉ" category="letter"></text>
<text name="bar" label="ऑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ो" category="letter"></text>
<text name="A" label="ओ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="े" category="letter"></text>
<text name="S" label="ए" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="्‌" category="letter">्‌</text>
<text name="D" label="अ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ि" category="letter">ि</text>
<text name="F" label="इ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ु" category="letter"></text>
<text name="G" label="उ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="प" category="letter"></text>
<text name="H" label="फ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="र" category="letter"></text>
<text name="J" label="ऱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="क" category="letter"></text>
<text name="K" label="ख" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="त" category="letter"></text>
<text name="L" label="थ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="च" category="letter"></text>
<text name="colon" label="छ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ठ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ॆ" category="letter"></text>
<text name="Z" label="ऎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ं" category="letter"></text>
<text name="X" label="ँ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="म" category="letter"></text>
<text name="C" label="ण" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="न" category="letter"></text>
<text name="V" label="ऩ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="व" category="letter"></text>
<text name="B" label="ऴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ल" category="letter"></text>
<text name="N" label="ळ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="स" category="letter"></text>
<text name="M" label="श" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ष" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="य" category="letter"></text>
<text name="question" label="य़" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

697
data/keyboards/jp-kana.xml Normal file
View File

@ -0,0 +1,697 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section name="LeftModifiers">
<bounds>16.000000,78.048780,94.000000,202.000000</bounds>
<angle>0</angle>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<key id="keycode61" name="TAB" column="1" row="0">
<bounds>4.000000,43.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="65289">Tab</keysym>
<keysym keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode56" name="CAPS" column="2" row="0">
<bounds>4.000000,83.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode57" name="LFSH" column="3" row="0">
<bounds>4.000000,122.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode58" name="LCTL" column="4" row="0">
<bounds>4.000000,162.341463,57.000000,38.000000</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="2">
<symbol label="⌨" icon="input-keyboard-symbolic">cycle-keyboard</symbol>
<symbol label="☺" icon="preferences-system-symbolic">preferences</symbol>
</symbols>
</key>
<key id="keycode60" name="BKSP" column="1" row="1">
<bounds>517.000000,44.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode62" name="RTRN" column="1" row="1">
<bounds>517.000000,83.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode63" name="RTSH" column="2" row="1">
<bounds>517.000000,122.000000,80.000000,38.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="0" row="2">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline14</oref>
<symbols groups="1" levels="1">
<keysym keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="1" row="2">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="2" row="2">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="3" row="2">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="4" row="2">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<section name="Alpha">
<bounds>99.000000,16.000000,469.000000,202.000000</bounds>
<angle>0</angle>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<row>
<columns>5</columns>
<orientation>0</orientation>
</row>
<key id="keycode1" name="AE03" column="0" row="0">
<bounds>4.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="51" label="あ">3</keysym>
<keysym keyval="35" label="ぁ">numbersign</keysym>
<keysym keyval="51" label="ア">3</keysym>
<keysym keyval="35" label="ァ">numbersign</keysym>
</symbols>
</key>
<key id="keycode2" name="AD03" column="1" row="0">
<bounds>4.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="101" label="い">e</keysym>
<keysym keyval="69" label="ぃ">E</keysym>
<keysym keyval="101" label="イ">e</keysym>
<keysym keyval="69" label="ィ">E</keysym>
</symbols>
</key>
<key id="keycode3" name="AE04" column="2" row="0">
<bounds>4.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="52" label="う">4</keysym>
<keysym keyval="36" label="ぅ">dollar</keysym>
<keysym keyval="52" label="ウ">4</keysym>
<keysym keyval="36" label="ゥ">dollar</keysym>
</symbols>
</key>
<key id="keycode4" name="AE05" column="3" row="0">
<bounds>4.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="53" label="え">5</keysym>
<keysym keyval="37" label="ぇ">percent</keysym>
<keysym keyval="53" label="エ">5</keysym>
<keysym keyval="37" label="ェ">percent</keysym>
</symbols>
</key>
<key id="keycode5" name="AE06" column="4" row="0">
<bounds>4.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="54" label="お">6</keysym>
<keysym keyval="38" label="ぉ">ampersand</keysym>
<keysym keyval="54" label="オ">6</keysym>
<keysym keyval="38" label="ォ">ampersand</keysym>
</symbols>
</key>
<key id="keycode6" name="AE03" column="0" row="1">
<bounds>43.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="116" label="か">t</keysym>
<keysym keyval="116" label="カ">t</keysym>
</symbols>
</key>
<key id="keycode7" name="AD03" column="1" row="1">
<bounds>43.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="103" label="き">g</keysym>
<keysym keyval="103" label="キ">g</keysym>
</symbols>
</key>
<key id="keycode8" name="AE04" column="2" row="1">
<bounds>43.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="104" label="く">h</keysym>
<keysym keyval="104" label="ク">h</keysym>
</symbols>
</key>
<key id="keycode9" name="AE05" column="3" row="1">
<bounds>43.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="58" label="け">colon</keysym>
<keysym keyval="58" label="ケ">colon</keysym>
</symbols>
</key>
<key id="keycode10" name="AE06" column="4" row="1">
<bounds>43.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="98" label="こ">b</keysym>
<keysym keyval="98" label="コ">b</keysym>
</symbols>
</key>
<key id="keycode11" name="AE03" column="0" row="2">
<bounds>82.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="120" label="さ">x</keysym>
<keysym keyval="120" label="サ">x</keysym>
</symbols>
</key>
<key id="keycode12" name="AD03" column="1" row="2">
<bounds>82.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="100" label="し">d</keysym>
<keysym keyval="100" label="シ">d</keysym>
</symbols>
</key>
<key id="keycode13" name="AE04" column="2" row="0">
<bounds>82.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="114" label="す">r</keysym>
<keysym keyval="114" label="ス">r</keysym>
</symbols>
</key>
<key id="keycode14" name="AE05" column="3" row="2">
<bounds>82.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="112" label="せ">p</keysym>
<keysym keyval="112" label="セ">p</keysym>
</symbols>
</key>
<key id="keycode15" name="AE06" column="4" row="2">
<bounds>82.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="99" label="そ">c</keysym>
<keysym keyval="99" label="ソ">c</keysym>
</symbols>
</key>
<key id="keycode16" name="AE03" column="0" row="3">
<bounds>121.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="113" label="た">q</keysym>
<keysym keyval="113" label="タ">q</keysym>
</symbols>
</key>
<key id="keycode17" name="AD03" column="1" row="3">
<bounds>121.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="97" label="ち">a</keysym>
<keysym keyval="97" label="チ">a</keysym>
</symbols>
</key>
<key id="keycode18" name="AE04" column="2" row="3">
<bounds>121.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="122" label="つ">z</keysym>
<keysym keyval="90" label="っ">Z</keysym>
<keysym keyval="122" label="ツ">z</keysym>
<keysym keyval="90" label="ッ">Z</keysym>
</symbols>
</key>
<key id="keycode19" name="AE05" column="3" row="3">
<bounds>121.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="119" label="て">w</keysym>
<keysym keyval="119" label="テ">w</keysym>
</symbols>
</key>
<key id="keycode20" name="AE06" column="4" row="3">
<bounds>121.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="115" label="と">s</keysym>
<keysym keyval="115" label="ト">s</keysym>
</symbols>
</key>
<key id="keycode21" name="AE03" column="0" row="4">
<bounds>160.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="117" label="な">u</keysym>
<keysym keyval="117" label="ナ">u</keysym>
</symbols>
</key>
<key id="keycode22" name="AD03" column="1" row="4">
<bounds>160.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="105" label="に">i</keysym>
<keysym keyval="105" label="ニ">i</keysym>
</symbols>
</key>
<key id="keycode23" name="AE04" column="2" row="4">
<bounds>160.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="33" label="ぬ">exclam</keysym>
<keysym keyval="33" label="ヌ">exclam</keysym>
</symbols>
</key>
<key id="keycode24" name="AE05" column="3" row="4">
<bounds>160.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="44" label="ね">comma</keysym>
<keysym keyval="44" label="ネ">comma</keysym>
</symbols>
</key>
<key id="keycode25" name="AE06" column="4" row="4">
<bounds>160.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="107" label="の">k</keysym>
<keysym keyval="107" label="">k</keysym>
</symbols>
</key>
<key id="keycode26" name="AE03" column="0" row="5">
<bounds>199.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="102" label="は">f</keysym>
<keysym keyval="102" label="ハ">f</keysym>
</symbols>
</key>
<key id="keycode27" name="AD03" column="1" row="5">
<bounds>199.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="118" label="ひ">v</keysym>
<keysym keyval="118" label="ヒ">v</keysym>
</symbols>
</key>
<key id="keycode28" name="AE04" column="2" row="5">
<bounds>199.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="34" label="ふ">quotedbl</keysym>
<keysym keyval="34" label="フ">quotedbl</keysym>
</symbols>
</key>
<key id="keycode29" name="AE05" column="3" row="5">
<bounds>199.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="94" label="へ">asciicircum</keysym>
<keysym keyval="94" label="ヘ">asciicircum</keysym>
</symbols>
</key>
<key id="keycode30" name="AE06" column="4" row="5">
<bounds>199.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="61" label="ほ">equal</keysym>
<keysym keyval="61" label="ホ">equal</keysym>
</symbols>
</key>
<key id="keycode31" name="AE03" column="0" row="6">
<bounds>238.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="106" label="ま">j</keysym>
<keysym keyval="106" label="マ">j</keysym>
</symbols>
</key>
<key id="keycode32" name="AD03" column="1" row="6">
<bounds>238.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="110" label="み">n</keysym>
<keysym keyval="110" label="ミ">n</keysym>
</symbols>
</key>
<key id="keycode33" name="AE04" column="2" row="6">
<bounds>238.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="93" label="む">bracketright</keysym>
<keysym keyval="93" label="ム">bracketright</keysym>
</symbols>
</key>
<key id="keycode34" name="AE05" column="3" row="6">
<bounds>238.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="47" label="め">slash</keysym>
<keysym keyval="47" label="メ">slash</keysym>
</symbols>
</key>
<key id="keycode35" name="AE06" column="4" row="6">
<bounds>238.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="109" label="も">m</keysym>
<keysym keyval="109" label="モ">m</keysym>
</symbols>
</key>
<key id="keycode36" name="AE03" column="0" row="7">
<bounds>277.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="55" label="や">7</keysym>
<keysym keyval="39" label="ゃ">quoteright</keysym>
<keysym keyval="55" label="ヤ">7</keysym>
<keysym keyval="39" label="ャ">quoteright</keysym>
</symbols>
</key>
<key id="keycode37" name="AD03" column="1" row="7">
<bounds>277.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="56" label="ゆ">8</keysym>
<keysym keyval="40" label="ゅ">parenleft</keysym>
<keysym keyval="56" label="ユ">8</keysym>
<keysym keyval="40" label="ュ">parenleft</keysym>
</symbols>
</key>
<key id="keycode38" name="AE04" column="2" row="7">
<bounds>277.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="57" label="よ">9</keysym>
<keysym keyval="41" label="ょ">parenright</keysym>
<keysym keyval="57" label="ヨ">9</keysym>
<keysym keyval="41" label="ョ">parenright</keysym>
</symbols>
</key>
<key id="keycode41" name="AE03" column="0" row="8">
<bounds>316.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="111" label="ら">o</keysym>
<keysym keyval="111" label="ラ">o</keysym>
</symbols>
</key>
<key id="keycode42" name="AD03" column="1" row="8">
<bounds>316.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="108" label="り">l</keysym>
<keysym keyval="108" label="リ">l</keysym>
</symbols>
</key>
<key id="keycode43" name="AE04" column="2" row="8">
<bounds>316.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="46" label="る">period</keysym>
<keysym keyval="46" label="ル">period</keysym>
</symbols>
</key>
<key id="keycode44" name="AE05" column="3" row="8">
<bounds>316.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="59" label="れ">semicolon</keysym>
<keysym keyval="59" label="レ">semicolon</keysym>
</symbols>
</key>
<key id="keycode45" name="AE06" column="4" row="8">
<bounds>316.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="92" label="ろ">backslash</keysym>
<keysym keyval="92" label="ロ">backslash</keysym>
</symbols>
</key>
<key id="keycode46" name="AE03" column="0" row="9">
<bounds>355.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="48" label="わ">0</keysym>
<keysym keyval="48" label="ワ">0</keysym>
</symbols>
</key>
<key id="keycode47" name="AD03" column="1" row="9">
<bounds>355.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="126" label="を">asciitilde</keysym>
<keysym keyval="126" label="ヲ">asciitilde</keysym>
</symbols>
</key>
<key id="keycode48" name="AE04" column="2" row="9">
<bounds>355.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="121" label="ん">y</keysym>
<keysym keyval="121" label="ン">y</keysym>
</symbols>
</key>
<key id="keycode49" name="AE05" column="3" row="9">
<bounds>355.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="123" label="「">braceleft</keysym>
<keysym keyval="48" label="ゐ">0</keysym>
<keysym keyval="123" label="「">braceleft</keysym>
<keysym keyval="48" label="ヰ">0</keysym>
</symbols>
</key>
<key id="keycode50" name="AE06" column="4" row="9">
<bounds>355.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="125" label="」">braceright</keysym>
<keysym keyval="48" label="ゑ">0</keysym>
<keysym keyval="125" label="」">braceright</keysym>
<keysym keyval="48" label="ヱ">0</keysym>
</symbols>
</key>
<key id="keycode51" name="AE03" column="0" row="10">
<bounds>394.000000,4.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="64" label="゛">at</keysym>
<keysym keyval="64" label="゛">at</keysym>
</symbols>
</key>
<key id="keycode52" name="AD03" column="1" row="10">
<bounds>394.000000,43.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="91" label="゜">bracketleft</keysym>
<keysym keyval="91" label="゜">bracketleft</keysym>
</symbols>
</key>
<key id="keycode53" name="AE04" column="2" row="10">
<bounds>394.000000,82.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="124" label="ー">bar</keysym>
<keysym keyval="124" label="ー">bar</keysym>
</symbols>
</key>
<key id="keycode54" name="AE05" column="3" row="10">
<bounds>394.000000,121.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="1">
<keysym keyval="60" label="、">less</keysym>
<keysym keyval="60" label="、">less</keysym>
</symbols>
</key>
<key id="keycode55" name="AE06" column="4" row="10">
<bounds>394.000000,160.000000,38.000000,38.000000</bounds>
<oref>outline1</oref>
<symbols groups="2" levels="2">
<keysym keyval="62" label="。">greater</keysym>
<keysym keyval="63" label="・">question</keysym>
<keysym keyval="62" label="。">greater</keysym>
<keysym keyval="63" label="・">question</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<point>0.000000,0.000000</point>
<point>38.000000,0.000000</point>
<point>38.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline3">
<point>0.000000,0.000000</point>
<point>60.000000,0.000000</point>
<point>60.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline4">
<point>0.000000,0.000000</point>
<point>60.000000,0.000000</point>
<point>60.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline5">
<point>0.000000,0.000000</point>
<point>69.000000,0.000000</point>
<point>69.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline6">
<point>0.000000,0.000000</point>
<point>89.000000,0.000000</point>
<point>89.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline7">
<point>0.000000,0.000000</point>
<point>89.000000,0.000000</point>
<point>89.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline8">
<point>0.000000,0.000000</point>
<point>110.000000,0.000000</point>
<point>110.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline9">
<point>0.000000,0.000000</point>
<point>57.000000,0.000000</point>
<point>57.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline10">
<point>0.000000,0.000000</point>
<point>49.000000,0.000000</point>
<point>49.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline11">
<point>0.000000,0.000000</point>
<point>239.000000,0.000000</point>
<point>239.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline12">
<point>0.000000,0.000000</point>
<point>38.000000,0.000000</point>
<point>38.000000,79.000000</point>
<point>0.000000,79.000000</point>
</outline>
<outline id="outline13">
<point>0.000000,0.000000</point>
<point>79.000000,0.000000</point>
<point>79.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline2">
<point>0.000000,0.000000</point>
<point>80.000000,0.000000</point>
<point>80.000000,38.000000</point>
<point>0.000000,38.000000</point>
</outline>
<outline id="outline14">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/kk.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="&quot;" category="letter">&quot;</text>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="ә" category="letter">ә</text>
<text name="at" label="Ә" category="letter">Ә</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="і" category="letter">і</text>
<text name="numbersign" label="І" category="letter">І</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="ӊ" category="letter">ӊ</text>
<text name="dollar" label="Ӊ" category="letter">Ӊ</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="ғ" category="letter">ғ</text>
<text name="percent" label="Ғ" category="letter">Ғ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="," category="letter">,</text>
<text name="asciicircum" label=";" category="letter">;</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="." category="letter">.</text>
<text name="ampersand" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="ү" category="letter">ү</text>
<text name="asterisk" label="Ү" category="letter">Ү</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="ұ" category="letter">ұ</text>
<text name="parenleft" label="Ұ" category="letter">Ұ</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="қ" category="letter">қ</text>
<text name="parenright" label="Қ" category="letter">Қ</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="ө" category="letter">ө</text>
<text name="underscore" label="Ө" category="letter">Ө</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="һ" category="letter">һ</text>
<text name="plus" label="Һ" category="letter">Һ</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="й" category="letter">й</text>
<text name="Q" label="Й" category="letter">Й</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ц" category="letter">ц</text>
<text name="W" label="Ц" category="letter">Ц</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="у" category="letter">у</text>
<text name="E" label="У" category="letter">У</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="к" category="letter">к</text>
<text name="R" label="К" category="letter">К</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="е" category="letter">е</text>
<text name="T" label="Е" category="letter">Е</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="н" category="letter">н</text>
<text name="Y" label="Н" category="letter">Н</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="г" category="letter">г</text>
<text name="U" label="Г" category="letter">Г</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ш" category="letter">ш</text>
<text name="I" label="Ш" category="letter">Ш</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="щ" category="letter">щ</text>
<text name="O" label="Щ" category="letter">Щ</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="з" category="letter">з</text>
<text name="P" label="З" category="letter">З</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="х" category="letter">х</text>
<text name="braceleft" label="Х" category="letter">Х</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="ъ" category="letter">ъ</text>
<text name="braceright" label="Ъ" category="letter">Ъ</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ф" category="letter">ф</text>
<text name="A" label="Ф" category="letter">Ф</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ы" category="letter">ы</text>
<text name="S" label="Ы" category="letter">Ы</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="в" category="letter">в</text>
<text name="D" label="В" category="letter">В</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="а" category="letter">а</text>
<text name="F" label="А" category="letter">А</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="п" category="letter">п</text>
<text name="G" label="П" category="letter">П</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="р" category="letter">р</text>
<text name="H" label="Р" category="letter">Р</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="о" category="letter">о</text>
<text name="J" label="О" category="letter">О</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="л" category="letter">л</text>
<text name="K" label="Л" category="letter">Л</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="д" category="letter">д</text>
<text name="L" label="Д" category="letter">Д</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ж" category="letter">ж</text>
<text name="colon" label="Ж" category="letter">Ж</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="Э" category="letter">Э</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="я" category="letter">я</text>
<text name="Z" label="Я" category="letter">Я</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ч" category="letter">ч</text>
<text name="X" label="Ч" category="letter">Ч</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="с" category="letter">с</text>
<text name="C" label="С" category="letter">С</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="м" category="letter">м</text>
<text name="V" label="М" category="letter">М</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="и" category="letter">и</text>
<text name="B" label="И" category="letter">И</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="т" category="letter">т</text>
<text name="N" label="Т" category="letter">Т</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ь" category="letter">ь</text>
<text name="M" label="Ь" category="letter">Ь</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="б" category="letter">б</text>
<text name="less" label="Б" category="letter">Б</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ю" category="letter">ю</text>
<text name="greater" label="Ю" category="letter">Ю</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="№" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ಒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="೧" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="೨" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="೩" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="೪" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="೫" category="letter"></text>
<text name="percent" label="ಜ್ಞ" category="letter">ಜ್ಞ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="೬" category="letter"></text>
<text name="asciicircum" label="ತ್ರ" category="letter">ತ್ರ</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="೭" category="letter"></text>
<text name="ampersand" label="ಕ್ಷ" category="letter">ಕ್ಷ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="೮" category="letter"></text>
<text name="asterisk" label="ಶ್ರ" category="letter">ಶ್ರ</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="೯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ಃ" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ೃ" category="letter"></text>
<text name="plus" label="ಋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ೌ" category="letter"></text>
<text name="Q" label="ಔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ೈ" category="letter"></text>
<text name="W" label="ಐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ಾ" category="letter"></text>
<text name="E" label="ಆ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ೀ" category="letter"></text>
<text name="R" label="ಈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ೂ" category="letter"></text>
<text name="T" label="ಊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ಬ" category="letter"></text>
<text name="Y" label="ಭ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ಹ" category="letter"></text>
<text name="U" label="ಙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ಗ" category="letter"></text>
<text name="I" label="ಘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ದ" category="letter"></text>
<text name="O" label="ಧ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ಜ" category="letter"></text>
<text name="P" label="ಝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ಡ" category="letter"></text>
<text name="braceleft" label="ಢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="]" category="letter">]</text>
<text name="braceright" label="ಞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="" category="letter"></text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ೋ" category="letter"></text>
<text name="A" label="ಓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ೇ" category="letter"></text>
<text name="S" label="ಏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="್" category="letter"></text>
<text name="D" label="ಅ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ಿ" category="letter">ಿ</text>
<text name="F" label="ಇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ು" category="letter"></text>
<text name="G" label="ಉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ಪ" category="letter"></text>
<text name="H" label="ಫ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ರ" category="letter"></text>
<text name="J" label="ಱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ಕ" category="letter"></text>
<text name="K" label="ಖ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ತ" category="letter"></text>
<text name="L" label="ಥ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ಚ" category="letter"></text>
<text name="colon" label="ಛ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ಠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ೆ" category="letter"></text>
<text name="Z" label="ಎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="" category="letter"></text>
<text name="X" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ಮ" category="letter"></text>
<text name="C" label="ಣ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ನ" category="letter"></text>
<text name="V" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ವ" category="letter"></text>
<keysym name="B" label="B" category="letter" keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ಲ" category="letter"></text>
<text name="N" label="ಳ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ಸ" category="letter"></text>
<text name="M" label="ಶ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ಷ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="ಾ" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ಯ" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ऒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="१" category="letter"></text>
<text name="exclam" label="ऍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="२" category="letter"></text>
<text name="at" label="ॅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="३" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="४" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="५" category="letter"></text>
<text name="percent" label="ज्ञ" category="letter">ज्ञ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="६" category="letter"></text>
<text name="asciicircum" label="त्र" category="letter">त्र</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="७" category="letter"></text>
<text name="ampersand" label="क्ष" category="letter">क्ष</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="८" category="letter"></text>
<text name="asterisk" label="श्र" category="letter">श्र</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="९" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ृ" category="letter"></text>
<text name="plus" label="ऋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ौ" category="letter"></text>
<text name="Q" label="औ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ै" category="letter"></text>
<text name="W" label="ऐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ा" category="letter"></text>
<text name="E" label="आ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ी" category="letter"></text>
<text name="R" label="ई" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ू" category="letter"></text>
<text name="T" label="ऊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ॿ" category="letter">ॿ</text>
<text name="Y" label="भ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ह" category="letter"></text>
<text name="U" label="ङ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ॻ" category="letter"></text>
<text name="I" label="घ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="द" category="letter"></text>
<text name="O" label="ध" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ॼ" category="letter"></text>
<text name="P" label="झ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ॾ" category="letter"></text>
<text name="braceleft" label="ढ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="़" category="letter"></text>
<text name="braceright" label="ञ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ॉ" category="letter"></text>
<text name="bar" label="ऑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ो" category="letter"></text>
<text name="A" label="ओ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="े" category="letter"></text>
<text name="S" label="ए" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="्‌" category="letter">्‌</text>
<text name="D" label="अ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ि" category="letter">ि</text>
<text name="F" label="इ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="g" label="g" category="letter" keyval="103">g</keysym>
<keysym name="G" label="G" category="letter" keyval="71">G</keysym>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="प" category="letter"></text>
<text name="H" label="फ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="र" category="letter"></text>
<text name="J" label="ऱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="क" category="letter"></text>
<text name="K" label="ख" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="त" category="letter"></text>
<text name="L" label="थ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="च" category="letter"></text>
<text name="colon" label="छ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ठ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ॆ" category="letter"></text>
<text name="Z" label="ऎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ं" category="letter"></text>
<text name="X" label="ँ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="म" category="letter"></text>
<text name="C" label="ण" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="न" category="letter"></text>
<text name="V" label="ऩ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="व" category="letter"></text>
<text name="B" label="ऴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ल" category="letter"></text>
<text name="N" label="ळ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="स" category="letter"></text>
<text name="M" label="श" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ष" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="य" category="letter"></text>
<text name="question" label="य़" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/ks.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ً" category="letter">ً</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="۱" category="letter">۱</text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="۲" category="letter">۲</text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="۳" category="letter">۳</text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="۴" category="letter">۴</text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="۵" category="letter">۵</text>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="۶" category="letter">۶</text>
<text name="asciicircum" label="^" category="letter">^</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="۷" category="letter">۷</text>
<text name="ampersand" label="&amp;" category="letter">&amp;</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="۸" category="letter">۸</text>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="۹" category="letter">۹</text>
<text name="parenleft" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="۰" category="letter">۰</text>
<text name="parenright" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ّ" category="letter">ّ</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="=" category="letter">=</text>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ق" category="letter">ق</text>
<text name="Q" label="ﷺ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="و" category="letter">و</text>
<text name="W" label="ؤ" category="letter">ؤ</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ع" category="letter">ع</text>
<text name="E" label="ئ" category="letter">ئ</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ر" category="letter">ر</text>
<text name="R" label="ڑ" category="letter">ڑ</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ت" category="letter">ت</text>
<text name="T" label="ٹ" category="letter">ٹ</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ے" category="letter">ے</text>
<text name="Y" label="؁" category="letter">؁</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ء" category="letter">ء</text>
<text name="U" label="،" category="letter">،</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ی" category="letter">ی</text>
<text name="I" label="ۆ" category="letter">ۆ</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ہ" category="letter">ہ</text>
<text name="O" label="ۃ" category="letter">ۃ</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="پ" category="letter">پ</text>
<text name="P" label="إ" category="letter">إ</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="]" category="letter">]</text>
<text name="braceleft" label="ٰ" category="letter">ٰ</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="[" category="letter">[</text>
<text name="braceright" label="ٰ" category="letter">ٰ</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="؎" category="letter">؎</text>
<text name="bar" label="أ" category="letter">أ</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ا" category="letter">ا</text>
<text name="A" label="آ" category="letter">آ</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="س" category="letter">س</text>
<text name="S" label="ش" category="letter">ش</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="د" category="letter">د</text>
<text name="D" label="ڈ" category="letter">ڈ</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ف" category="letter">ف</text>
<text name="F" label="ُ" category="letter">ُ</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="گ" category="letter">گ</text>
<text name="G" label="غ" category="letter">غ</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ھ" category="letter">ھ</text>
<text name="H" label="ح" category="letter">ح</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ج" category="letter">ج</text>
<text name="J" label="ژ" category="letter">ژ</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ک" category="letter">ک</text>
<text name="K" label="خ" category="letter">خ</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ل" category="letter">ل</text>
<text name="L" label="ؓ" category="letter">ؓ</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="؛" category="letter">؛</text>
<text name="colon" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ز" category="letter">ز</text>
<text name="Z" label="ذ" category="letter">ذ</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ص" category="letter">ص</text>
<text name="X" label="ض" category="letter">ض</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="چ" category="letter">چ</text>
<text name="C" label="ث" category="letter">ث</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ط" category="letter">ط</text>
<text name="V" label="ظ" category="letter">ظ</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ب" category="letter">ب</text>
<text name="B" label="أ" category="letter">أ</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ن" category="letter">ن</text>
<text name="N" label="ں" category="letter">ں</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="م" category="letter">م</text>
<text name="M" label="ٔ" category="letter">ٔ</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="،" category="letter">،</text>
<text name="less" label="ِ" category="letter">ِ</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="۔" category="letter">۔</text>
<text name="greater" label="َ" category="letter">َ</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="/" category="letter">/</text>
<text name="question" label="؟" category="letter">؟</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ऒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="१" category="letter"></text>
<text name="exclam" label="ऍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="२" category="letter"></text>
<text name="at" label="ॅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="३" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="४" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="५" category="letter"></text>
<text name="percent" label="ज्ञ" category="letter">ज्ञ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="६" category="letter"></text>
<text name="asciicircum" label="त्र" category="letter">त्र</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="७" category="letter"></text>
<text name="ampersand" label="क्ष" category="letter">क्ष</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="८" category="letter"></text>
<text name="asterisk" label="श्र" category="letter">श्र</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="९" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ृ" category="letter"></text>
<text name="plus" label="ऋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ौ" category="letter"></text>
<text name="Q" label="औ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ै" category="letter"></text>
<text name="W" label="ऐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ा" category="letter"></text>
<text name="E" label="आ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ी" category="letter"></text>
<text name="R" label="ई" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ू" category="letter"></text>
<text name="T" label="ऊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ब" category="letter"></text>
<text name="Y" label="भ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ह" category="letter"></text>
<text name="U" label="ङ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ग" category="letter"></text>
<text name="I" label="घ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="द" category="letter"></text>
<text name="O" label="ध" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ज" category="letter"></text>
<text name="P" label="झ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ड" category="letter"></text>
<text name="braceleft" label="ढ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="़" category="letter"></text>
<text name="braceright" label="ञ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ॉ" category="letter"></text>
<text name="bar" label="ऑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ो" category="letter"></text>
<text name="A" label="ओ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="े" category="letter"></text>
<text name="S" label="ए" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="्‌" category="letter">्‌</text>
<text name="D" label="अ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ि" category="letter">ि</text>
<text name="F" label="इ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ु" category="letter"></text>
<text name="G" label="उ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="प" category="letter"></text>
<text name="H" label="फ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="र" category="letter"></text>
<text name="J" label="ऱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="क" category="letter"></text>
<text name="K" label="ख" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="त" category="letter"></text>
<text name="L" label="थ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="च" category="letter"></text>
<text name="colon" label="छ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ठ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ॆ" category="letter"></text>
<text name="Z" label="ऎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ं" category="letter"></text>
<text name="X" label="ँ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="म" category="letter"></text>
<text name="C" label="ण" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="न" category="letter"></text>
<text name="V" label="ऩ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="व" category="letter"></text>
<text name="B" label="ऴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ल" category="letter"></text>
<text name="N" label="ळ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="स" category="letter"></text>
<text name="M" label="श" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ष" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="य" category="letter"></text>
<text name="question" label="य़" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ഒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="൧" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="൨" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="൩" category="letter"></text>
<text name="numbersign" label="്ര" category="letter">്ര</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="൪" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="൫" category="letter"></text>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="൬" category="letter"></text>
<text name="asciicircum" label="^" category="letter">^</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="" category="letter"></text>
<text name="ampersand" label="ക്ഷ" category="letter">ക്ഷ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="൮" category="letter"></text>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="൯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ഃ" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ൃ" category="letter"></text>
<text name="plus" label="ഋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ൌ" category="letter"></text>
<text name="Q" label="ഔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ൈ" category="letter"></text>
<text name="W" label="ഐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ാ" category="letter"></text>
<text name="E" label="ആ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ീ" category="letter"></text>
<text name="R" label="ഈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ൂ" category="letter"></text>
<text name="T" label="ഊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ബ" category="letter"></text>
<text name="Y" label="ഭ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ഹ" category="letter"></text>
<text name="U" label="ങ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ഗ" category="letter"></text>
<text name="I" label="ഘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ദ" category="letter"></text>
<text name="O" label="ധ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ജ" category="letter"></text>
<text name="P" label="ഝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ഡ" category="letter"></text>
<text name="braceleft" label="ഢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="" category="letter"></text>
<text name="braceright" label="ഞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="" category="letter"></text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ോ" category="letter"></text>
<text name="A" label="ഓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="േ" category="letter"></text>
<text name="S" label="ഏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="്" category="letter"></text>
<text name="D" label="അ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ി" category="letter">ി</text>
<text name="F" label="ഇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ു" category="letter"></text>
<text name="G" label="ഉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="പ" category="letter"></text>
<text name="H" label="ഫ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ര" category="letter"></text>
<text name="J" label="റ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ക" category="letter"></text>
<text name="K" label="ഖ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ത" category="letter"></text>
<text name="L" label="ഥ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ച" category="letter"></text>
<text name="colon" label="ഛ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="െ" category="letter"></text>
<text name="Z" label="എ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="" category="letter"></text>
<text name="X" label="X" category="letter">X</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="മ" category="letter"></text>
<text name="C" label="ണ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ന" category="letter"></text>
<text name="V" label="V" category="letter">V</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="വ" category="letter"></text>
<text name="B" label="ഴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ല" category="letter"></text>
<text name="N" label="ള" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="സ" category="letter"></text>
<text name="M" label="ശ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ഷ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="യ" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ऒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="१" category="letter"></text>
<text name="exclam" label="ऍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="२" category="letter"></text>
<text name="at" label="ॅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="३" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="४" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="५" category="letter"></text>
<text name="percent" label="ज्ञ" category="letter">ज्ञ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="६" category="letter"></text>
<text name="asciicircum" label="त्र" category="letter">त्र</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="७" category="letter"></text>
<text name="ampersand" label="क्ष" category="letter">क्ष</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="८" category="letter"></text>
<text name="asterisk" label="श्र" category="letter">श्र</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="९" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ृ" category="letter"></text>
<text name="plus" label="ऋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ौ" category="letter"></text>
<text name="Q" label="औ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ै" category="letter"></text>
<text name="W" label="ऐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ा" category="letter"></text>
<text name="E" label="आ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ी" category="letter"></text>
<text name="R" label="ई" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ू" category="letter"></text>
<text name="T" label="ऊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ब" category="letter"></text>
<text name="Y" label="भ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ह" category="letter"></text>
<text name="U" label="ङ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ग" category="letter"></text>
<text name="I" label="घ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="द" category="letter"></text>
<text name="O" label="ध" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ज" category="letter"></text>
<text name="P" label="झ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ड" category="letter"></text>
<text name="braceleft" label="ढ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="़" category="letter"></text>
<text name="braceright" label="ञ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ॉ" category="letter"></text>
<text name="bar" label="ऑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ो" category="letter"></text>
<text name="A" label="ओ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="े" category="letter"></text>
<text name="S" label="ए" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="्" category="letter"></text>
<text name="D" label="अ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ि" category="letter">ि</text>
<text name="F" label="इ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ु" category="letter"></text>
<text name="G" label="उ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="प" category="letter"></text>
<text name="H" label="फ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="र" category="letter"></text>
<text name="J" label="ऱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="क" category="letter"></text>
<text name="K" label="ख" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="त" category="letter"></text>
<text name="L" label="थ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="च" category="letter"></text>
<text name="colon" label="छ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ठ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ॆ" category="letter"></text>
<text name="Z" label="ऎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ं" category="letter"></text>
<text name="X" label="ँ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="म" category="letter"></text>
<text name="C" label="ण" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="न" category="letter"></text>
<text name="V" label="ऩ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="व" category="letter"></text>
<text name="B" label="ऴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ल" category="letter"></text>
<text name="N" label="ळ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="स" category="letter"></text>
<text name="M" label="श" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ष" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="य" category="letter"></text>
<text name="question" label="य़" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/my.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="၁" category="letter"></text>
<text name="exclam" label="ဍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="၂" category="letter"></text>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="၃" category="letter"></text>
<text name="numbersign" label="ဋ" category="letter"></text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="၄" category="letter"></text>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="၅" category="letter"></text>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="၆" category="letter"></text>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="၇" category="letter"></text>
<text name="ampersand" label="ရ" category="letter"></text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="၈" category="letter"></text>
<text name="asterisk" label="ဂ" category="letter"></text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="၉" category="letter"></text>
<keysym name="parenleft" label="(" category="letter" keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<keysym name="underscore" label="_" category="letter" keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ဆ" category="letter"></text>
<text name="Q" label="၍" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="တ" category="letter"></text>
<keysym name="W" label="W" category="letter" keyval="87">W</keysym>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="န" category="letter"></text>
<keysym name="E" label="E" category="letter" keyval="69">E</keysym>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="မ" category="letter"></text>
<keysym name="R" label="R" category="letter" keyval="82">R</keysym>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="အ" category="letter"></text>
<keysym name="T" label="T" category="letter" keyval="84">T</keysym>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ပ" category="letter"></text>
<keysym name="Y" label="Y" category="letter" keyval="89">Y</keysym>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="က" category="letter">က</text>
<keysym name="U" label="U" category="letter" keyval="85">U</keysym>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="င" category="letter"></text>
<keysym name="I" label="I" category="letter" keyval="73">I</keysym>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="သ" category="letter"></text>
<text name="O" label="ဥ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="စ" category="letter"></text>
<text name="P" label="ဏ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ဟ" category="letter"></text>
<text name="braceleft" label="ဎ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="ဉ" category="letter"></text>
<text name="braceright" label="ဧ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="၏" category="letter"></text>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ေ" category="letter"></text>
<text name="A" label="ဗ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="္" category="letter"></text>
<text name="S" label="္" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="ိ" category="letter"></text>
<text name="D" label="ီ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="္" category="letter"></text>
<text name="F" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="" category="letter"></text>
<text name="G" label="္" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="့" category="letter"></text>
<text name="H" label="ံ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="္" category="letter"></text>
<text name="J" label="ဲ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ု" category="letter"></text>
<keysym name="K" label="K" category="letter" keyval="75">K</keysym>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ူ" category="letter"></text>
<keysym name="L" label="L" category="letter" keyval="76">L</keysym>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="း" category="letter"></text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ဓ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ဖ" category="letter"></text>
<text name="Z" label="ဇ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ထ" category="letter"></text>
<text name="X" label="ဌ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ခ" category="letter"></text>
<text name="C" label="ဃ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="လ" category="letter"></text>
<text name="V" label="ဠ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ဘ" category="letter"></text>
<keysym name="B" label="B" category="letter" keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ည" category="letter"></text>
<keysym name="N" label="N" category="letter" keyval="78">N</keysym>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ာ" category="letter"></text>
<keysym name="M" label="M" category="letter" keyval="77">M</keysym>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="ယ" category="letter"></text>
<text name="less" label="၍" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ဈ" category="letter"></text>
<text name="greater" label="ဤ" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="။" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="୰" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="୧" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="୩" category="letter"></text>
<text name="numbersign" label="୍ର" category="letter">୍ର</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="୪" category="letter"></text>
<text name="dollar" label="ର୍" category="letter">ର୍</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="୫" category="letter"></text>
<text name="percent" label="ଜ୍ଞ" category="letter">ଜ୍ଞ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="୬" category="letter"></text>
<text name="asciicircum" label="ତ୍ର" category="letter">ତ୍ର</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="୭" category="letter"></text>
<text name="ampersand" label="କ୍ଷ" category="letter">କ୍ଷ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="୮" category="letter"></text>
<text name="asterisk" label="ଶ୍ର" category="letter">ଶ୍ର</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="୯" category="letter"></text>
<text name="parenleft" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ୃ" category="letter"></text>
<text name="plus" label="ଋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ୌ" category="letter"></text>
<text name="Q" label="ଔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ୈ" category="letter"></text>
<text name="W" label="ଐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ା" category="letter"></text>
<text name="E" label="ଆ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ୀ" category="letter"></text>
<text name="R" label="ଈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ୂ" category="letter"></text>
<text name="T" label="ଊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ବ" category="letter"></text>
<text name="Y" label="ଭ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ହ" category="letter"></text>
<text name="U" label="ଙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ଗ" category="letter"></text>
<text name="I" label="ଘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ଦ" category="letter"></text>
<text name="O" label="ଧ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ଜ" category="letter"></text>
<text name="P" label="ଝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ଡ" category="letter"></text>
<text name="braceleft" label="ଢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="଼" category="letter"></text>
<text name="braceright" label="ଞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ୋ" category="letter"></text>
<text name="A" label="ଓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="େ" category="letter"></text>
<text name="S" label="ଏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="୍" category="letter"></text>
<text name="D" label="ଅ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ି" category="letter">ି</text>
<text name="F" label="ଇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ୁ" category="letter"></text>
<text name="G" label="ଉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ପ" category="letter"></text>
<text name="H" label="ଫ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ର" category="letter"></text>
<text name="J" label="J" category="letter">J</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="କ" category="letter"></text>
<text name="K" label="ଖ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ତ" category="letter"></text>
<text name="L" label="ଥ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ଚ" category="letter"></text>
<text name="colon" label="ଛ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="z" category="letter">z</text>
<text name="Z" label="Z" category="letter">Z</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ଂ" category="letter"></text>
<text name="X" label="ଁ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ମ" category="letter"></text>
<text name="C" label="ଣ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ନ" category="letter"></text>
<text name="V" label="V" category="letter">V</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ୱ" category="letter"></text>
<text name="B" label="ଵ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ଲ" category="letter"></text>
<text name="N" label="ଳ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ସ" category="letter"></text>
<text name="M" label="ଶ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ଷ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ୟ" category="letter"></text>
<text name="question" label="ଯ" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="" category="letter"></text>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="੨" category="letter"></text>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="੩" category="letter"></text>
<keysym name="numbersign" label="#" category="letter" keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="" category="letter"></text>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="੫" category="letter"></text>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="੬" category="letter"></text>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="੭" category="letter"></text>
<keysym name="ampersand" label="&amp;" category="letter" keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="੮" category="letter"></text>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="੯" category="letter"></text>
<keysym name="parenleft" label="(" category="letter" keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<keysym name="parenright" label=")" category="letter" keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="_" category="letter">_</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="=" category="letter">=</text>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ੌ" category="letter"></text>
<text name="Q" label="ਔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ੈ" category="letter"></text>
<text name="W" label="ਐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ਾ" category="letter"></text>
<text name="E" label="ਆ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ੀ" category="letter"></text>
<text name="R" label="ਈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ੂ" category="letter"></text>
<text name="T" label="ਊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ਬ" category="letter"></text>
<text name="Y" label="ਭ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ਹ" category="letter"></text>
<text name="U" label="ਙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ਗ" category="letter"></text>
<text name="I" label="ਘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ਦ" category="letter"></text>
<text name="O" label="ਧ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ਜ" category="letter"></text>
<text name="P" label="ਝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ਡ" category="letter"></text>
<text name="braceleft" label="ਢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="਼" category="letter"></text>
<text name="braceright" label="ਞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ੋ" category="letter"></text>
<text name="A" label="ਓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ੇ" category="letter"></text>
<text name="S" label="ਏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="੍" category="letter"></text>
<text name="D" label="ਅ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ਿ" category="letter">ਿ</text>
<text name="F" label="ਇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ੁ" category="letter"></text>
<text name="G" label="ਉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ਪ" category="letter"></text>
<text name="H" label="ਫ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ਰ" category="letter"></text>
<text name="J" label="ੜ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ਕ" category="letter"></text>
<text name="K" label="ਖ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ਤ" category="letter"></text>
<text name="L" label="ਥ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ਚ" category="letter"></text>
<text name="colon" label="ਛ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ਠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ੰ" category="letter"></text>
<text name="Z" label="ੱ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ਜ਼" category="letter"></text>
<text name="X" label="ਫ਼" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ਮ" category="letter"></text>
<text name="C" label="ਣ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ਨ" category="letter"></text>
<text name="V" label="ਂ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ਵ" category="letter"></text>
<text name="B" label="ਞ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ਲ" category="letter"></text>
<text name="N" label="ਲ਼" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ਸ" category="letter"></text>
<text name="M" label="ਸ਼" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ੳ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="ੲ" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ਯ" category="letter"></text>
<text name="question" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/ru.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="Ё" category="letter">Ё</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="1" label="1" category="letter" keyval="49">1</keysym>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="2" label="2" category="letter" keyval="50">2</keysym>
<text name="at" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="3" label="3" category="letter" keyval="51">3</keysym>
<text name="numbersign" label="№" category="letter"></text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="4" label="4" category="letter" keyval="52">4</keysym>
<text name="dollar" label=";" category="letter">;</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<keysym name="5" label="5" category="letter" keyval="53">5</keysym>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="6" label="6" category="letter" keyval="54">6</keysym>
<text name="asciicircum" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="7" label="7" category="letter" keyval="55">7</keysym>
<text name="ampersand" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="8" label="8" category="letter" keyval="56">8</keysym>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="9" label="9" category="letter" keyval="57">9</keysym>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="0" label="0" category="letter" keyval="48">0</keysym>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<text name="underscore" label="_" category="letter">_</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="й" category="letter">й</text>
<text name="Q" label="Й" category="letter">Й</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ц" category="letter">ц</text>
<text name="W" label="Ц" category="letter">Ц</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="у" category="letter">у</text>
<text name="E" label="У" category="letter">У</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="к" category="letter">к</text>
<text name="R" label="К" category="letter">К</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="е" category="letter">е</text>
<text name="T" label="Е" category="letter">Е</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="н" category="letter">н</text>
<text name="Y" label="Н" category="letter">Н</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="г" category="letter">г</text>
<text name="U" label="Г" category="letter">Г</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ш" category="letter">ш</text>
<text name="I" label="Ш" category="letter">Ш</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="щ" category="letter">щ</text>
<text name="O" label="Щ" category="letter">Щ</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="з" category="letter">з</text>
<text name="P" label="З" category="letter">З</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="х" category="letter">х</text>
<text name="braceleft" label="Х" category="letter">Х</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="ъ" category="letter">ъ</text>
<text name="braceright" label="Ъ" category="letter">Ъ</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ф" category="letter">ф</text>
<text name="A" label="Ф" category="letter">Ф</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ы" category="letter">ы</text>
<text name="S" label="Ы" category="letter">Ы</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="в" category="letter">в</text>
<text name="D" label="В" category="letter">В</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="а" category="letter">а</text>
<text name="F" label="А" category="letter">А</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="п" category="letter">п</text>
<text name="G" label="П" category="letter">П</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="р" category="letter">р</text>
<text name="H" label="Р" category="letter">Р</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="о" category="letter">о</text>
<text name="J" label="О" category="letter">О</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="л" category="letter">л</text>
<text name="K" label="Л" category="letter">Л</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="д" category="letter">д</text>
<text name="L" label="Д" category="letter">Д</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ж" category="letter">ж</text>
<text name="colon" label="Ж" category="letter">Ж</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="Э" category="letter">Э</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="я" category="letter">я</text>
<text name="Z" label="Я" category="letter">Я</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ч" category="letter">ч</text>
<text name="X" label="Ч" category="letter">Ч</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="с" category="letter">с</text>
<text name="C" label="С" category="letter">С</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="м" category="letter">м</text>
<text name="V" label="М" category="letter">М</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="и" category="letter">и</text>
<text name="B" label="И" category="letter">И</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="т" category="letter">т</text>
<text name="N" label="Т" category="letter">Т</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ь" category="letter">ь</text>
<text name="M" label="Ь" category="letter">Ь</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="б" category="letter">б</text>
<text name="less" label="Б" category="letter">Б</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ю" category="letter">ю</text>
<text name="greater" label="Ю" category="letter">Ю</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="." category="letter">.</text>
<text name="question" label="," category="letter">,</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ऒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="१" category="letter"></text>
<text name="exclam" label="ऍ" category="letter"></text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="२" category="letter"></text>
<text name="at" label="ॅ" category="letter"></text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="३" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="४" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="५" category="letter"></text>
<text name="percent" label="ज्ञ" category="letter">ज्ञ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="६" category="letter"></text>
<text name="asciicircum" label="त्र" category="letter">त्र</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="७" category="letter"></text>
<text name="ampersand" label="क्ष" category="letter">क्ष</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="८" category="letter"></text>
<text name="asterisk" label="श्र" category="letter">श्र</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="९" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ृ" category="letter"></text>
<text name="plus" label="ऋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ौ" category="letter"></text>
<text name="Q" label="औ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ै" category="letter"></text>
<text name="W" label="ऐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ा" category="letter"></text>
<text name="E" label="आ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ी" category="letter"></text>
<text name="R" label="ई" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ू" category="letter"></text>
<text name="T" label="ऊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ॿ" category="letter">ॿ</text>
<text name="Y" label="भ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ह" category="letter"></text>
<text name="U" label="ङ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ॻ" category="letter"></text>
<text name="I" label="घ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="द" category="letter"></text>
<text name="O" label="ध" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ॼ" category="letter"></text>
<text name="P" label="झ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="ॾ" category="letter"></text>
<text name="braceleft" label="ढ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="़" category="letter"></text>
<text name="braceright" label="ञ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ॉ" category="letter"></text>
<text name="bar" label="ऑ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ो" category="letter"></text>
<text name="A" label="ओ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="े" category="letter"></text>
<text name="S" label="ए" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="्‌" category="letter">्‌</text>
<text name="D" label="अ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ि" category="letter">ि</text>
<text name="F" label="इ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ु" category="letter"></text>
<text name="G" label="उ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="प" category="letter"></text>
<text name="H" label="फ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="र" category="letter"></text>
<text name="J" label="ऱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="क" category="letter"></text>
<text name="K" label="ख" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="त" category="letter"></text>
<text name="L" label="थ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="च" category="letter"></text>
<text name="colon" label="छ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ठ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ॆ" category="letter"></text>
<text name="Z" label="ऎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ं" category="letter"></text>
<text name="X" label="ँ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="म" category="letter"></text>
<text name="C" label="ण" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="न" category="letter"></text>
<text name="V" label="ऩ" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="व" category="letter"></text>
<text name="B" label="ऴ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ल" category="letter"></text>
<text name="N" label="ळ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="स" category="letter"></text>
<text name="M" label="श" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ष" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="।" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="य" category="letter"></text>
<text name="question" label="य़" category="letter"></text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ஒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="1" category="letter">1</text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="2" category="letter">2</text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="3" category="letter">3</text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="4" category="letter">4</text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="5" category="letter">5</text>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="6" category="letter">6</text>
<text name="asciicircum" label="^" category="letter">^</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="7" category="letter">7</text>
<text name="ampersand" label="க்ஷ" category="letter">க்ஷ</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="8" category="letter">8</text>
<text name="asterisk" label="ஷ்ர" category="letter">ஷ்ர</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="9" category="letter">9</text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="0" category="letter">0</text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="ஃ" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="=" category="letter">=</text>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ௌ" category="letter"></text>
<text name="Q" label="ஔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ை" category="letter"></text>
<text name="W" label="ஐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ா" category="letter"></text>
<text name="E" label="ஆ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ீ" category="letter"></text>
<text name="R" label="ஈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ூ" category="letter"></text>
<text name="T" label="ஊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="y" category="letter">y</text>
<text name="Y" label="Y" category="letter">Y</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ஹ" category="letter"></text>
<text name="U" label="ங" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="i" category="letter">i</text>
<text name="I" label="I" category="letter">I</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="o" category="letter">o</text>
<text name="O" label="O" category="letter">O</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ஜ" category="letter"></text>
<text name="P" label="P" category="letter">P</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="[" category="letter">[</text>
<text name="braceleft" label="{" category="letter">{</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="]" category="letter">]</text>
<text name="braceright" label="ஞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ோ" category="letter"></text>
<text name="A" label="ஓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ே" category="letter"></text>
<text name="S" label="ஏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="்" category="letter"></text>
<text name="D" label="அ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ி" category="letter">ி</text>
<text name="F" label="இ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ு" category="letter"></text>
<text name="G" label="உ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ப" category="letter"></text>
<text name="H" label="H" category="letter">H</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ர" category="letter"></text>
<text name="J" label="ற" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="க" category="letter"></text>
<text name="K" label="K" category="letter">K</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="த" category="letter"></text>
<text name="L" label="L" category="letter">L</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ச" category="letter"></text>
<text name="colon" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ெ" category="letter"></text>
<text name="Z" label="எ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="x" category="letter">x</text>
<text name="X" label="X" category="letter">X</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ம" category="letter"></text>
<text name="C" label="ண" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ந" category="letter"></text>
<text name="V" label="ன" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="வ" category="letter"></text>
<text name="B" label="ழ" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ல" category="letter"></text>
<text name="N" label="ள" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ஸ" category="letter"></text>
<text name="M" label="M" category="letter">M</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ஷ" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ய" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="ఒ" category="letter"></text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="౧" category="letter"></text>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="౨" category="letter"></text>
<text name="at" label="@" category="letter">@</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="౩" category="letter"></text>
<text name="numbersign" label="#" category="letter">#</text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="౪" category="letter"></text>
<text name="dollar" label="$" category="letter">$</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="౫" category="letter"></text>
<text name="percent" label="జ్ఞ" category="letter">జ్ఞ</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="౬" category="letter"></text>
<text name="asciicircum" label="త్ర" category="letter">త్ర</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="౭" category="letter"></text>
<text name="ampersand" label="క్ష" category="letter">క్ష</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="౮" category="letter"></text>
<text name="asterisk" label="శ్ర" category="letter">శ్ర</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="౯" category="letter"></text>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="" category="letter"></text>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="-" category="letter">-</text>
<text name="underscore" label="_" category="letter">_</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="equal" label="ృ" category="letter"></text>
<text name="plus" label="ఋ" category="letter"></text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ౌ" category="letter"></text>
<text name="Q" label="ఔ" category="letter"></text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ై" category="letter"></text>
<text name="W" label="ఐ" category="letter"></text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ా" category="letter"></text>
<text name="E" label="ఆ" category="letter"></text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ీ" category="letter"></text>
<text name="R" label="ఈ" category="letter"></text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ూ" category="letter"></text>
<text name="T" label="ఊ" category="letter"></text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="బ" category="letter"></text>
<text name="Y" label="భ" category="letter"></text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="హ" category="letter"></text>
<text name="U" label="ఙ" category="letter"></text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="గ" category="letter"></text>
<text name="I" label="ఘ" category="letter"></text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ద" category="letter"></text>
<text name="O" label="ధ" category="letter"></text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="జ" category="letter"></text>
<text name="P" label="ఝ" category="letter"></text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="డ" category="letter"></text>
<text name="braceleft" label="ఢ" category="letter"></text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="" category="letter"></text>
<text name="braceright" label="ఞ" category="letter"></text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="ౄ" category="letter"></text>
<text name="bar" label="ౠ" category="letter"></text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ో" category="letter"></text>
<text name="A" label="ఓ" category="letter"></text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ే" category="letter"></text>
<text name="S" label="ఏ" category="letter"></text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="్" category="letter"></text>
<text name="D" label="అ" category="letter"></text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ి" category="letter">ి</text>
<text name="F" label="ఇ" category="letter"></text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ు" category="letter"></text>
<text name="G" label="ఉ" category="letter"></text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ప" category="letter"></text>
<text name="H" label="ఫ" category="letter"></text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ర" category="letter"></text>
<text name="J" label="ఱ" category="letter"></text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="క" category="letter"></text>
<text name="K" label="ఖ" category="letter"></text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="త" category="letter"></text>
<text name="L" label="థ" category="letter"></text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="చ" category="letter"></text>
<text name="colon" label="ఛ" category="letter"></text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="ఠ" category="letter"></text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ె" category="letter"></text>
<text name="Z" label="ఎ" category="letter"></text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="" category="letter"></text>
<text name="X" label="ఁ" category="letter"></text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="మ" category="letter"></text>
<text name="C" label="ణ" category="letter"></text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="న" category="letter"></text>
<text name="V" label="ః" category="letter"></text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="వ" category="letter"></text>
<text name="B" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ల" category="letter"></text>
<text name="N" label="ళ" category="letter"></text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="స" category="letter"></text>
<text name="M" label="శ" category="letter"></text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="," category="letter">,</text>
<text name="less" label="ష" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="." category="letter">.</text>
<text name="greater" label="&gt;" category="letter">&gt;</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="య" category="letter"></text>
<text name="question" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

681
data/keyboards/th.xml Normal file
View File

@ -0,0 +1,681 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="95">underscore</keysym>
<keysym keyval="37">percent</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3557">Thai_lakkhangyao</keysym>
<keysym keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="47">slash</keysym>
<keysym keyval="3569">Thai_leknung</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="45">minus</keysym>
<keysym keyval="3570">Thai_leksong</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3520">Thai_phosamphao</keysym>
<keysym keyval="3571">Thai_leksam</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3510">Thai_thothung</keysym>
<keysym keyval="3572">Thai_leksi</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3544">Thai_sarau</keysym>
<keysym keyval="3545">Thai_sarauu</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3542">Thai_saraue</keysym>
<keysym keyval="3551">Thai_baht</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3492">Thai_khokhwai</keysym>
<keysym keyval="3573">Thai_lekha</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3509">Thai_totao</keysym>
<keysym keyval="3574">Thai_lekhok</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3496">Thai_chochan</keysym>
<keysym keyval="3575">Thai_lekchet</keysym>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3490">Thai_khokhai</keysym>
<keysym keyval="3576">Thai_lekpaet</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3498">Thai_chochang</keysym>
<keysym keyval="3577">Thai_lekkao</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline13</oref>
<symbols groups="1" levels="1">
<keysym keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="2">
<keysym keyval="65289">Tab</keysym>
<keysym keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3558">Thai_maiyamok</keysym>
<keysym keyval="3568">Thai_leksun</keysym>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3556">Thai_saraaimaimalai</keysym>
<keysym keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3539">Thai_saraam</keysym>
<keysym keyval="3502">Thai_dochada</keysym>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3518">Thai_phophan</keysym>
<keysym keyval="3505">Thai_thonangmontho</keysym>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3536">Thai_saraa</keysym>
<keysym keyval="3512">Thai_thothong</keysym>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3537">Thai_maihanakat</keysym>
<keysym keyval="3565">Thai_nikhahit</keysym>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3541">Thai_saraii</keysym>
<keysym keyval="3562">Thai_maitri</keysym>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3523">Thai_rorua</keysym>
<keysym keyval="3507">Thai_nonen</keysym>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3513">Thai_nonu</keysym>
<keysym keyval="3535">Thai_paiyannoi</keysym>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3522">Thai_yoyak</keysym>
<keysym keyval="3501">Thai_yoying</keysym>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3514">Thai_bobaimai</keysym>
<keysym keyval="3504">Thai_thothan</keysym>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3525">Thai_loling</keysym>
<keysym keyval="44">comma</keysym>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym keyval="3491">Thai_khokhuat</keysym>
<keysym keyval="3493">Thai_khokhon</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="1">
<keysym keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3519">Thai_fofan</keysym>
<keysym keyval="3524">Thai_ru</keysym>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3531">Thai_hohip</keysym>
<keysym keyval="3494">Thai_khorakhang</keysym>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3489">Thai_kokai</keysym>
<keysym keyval="3503">Thai_topatak</keysym>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3508">Thai_dodek</keysym>
<keysym keyval="3554">Thai_sarao</keysym>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3552">Thai_sarae</keysym>
<keysym keyval="3500">Thai_chochoe</keysym>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3561">Thai_maitho</keysym>
<keysym keyval="3559">Thai_maitaikhu</keysym>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3560">Thai_maiek</keysym>
<keysym keyval="3563">Thai_maichattawa</keysym>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3538">Thai_saraaa</keysym>
<keysym keyval="3529">Thai_sorusi</keysym>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3530">Thai_sosua</keysym>
<keysym keyval="3528">Thai_sosala</keysym>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3527">Thai_wowaen</keysym>
<keysym keyval="3499">Thai_soso</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3495">Thai_ngongu</keysym>
<keysym keyval="46">period</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3516">Thai_phophung</keysym>
<keysym keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3515">Thai_popla</keysym>
<keysym keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3553">Thai_saraae</keysym>
<keysym keyval="3497">Thai_choching</keysym>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3533">Thai_oang</keysym>
<keysym keyval="3534">Thai_honokhuk</keysym>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3540">Thai_sarai</keysym>
<keysym keyval="3546">Thai_phinthu</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3543">Thai_sarauee</keysym>
<keysym keyval="3564">Thai_thanthakhat</keysym>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3511">Thai_thothahan</keysym>
<keysym keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3521">Thai_moma</keysym>
<keysym keyval="3506">Thai_thophuthao</keysym>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3555">Thai_saraaimaimuan</keysym>
<keysym keyval="3532">Thai_lochula</keysym>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="3517">Thai_fofa</keysym>
<keysym keyval="3526">Thai_lu</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="2">
<symbol label="⌨" icon="input-keyboard-symbolic">cycle-keyboard</symbol>
<symbol label="☺" icon="preferences-system-symbolic">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65513">Alt_L</keysym>
<keysym keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline13">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/ua.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<text name="asciitilde" label="Ґ" category="letter">Ґ</text>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="1" label="1" category="letter" keyval="49">1</keysym>
<text name="exclam" label="!" category="letter">!</text>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="2" label="2" category="letter" keyval="50">2</keysym>
<text name="at" label="&quot;" category="letter">&quot;</text>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="3" label="3" category="letter" keyval="51">3</keysym>
<text name="numbersign" label="№" category="letter"></text>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="4" label="4" category="letter" keyval="52">4</keysym>
<text name="dollar" label=";" category="letter">;</text>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<keysym name="5" label="5" category="letter" keyval="53">5</keysym>
<text name="percent" label="%" category="letter">%</text>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="6" label="6" category="letter" keyval="54">6</keysym>
<text name="asciicircum" label=":" category="letter">:</text>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="7" label="7" category="letter" keyval="55">7</keysym>
<text name="ampersand" label="?" category="letter">?</text>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="8" label="8" category="letter" keyval="56">8</keysym>
<text name="asterisk" label="*" category="letter">*</text>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="9" label="9" category="letter" keyval="57">9</keysym>
<text name="parenleft" label="(" category="letter">(</text>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="0" label="0" category="letter" keyval="48">0</keysym>
<text name="parenright" label=")" category="letter">)</text>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<text name="underscore" label="_" category="letter">_</text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<text name="plus" label="+" category="letter">+</text>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="й" category="letter">й</text>
<text name="Q" label="Й" category="letter">Й</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ц" category="letter">ц</text>
<text name="W" label="Ц" category="letter">Ц</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="у" category="letter">у</text>
<text name="E" label="У" category="letter">У</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="к" category="letter">к</text>
<text name="R" label="К" category="letter">К</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="е" category="letter">е</text>
<text name="T" label="Е" category="letter">Е</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="н" category="letter">н</text>
<text name="Y" label="Н" category="letter">Н</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="г" category="letter">г</text>
<text name="U" label="Г" category="letter">Г</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ш" category="letter">ш</text>
<text name="I" label="Ш" category="letter">Ш</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="щ" category="letter">щ</text>
<text name="O" label="Щ" category="letter">Щ</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="з" category="letter">з</text>
<text name="P" label="З" category="letter">З</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketleft" label="х" category="letter">х</text>
<text name="braceleft" label="Х" category="letter">Х</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="bracketright" label="ї" category="letter">ї</text>
<text name="braceright" label="Ї" category="letter">Ї</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<text name="backslash" label="\" category="letter">\</text>
<text name="bar" label="|" category="letter">|</text>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ф" category="letter">ф</text>
<text name="A" label="Ф" category="letter">Ф</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="і" category="letter">і</text>
<text name="S" label="І" category="letter">І</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="в" category="letter">в</text>
<text name="D" label="В" category="letter">В</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="а" category="letter">а</text>
<text name="F" label="А" category="letter">А</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="п" category="letter">п</text>
<text name="G" label="П" category="letter">П</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="р" category="letter">р</text>
<text name="H" label="Р" category="letter">Р</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="о" category="letter">о</text>
<text name="J" label="О" category="letter">О</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="л" category="letter">л</text>
<text name="K" label="Л" category="letter">Л</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="д" category="letter">д</text>
<text name="L" label="Д" category="letter">Д</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ж" category="letter">ж</text>
<text name="colon" label="Ж" category="letter">Ж</text>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<text name="quotedbl" label="Є" category="letter">Є</text>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="я" category="letter">я</text>
<text name="Z" label="Я" category="letter">Я</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ч" category="letter">ч</text>
<text name="X" label="Ч" category="letter">Ч</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="с" category="letter">с</text>
<text name="C" label="С" category="letter">С</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="м" category="letter">м</text>
<text name="V" label="М" category="letter">М</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="и" category="letter">и</text>
<text name="B" label="И" category="letter">И</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="т" category="letter">т</text>
<text name="N" label="Т" category="letter">Т</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ь" category="letter">ь</text>
<text name="M" label="Ь" category="letter">Ь</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="б" category="letter">б</text>
<text name="less" label="Б" category="letter">Б</text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ю" category="letter">ю</text>
<text name="greater" label="Ю" category="letter">Ю</text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="." category="letter">.</text>
<text name="question" label="," category="letter">,</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

683
data/keyboards/ug.xml Normal file
View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="1" label="1" category="letter" keyval="49">1</keysym>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="2" label="2" category="letter" keyval="50">2</keysym>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="3" label="3" category="letter" keyval="51">3</keysym>
<keysym name="numbersign" label="#" category="letter" keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="4" label="4" category="letter" keyval="52">4</keysym>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<keysym name="5" label="5" category="letter" keyval="53">5</keysym>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="6" label="6" category="letter" keyval="54">6</keysym>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="7" label="7" category="letter" keyval="55">7</keysym>
<keysym name="ampersand" label="&amp;" category="letter" keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="8" label="8" category="letter" keyval="56">8</keysym>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="9" label="9" category="letter" keyval="57">9</keysym>
<keysym name="parenleft" label="(" category="letter" keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="0" label="0" category="letter" keyval="48">0</keysym>
<keysym name="parenright" label=")" category="letter" keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="minus" label="-" category="letter" keyval="45">minus</keysym>
<text name="underscore" label="—" category="letter"></text>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="چ" category="letter">چ</text>
<text name="Q" label="چ" category="letter">چ</text>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ۋ" category="letter">ۋ</text>
<text name="W" label="ۋ" category="letter">ۋ</text>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ې" category="letter">ې</text>
<text name="E" label="ې" category="letter">ې</text>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ر" category="letter">ر</text>
<text name="R" label="ر" category="letter">ر</text>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ت" category="letter">ت</text>
<text name="T" label="ت" category="letter">ت</text>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ي" category="letter">ي</text>
<text name="Y" label="ي" category="letter">ي</text>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ۇ" category="letter">ۇ</text>
<text name="U" label="ۇ" category="letter">ۇ</text>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ڭ" category="letter">ڭ</text>
<text name="I" label="ڭ" category="letter">ڭ</text>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="و" category="letter">و</text>
<text name="O" label="و" category="letter">و</text>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="پ" category="letter">پ</text>
<text name="P" label="پ" category="letter">پ</text>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="bracketleft" label="[" category="letter" keyval="91">bracketleft</keysym>
<text name="braceleft" label="«" category="letter">«</text>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="bracketright" label="]" category="letter" keyval="93">bracketright</keysym>
<text name="braceright" label="»" category="letter">»</text>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ھ" category="letter">ھ</text>
<text name="A" label="ھ" category="letter">ھ</text>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="س" category="letter">س</text>
<text name="S" label="س" category="letter">س</text>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="د" category="letter">د</text>
<text name="D" label="ژ" category="letter">ژ</text>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ا" category="letter">ا</text>
<text name="F" label="ف" category="letter">ف</text>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ە" category="letter">ە</text>
<text name="G" label="گ" category="letter">گ</text>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ى" category="letter">ى</text>
<text name="H" label="خ" category="letter">خ</text>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ق" category="letter">ق</text>
<text name="J" label="ج" category="letter">ج</text>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ك" category="letter">ك</text>
<text name="K" label="ۆ" category="letter">ۆ</text>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ل" category="letter">ل</text>
<text name="L" label="ل" category="letter">ل</text>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="؛" category="letter">؛</text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<keysym name="quotedbl" label="&quot;" category="letter" keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ز" category="letter">ز</text>
<text name="Z" label="ز" category="letter">ز</text>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ش" category="letter">ش</text>
<text name="X" label="ش" category="letter">ش</text>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="غ" category="letter">غ</text>
<text name="C" label="غ" category="letter">غ</text>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ۈ" category="letter">ۈ</text>
<text name="V" label="ۈ" category="letter">ۈ</text>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ب" category="letter">ب</text>
<text name="B" label="ب" category="letter">ب</text>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ن" category="letter">ن</text>
<text name="N" label="ن" category="letter">ن</text>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="م" category="letter">م</text>
<text name="M" label="م" category="letter">م</text>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="،" category="letter">،</text>
<text name="less" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="period" label="." category="letter" keyval="46">period</keysym>
<text name="greater" label="" category="letter"></text>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ئ" category="letter">ئ</text>
<text name="question" label="؟" category="letter">؟</text>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -1,707 +0,0 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,410.000000,190.000000</bounds>
<section name="Alpha">
<bounds>10.000000,50.000000,390.000000,129.000000</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode105" name="RCTL" column="7" row="4">
<bounds>359.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65508">Control_R</keysym>
</symbols>
</key>
<key id="keycode135" name="MENU" column="6" row="4">
<bounds>326.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65383">Menu</keysym>
</symbols>
</key>
<key id="keycode134" name="RWIN" column="5" row="4">
<bounds>294.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65516">Super_R</keysym>
</symbols>
</key>
<key id="keycode108" name="RALT" column="4" row="4">
<bounds>261.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode65" name="SPCE" column="3" row="4">
<bounds>106.000000,104.000000,153.000000,24.000000</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode64" name="LALT" column="2" row="4">
<bounds>73.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="2">
<keysym keyval="65513">Alt_L</keysym>
<keysym keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode133" name="LWIN" column="1" row="4">
<bounds>40.000000,104.000000,31.000000,24.000000</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym keyval="65515">Super_L</keysym>
</symbols>
</key>
<key id="keycode37" name="LCTL" column="0" row="4">
<bounds>2.000000,104.000000,36.000000,24.000000</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode62" name="RTSH" column="11" row="3">
<bounds>320.000000,78.000000,70.000000,24.000000</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode61" name="AB10" column="10" row="3">
<bounds>294.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="47">slash</keysym>
<keysym keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode60" name="AB09" column="9" row="3">
<bounds>268.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="46">period</keysym>
<keysym keyval="62">greater</keysym>
</symbols>
</key>
<key id="keycode59" name="AB08" column="8" row="3">
<bounds>242.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="44">comma</keysym>
<keysym keyval="60">less</keysym>
</symbols>
</key>
<key id="keycode58" name="AB07" column="7" row="3">
<bounds>216.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="109">m</keysym>
<keysym keyval="77">M</keysym>
</symbols>
</key>
<key id="keycode57" name="AB06" column="6" row="3">
<bounds>190.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="110">n</keysym>
<keysym keyval="78">N</keysym>
</symbols>
</key>
<key id="keycode56" name="AB05" column="5" row="3">
<bounds>164.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="98">b</keysym>
<keysym keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode55" name="AB04" column="4" row="3">
<bounds>138.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="118">v</keysym>
<keysym keyval="86">V</keysym>
</symbols>
</key>
<key id="keycode54" name="AB03" column="3" row="3">
<bounds>113.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="99">c</keysym>
<keysym keyval="67">C</keysym>
</symbols>
</key>
<key id="keycode53" name="AB02" column="2" row="3">
<bounds>87.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="120">x</keysym>
<keysym keyval="88">X</keysym>
</symbols>
</key>
<key id="keycode52" name="AB01" column="1" row="3">
<bounds>61.000000,78.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="122">z</keysym>
<keysym keyval="90">Z</keysym>
</symbols>
</key>
<key id="keycode50" name="LFSH" column="0" row="3">
<bounds>2.000000,78.000000,57.000000,24.000000</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode36" name="RTRN" column="12" row="2">
<bounds>333.000000,53.000000,57.000000,24.000000</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="1">
<keysym keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode48" name="AC11" column="11" row="2">
<bounds>307.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode47" name="AC10" column="10" row="2">
<bounds>281.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="59">semicolon</keysym>
<keysym keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode46" name="AC09" column="9" row="2">
<bounds>256.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="108">l</keysym>
<keysym keyval="76">L</keysym>
</symbols>
</key>
<key id="keycode45" name="AC08" column="8" row="2">
<bounds>230.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="107">k</keysym>
<keysym keyval="75">K</keysym>
</symbols>
</key>
<key id="keycode44" name="AC07" column="7" row="2">
<bounds>204.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="106">j</keysym>
<keysym keyval="74">J</keysym>
</symbols>
</key>
<key id="keycode43" name="AC06" column="6" row="2">
<bounds>178.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="104">h</keysym>
<keysym keyval="72">H</keysym>
</symbols>
</key>
<key id="keycode42" name="AC05" column="5" row="2">
<bounds>152.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
</symbols>
</key>
<key id="keycode41" name="AC04" column="4" row="2">
<bounds>126.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="102">f</keysym>
<keysym keyval="70">F</keysym>
</symbols>
</key>
<key id="keycode40" name="AC03" column="3" row="2">
<bounds>100.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="100">d</keysym>
<keysym keyval="68">D</keysym>
</symbols>
</key>
<key id="keycode39" name="AC02" column="2" row="2">
<bounds>74.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="115">s</keysym>
<keysym keyval="83">S</keysym>
</symbols>
</key>
<key id="keycode38" name="AC01" column="1" row="2">
<bounds>49.000000,53.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="97">a</keysym>
<keysym keyval="65">A</keysym>
</symbols>
</key>
<key id="keycode66" name="CAPS" column="0" row="2">
<bounds>2.000000,53.000000,44.000000,24.000000</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym keyval="65507">Control_L</keysym>
<keysym keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode51" name="BKSL" column="13" row="1">
<bounds>352.000000,27.000000,38.000000,24.000000</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="2">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode35" name="AD12" column="12" row="1">
<bounds>326.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="93">bracketright</keysym>
<keysym keyval="125">braceright</keysym>
</symbols>
</key>
<key id="keycode34" name="AD11" column="11" row="1">
<bounds>300.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="91">bracketleft</keysym>
<keysym keyval="123">braceleft</keysym>
</symbols>
</key>
<key id="keycode33" name="AD10" column="10" row="1">
<bounds>275.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="112">p</keysym>
<keysym keyval="80">P</keysym>
</symbols>
</key>
<key id="keycode32" name="AD09" column="9" row="1">
<bounds>249.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="111">o</keysym>
<keysym keyval="79">O</keysym>
</symbols>
</key>
<key id="keycode31" name="AD08" column="8" row="1">
<bounds>223.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="105">i</keysym>
<keysym keyval="73">I</keysym>
</symbols>
</key>
<key id="keycode30" name="AD07" column="7" row="1">
<bounds>197.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="117">u</keysym>
<keysym keyval="85">U</keysym>
</symbols>
</key>
<key id="keycode29" name="AD06" column="6" row="1">
<bounds>171.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="121">y</keysym>
<keysym keyval="89">Y</keysym>
</symbols>
</key>
<key id="keycode28" name="AD05" column="5" row="1">
<bounds>145.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="116">t</keysym>
<keysym keyval="84">T</keysym>
</symbols>
</key>
<key id="keycode27" name="AD04" column="4" row="1">
<bounds>119.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="114">r</keysym>
<keysym keyval="82">R</keysym>
</symbols>
</key>
<key id="keycode26" name="AD03" column="3" row="1">
<bounds>93.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="101">e</keysym>
<keysym keyval="69">E</keysym>
</symbols>
</key>
<key id="keycode25" name="AD02" column="2" row="1">
<bounds>68.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="119">w</keysym>
<keysym keyval="87">W</keysym>
</symbols>
</key>
<key id="keycode24" name="AD01" column="1" row="1">
<bounds>42.000000,27.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="113">q</keysym>
<keysym keyval="81">Q</keysym>
</symbols>
</key>
<key id="keycode23" name="TAB" column="0" row="1">
<bounds>2.000000,27.000000,38.000000,24.000000</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym keyval="65289">Tab</keysym>
<keysym keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode22" name="BKSP" column="13" row="0">
<bounds>339.000000,1.000000,51.000000,24.000000</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode21" name="AE12" column="12" row="0">
<bounds>313.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode20" name="AE11" column="11" row="0">
<bounds>287.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode19" name="AE10" column="10" row="0">
<bounds>261.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="48">0</keysym>
<keysym keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode18" name="AE09" column="9" row="0">
<bounds>235.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="57">9</keysym>
<keysym keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode17" name="AE08" column="8" row="0">
<bounds>209.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode16" name="AE07" column="7" row="0">
<bounds>183.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode15" name="AE06" column="6" row="0">
<bounds>157.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode14" name="AE05" column="5" row="0">
<bounds>132.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
</symbols>
</key>
<key id="keycode13" name="AE04" column="4" row="0">
<bounds>106.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode12" name="AE03" column="3" row="0">
<bounds>80.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode11" name="AE02" column="2" row="0">
<bounds>54.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode10" name="AE01" column="1" row="0">
<bounds>28.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode49" name="TLDE" column="0" row="0">
<bounds>2.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</symbols>
</key>
</section>
<section name="Function">
<bounds>10.000000,10.000000,410.000000,25.000000</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode96" name="FK12" column="12" row="0">
<bounds>366.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65481">F12</keysym>
<keysym keyval="269024780">(null)</keysym>
</symbols>
</key>
<key id="keycode95" name="FK11" column="11" row="0">
<bounds>340.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65480">F11</keysym>
<keysym keyval="269024779">(null)</keysym>
</symbols>
</key>
<key id="keycode76" name="FK10" column="10" row="0">
<bounds>314.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65479">F10</keysym>
<keysym keyval="269024778">(null)</keysym>
</symbols>
</key>
<key id="keycode75" name="FK09" column="9" row="0">
<bounds>288.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65478">F9</keysym>
<keysym keyval="269024777">(null)</keysym>
</symbols>
</key>
<key id="keycode74" name="FK08" column="8" row="0">
<bounds>249.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65477">F8</keysym>
<keysym keyval="269024776">(null)</keysym>
</symbols>
</key>
<key id="keycode73" name="FK07" column="7" row="0">
<bounds>223.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65476">F7</keysym>
<keysym keyval="269024775">(null)</keysym>
</symbols>
</key>
<key id="keycode72" name="FK06" column="6" row="0">
<bounds>197.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65475">F6</keysym>
<keysym keyval="269024774">(null)</keysym>
</symbols>
</key>
<key id="keycode71" name="FK05" column="5" row="0">
<bounds>171.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65474">F5</keysym>
<keysym keyval="269024773">(null)</keysym>
</symbols>
</key>
<key id="keycode70" name="FK04" column="4" row="0">
<bounds>132.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65473">F4</keysym>
<keysym keyval="269024772">(null)</keysym>
</symbols>
</key>
<key id="keycode69" name="FK03" column="3" row="0">
<bounds>106.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65472">F3</keysym>
<keysym keyval="269024771">(null)</keysym>
</symbols>
</key>
<key id="keycode68" name="FK02" column="2" row="0">
<bounds>80.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65471">F2</keysym>
<keysym keyval="269024770">(null)</keysym>
</symbols>
</key>
<key id="keycode67" name="FK01" column="1" row="0">
<bounds>54.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65470">F1</keysym>
<keysym keyval="269024769">(null)</keysym>
</symbols>
</key>
<key id="keycode9" name="ESC" column="0" row="0">
<bounds>2.000000,1.000000,24.000000,24.000000</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65307">Escape</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>24.000000,0.000000</point>
<point>24.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>38.000000,0.000000</point>
<point>38.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>38.000000,0.000000</point>
<point>38.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>44.000000,0.000000</point>
<point>44.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>57.000000,0.000000</point>
<point>57.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>57.000000,0.000000</point>
<point>57.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>70.000000,0.000000</point>
<point>70.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>36.000000,0.000000</point>
<point>36.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>31.000000,0.000000</point>
<point>31.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>153.000000,0.000000</point>
<point>153.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline12">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>24.000000,0.000000</point>
<point>24.000000,50.000000</point>
<point>0.000000,50.000000</point>
</outline>
<outline id="outline13">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>50.000000,0.000000</point>
<point>50.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>51.000000,0.000000</point>
<point>51.000000,24.000000</point>
<point>0.000000,24.000000</point>
</outline>
</keyboard>

682
data/keyboards/us.xml Normal file
View File

@ -0,0 +1,682 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="3">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="57">9</keysym>
<keysym keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="48">0</keysym>
<keysym keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline13</oref>
<symbols groups="1" levels="1">
<keysym keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="2">
<keysym keyval="65289">Tab</keysym>
<keysym keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="113">q</keysym>
<keysym keyval="81">Q</keysym>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="119">w</keysym>
<keysym keyval="87">W</keysym>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="101">e</keysym>
<keysym keyval="69">E</keysym>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="114">r</keysym>
<keysym keyval="82">R</keysym>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="116">t</keysym>
<keysym keyval="84">T</keysym>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="121">y</keysym>
<keysym keyval="89">Y</keysym>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="117">u</keysym>
<keysym keyval="85">U</keysym>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="105">i</keysym>
<keysym keyval="73">I</keysym>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="111">o</keysym>
<keysym keyval="79">O</keysym>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="112">p</keysym>
<keysym keyval="80">P</keysym>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="91">bracketleft</keysym>
<keysym keyval="123">braceleft</keysym>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="93">bracketright</keysym>
<keysym keyval="125">braceright</keysym>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="1">
<keysym keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="97">a</keysym>
<keysym keyval="65">A</keysym>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="115">s</keysym>
<keysym keyval="83">S</keysym>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="100">d</keysym>
<keysym keyval="68">D</keysym>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="102">f</keysym>
<keysym keyval="70">F</keysym>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="104">h</keysym>
<keysym keyval="72">H</keysym>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="106">j</keysym>
<keysym keyval="74">J</keysym>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="107">k</keysym>
<keysym keyval="75">K</keysym>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="108">l</keysym>
<keysym keyval="76">L</keysym>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="59">semicolon</keysym>
<keysym keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="122">z</keysym>
<keysym keyval="90">Z</keysym>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="120">x</keysym>
<keysym keyval="88">X</keysym>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="99">c</keysym>
<keysym keyval="67">C</keysym>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="118">v</keysym>
<keysym keyval="86">V</keysym>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="98">b</keysym>
<keysym keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="110">n</keysym>
<keysym keyval="78">N</keysym>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="109">m</keysym>
<keysym keyval="77">M</keysym>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="44">comma</keysym>
<keysym keyval="60">less</keysym>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="46">period</keysym>
<keysym keyval="62">greater</keysym>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym keyval="47">slash</keysym>
<keysym keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="2">
<symbol label="⌨" icon="input-keyboard-symbolic">cycle-keyboard</symbol>
<symbol label="☺" icon="preferences-system-symbolic">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<keysym keyval="65513">Alt_L</keysym>
<keysym keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="1">
<keysym keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline13">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,683 @@
<?xml version="1.0"?>
<keyboard version="0.90">
<bounds>0.000000,0.000000,640.000000,296.585366</bounds>
<section>
<bounds>15.609756,15.609756,640.000000,39.024390</bounds>
<angle>0</angle>
<row>
<columns>16</columns>
<orientation>1</orientation>
</row>
<key id="keycode9" name="keycode9" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="Escape" label="Esc" category="keyname" keyval="65307">Escape</keysym>
</symbols>
</key>
<key id="keycode67" name="keycode67" column="1" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F1" label="F1" category="function" keyval="65470">F1</keysym>
</symbols>
</key>
<key id="keycode68" name="keycode68" column="2" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F2" label="F2" category="function" keyval="65471">F2</keysym>
</symbols>
</key>
<key id="keycode69" name="keycode69" column="3" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F3" label="F3" category="function" keyval="65472">F3</keysym>
</symbols>
</key>
<key id="keycode70" name="keycode70" column="4" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F4" label="F4" category="function" keyval="65473">F4</keysym>
</symbols>
</key>
<key id="keycode71" name="keycode71" column="5" row="0">
<bounds>266.926829,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F5" label="F5" category="function" keyval="65474">F5</keysym>
</symbols>
</key>
<key id="keycode72" name="keycode72" column="6" row="0">
<bounds>307.512195,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F6" label="F6" category="function" keyval="65475">F6</keysym>
</symbols>
</key>
<key id="keycode73" name="keycode73" column="7" row="0">
<bounds>348.097561,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F7" label="F7" category="function" keyval="65476">F7</keysym>
</symbols>
</key>
<key id="keycode74" name="keycode74" column="8" row="0">
<bounds>388.682927,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F8" label="F8" category="function" keyval="65477">F8</keysym>
</symbols>
</key>
<key id="keycode75" name="keycode75" column="9" row="0">
<bounds>449.560976,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F9" label="F9" category="function" keyval="65478">F9</keysym>
</symbols>
</key>
<key id="keycode76" name="keycode76" column="10" row="0">
<bounds>490.146341,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F10" label="F10" category="function" keyval="65479">F10</keysym>
</symbols>
</key>
<key id="keycode95" name="keycode95" column="11" row="0">
<bounds>530.731707,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F11" label="F11" category="function" keyval="65480">F11</keysym>
</symbols>
</key>
<key id="keycode96" name="keycode96" column="12" row="0">
<bounds>571.317073,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="1">
<keysym name="F12" label="F12" category="function" keyval="65481">F12</keysym>
</symbols>
</key>
</section>
<section>
<bounds>15.609756,78.048780,608.780488,201.365854</bounds>
<angle>0</angle>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>14</columns>
<orientation>1</orientation>
</row>
<row>
<columns>13</columns>
<orientation>1</orientation>
</row>
<row>
<columns>12</columns>
<orientation>1</orientation>
</row>
<row>
<columns>8</columns>
<orientation>1</orientation>
</row>
<key id="keycode49" name="keycode49" column="0" row="0">
<bounds>3.121951,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteleft" label="`" category="letter" keyval="96">quoteleft</keysym>
<keysym name="asciitilde" label="~" category="letter" keyval="126">asciitilde</keysym>
</symbols>
</key>
<key id="keycode10" name="keycode10" column="1" row="0">
<bounds>43.707317,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="1" label="ㄅ" category="letter"></text>
<keysym name="exclam" label="!" category="letter" keyval="33">exclam</keysym>
</symbols>
</key>
<key id="keycode11" name="keycode11" column="2" row="0">
<bounds>84.292683,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="2" label="ㄉ" category="letter"></text>
<keysym name="at" label="@" category="letter" keyval="64">at</keysym>
</symbols>
</key>
<key id="keycode12" name="keycode12" column="3" row="0">
<bounds>124.878049,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="3" label="ˇ" category="letter">ˇ</text>
<keysym name="numbersign" label="#" category="letter" keyval="35">numbersign</keysym>
</symbols>
</key>
<key id="keycode13" name="keycode13" column="4" row="0">
<bounds>165.463415,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="4" label="ˋ" category="letter">ˋ</text>
<keysym name="dollar" label="$" category="letter" keyval="36">dollar</keysym>
</symbols>
</key>
<key id="keycode14" name="keycode14" column="5" row="0">
<bounds>206.048780,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="3">
<text name="5" label="ㄓ" category="letter"></text>
<keysym name="percent" label="%" category="letter" keyval="37">percent</keysym>
<keysym name="EuroSign" label="€" category="letter" keyval="8364">EuroSign</keysym>
</symbols>
</key>
<key id="keycode15" name="keycode15" column="6" row="0">
<bounds>245.073171,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="6" label="ˊ" category="letter">ˊ</text>
<keysym name="asciicircum" label="^" category="letter" keyval="94">asciicircum</keysym>
</symbols>
</key>
<key id="keycode16" name="keycode16" column="7" row="0">
<bounds>285.658537,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="7" label="˙" category="letter">˙</text>
<keysym name="ampersand" label="&amp;" category="letter" keyval="38">ampersand</keysym>
</symbols>
</key>
<key id="keycode17" name="keycode17" column="8" row="0">
<bounds>326.243902,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="8" label="ㄚ" category="letter"></text>
<keysym name="asterisk" label="*" category="letter" keyval="42">asterisk</keysym>
</symbols>
</key>
<key id="keycode18" name="keycode18" column="9" row="0">
<bounds>366.829268,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="9" label="ㄞ" category="letter"></text>
<keysym name="parenleft" label="(" category="letter" keyval="40">parenleft</keysym>
</symbols>
</key>
<key id="keycode19" name="keycode19" column="10" row="0">
<bounds>407.414634,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="0" label="ㄢ" category="letter"></text>
<keysym name="parenright" label=")" category="letter" keyval="41">parenright</keysym>
</symbols>
</key>
<key id="keycode20" name="keycode20" column="11" row="0">
<bounds>448.000000,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="minus" label="ㄦ" category="letter"></text>
<keysym name="underscore" label="_" category="letter" keyval="95">underscore</keysym>
</symbols>
</key>
<key id="keycode21" name="keycode21" column="12" row="0">
<bounds>488.585366,1.560976,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="equal" label="=" category="letter" keyval="61">equal</keysym>
<keysym name="plus" label="+" category="letter" keyval="43">plus</keysym>
</symbols>
</key>
<key id="keycode22" name="keycode22" column="13" row="0">
<bounds>529.170732,1.560976,79.609756,37.463415</bounds>
<oref>outline4</oref>
<symbols groups="1" levels="1">
<keysym name="BackSpace" label="←" category="keyname" keyval="65288">BackSpace</keysym>
</symbols>
</key>
<key id="keycode23" name="keycode23" column="0" row="1">
<bounds>3.121951,42.146341,59.317073,37.463415</bounds>
<oref>outline5</oref>
<symbols groups="1" levels="2">
<keysym name="Tab" label="⇥" category="keyname" keyval="65289">Tab</keysym>
<keysym name="ISO_Left_Tab" label="⇤" category="keyname" keyval="65056">ISO_Left_Tab</keysym>
</symbols>
</key>
<key id="keycode24" name="keycode24" column="1" row="1">
<bounds>65.560976,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="q" label="ㄆ" category="letter"></text>
<keysym name="Q" label="Q" category="letter" keyval="81">Q</keysym>
</symbols>
</key>
<key id="keycode25" name="keycode25" column="2" row="1">
<bounds>106.146341,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="w" label="ㄊ" category="letter"></text>
<keysym name="W" label="W" category="letter" keyval="87">W</keysym>
</symbols>
</key>
<key id="keycode26" name="keycode26" column="3" row="1">
<bounds>145.170732,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="e" label="ㄍ" category="letter"></text>
<keysym name="E" label="E" category="letter" keyval="69">E</keysym>
</symbols>
</key>
<key id="keycode27" name="keycode27" column="4" row="1">
<bounds>185.756098,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="r" label="ㄐ" category="letter"></text>
<keysym name="R" label="R" category="letter" keyval="82">R</keysym>
</symbols>
</key>
<key id="keycode28" name="keycode28" column="5" row="1">
<bounds>226.341463,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="t" label="ㄔ" category="letter"></text>
<keysym name="T" label="T" category="letter" keyval="84">T</keysym>
</symbols>
</key>
<key id="keycode29" name="keycode29" column="6" row="1">
<bounds>266.926829,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="y" label="ㄗ" category="letter"></text>
<keysym name="Y" label="Y" category="letter" keyval="89">Y</keysym>
</symbols>
</key>
<key id="keycode30" name="keycode30" column="7" row="1">
<bounds>307.512195,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="u" label="ㄧ" category="letter"></text>
<keysym name="U" label="U" category="letter" keyval="85">U</keysym>
</symbols>
</key>
<key id="keycode31" name="keycode31" column="8" row="1">
<bounds>348.097561,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="i" label="ㄛ" category="letter"></text>
<keysym name="I" label="I" category="letter" keyval="73">I</keysym>
</symbols>
</key>
<key id="keycode32" name="keycode32" column="9" row="1">
<bounds>388.682927,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="o" label="ㄟ" category="letter"></text>
<keysym name="O" label="O" category="letter" keyval="79">O</keysym>
</symbols>
</key>
<key id="keycode33" name="keycode33" column="10" row="1">
<bounds>429.268293,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="p" label="ㄣ" category="letter"></text>
<keysym name="P" label="P" category="letter" keyval="80">P</keysym>
</symbols>
</key>
<key id="keycode34" name="keycode34" column="11" row="1">
<bounds>468.292683,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="bracketleft" label="[" category="letter" keyval="91">bracketleft</keysym>
<keysym name="braceleft" label="{" category="letter" keyval="123">braceleft</keysym>
</symbols>
</key>
<key id="keycode35" name="keycode35" column="12" row="1">
<bounds>508.878049,42.146341,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="bracketright" label="]" category="letter" keyval="93">bracketright</keysym>
<keysym name="braceright" label="}" category="letter" keyval="125">braceright</keysym>
</symbols>
</key>
<key id="keycode51" name="keycode51" column="13" row="1">
<bounds>549.463415,42.146341,59.317073,37.463415</bounds>
<oref>outline6</oref>
<symbols groups="1" levels="2">
<keysym name="backslash" label="\" category="letter" keyval="92">backslash</keysym>
<keysym name="bar" label="|" category="letter" keyval="124">bar</keysym>
</symbols>
</key>
<key id="keycode66" name="keycode66" column="0" row="2">
<bounds>3.121951,82.731707,68.682927,37.463415</bounds>
<oref>outline7</oref>
<symbols groups="1" levels="1">
<keysym name="ISO_Level3_Shift" label="⇮" category="keyname" keyval="65027">ISO_Level3_Shift</keysym>
</symbols>
</key>
<key id="keycode38" name="keycode38" column="1" row="2">
<bounds>76.487805,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="a" label="ㄇ" category="letter"></text>
<keysym name="A" label="A" category="letter" keyval="65">A</keysym>
</symbols>
</key>
<key id="keycode39" name="keycode39" column="2" row="2">
<bounds>115.512195,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="s" label="ㄋ" category="letter"></text>
<keysym name="S" label="S" category="letter" keyval="83">S</keysym>
</symbols>
</key>
<key id="keycode40" name="keycode40" column="3" row="2">
<bounds>156.097561,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="d" label="ㄎ" category="letter"></text>
<keysym name="D" label="D" category="letter" keyval="68">D</keysym>
</symbols>
</key>
<key id="keycode41" name="keycode41" column="4" row="2">
<bounds>196.682927,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="f" label="ㄑ" category="letter"></text>
<keysym name="F" label="F" category="letter" keyval="70">F</keysym>
</symbols>
</key>
<key id="keycode42" name="keycode42" column="5" row="2">
<bounds>237.268293,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="g" label="ㄕ" category="letter"></text>
<keysym name="G" label="G" category="letter" keyval="71">G</keysym>
</symbols>
</key>
<key id="keycode43" name="keycode43" column="6" row="2">
<bounds>277.853659,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="h" label="ㄘ" category="letter"></text>
<keysym name="H" label="H" category="letter" keyval="72">H</keysym>
</symbols>
</key>
<key id="keycode44" name="keycode44" column="7" row="2">
<bounds>318.439024,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="j" label="ㄨ" category="letter"></text>
<keysym name="J" label="J" category="letter" keyval="74">J</keysym>
</symbols>
</key>
<key id="keycode45" name="keycode45" column="8" row="2">
<bounds>359.024390,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="k" label="ㄜ" category="letter"></text>
<keysym name="K" label="K" category="letter" keyval="75">K</keysym>
</symbols>
</key>
<key id="keycode46" name="keycode46" column="9" row="2">
<bounds>399.609756,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="l" label="ㄠ" category="letter"></text>
<keysym name="L" label="L" category="letter" keyval="76">L</keysym>
</symbols>
</key>
<key id="keycode47" name="keycode47" column="10" row="2">
<bounds>438.634146,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="semicolon" label="ㄤ" category="letter"></text>
<keysym name="colon" label=":" category="letter" keyval="58">colon</keysym>
</symbols>
</key>
<key id="keycode48" name="keycode48" column="11" row="2">
<bounds>479.219512,82.731707,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<keysym name="quoteright" label="&apos;" category="letter" keyval="39">quoteright</keysym>
<keysym name="quotedbl" label="&quot;" category="letter" keyval="34">quotedbl</keysym>
</symbols>
</key>
<key id="keycode36" name="keycode36" column="12" row="2">
<bounds>519.804878,82.731707,88.975610,37.463415</bounds>
<oref>outline8</oref>
<symbols groups="1" levels="1">
<keysym name="Return" label="↵" category="keyname" keyval="65293">Return</keysym>
</symbols>
</key>
<key id="keycode50" name="keycode50" column="0" row="3">
<bounds>3.121951,121.756098,88.975610,37.463415</bounds>
<oref>outline9</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_L" label="⇧" category="keyname" keyval="65505">Shift_L</keysym>
</symbols>
</key>
<key id="keycode52" name="keycode52" column="1" row="3">
<bounds>95.219512,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="z" label="ㄈ" category="letter"></text>
<keysym name="Z" label="Z" category="letter" keyval="90">Z</keysym>
</symbols>
</key>
<key id="keycode53" name="keycode53" column="2" row="3">
<bounds>135.804878,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="x" label="ㄌ" category="letter"></text>
<keysym name="X" label="X" category="letter" keyval="88">X</keysym>
</symbols>
</key>
<key id="keycode54" name="keycode54" column="3" row="3">
<bounds>176.390244,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="c" label="ㄏ" category="letter"></text>
<keysym name="C" label="C" category="letter" keyval="67">C</keysym>
</symbols>
</key>
<key id="keycode55" name="keycode55" column="4" row="3">
<bounds>215.414634,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="v" label="ㄒ" category="letter"></text>
<keysym name="V" label="V" category="letter" keyval="86">V</keysym>
</symbols>
</key>
<key id="keycode56" name="keycode56" column="5" row="3">
<bounds>256.000000,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="b" label="ㄖ" category="letter"></text>
<keysym name="B" label="B" category="letter" keyval="66">B</keysym>
</symbols>
</key>
<key id="keycode57" name="keycode57" column="6" row="3">
<bounds>296.585366,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="n" label="ㄙ" category="letter"></text>
<keysym name="N" label="N" category="letter" keyval="78">N</keysym>
</symbols>
</key>
<key id="keycode58" name="keycode58" column="7" row="3">
<bounds>337.170732,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="m" label="ㄩ" category="letter"></text>
<keysym name="M" label="M" category="letter" keyval="77">M</keysym>
</symbols>
</key>
<key id="keycode59" name="keycode59" column="8" row="3">
<bounds>377.756098,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="comma" label="ㄝ" category="letter"></text>
<keysym name="less" label="&lt;" category="letter" keyval="60">less</keysym>
</symbols>
</key>
<key id="keycode60" name="keycode60" column="9" row="3">
<bounds>418.341463,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="period" label="ㄡ" category="letter"></text>
<keysym name="greater" label="&gt;" category="letter" keyval="62">greater</keysym>
</symbols>
</key>
<key id="keycode61" name="keycode61" column="10" row="3">
<bounds>458.926829,121.756098,37.463415,37.463415</bounds>
<oref>outline3</oref>
<symbols groups="1" levels="2">
<text name="slash" label="ㄥ" category="letter"></text>
<keysym name="question" label="?" category="letter" keyval="63">question</keysym>
</symbols>
</key>
<key id="keycode62" name="keycode62" column="11" row="3">
<bounds>499.512195,121.756098,109.268293,37.463415</bounds>
<oref>outline10</oref>
<symbols groups="1" levels="1">
<keysym name="Shift_R" label="⇧" category="keyname" keyval="65506">Shift_R</keysym>
</symbols>
</key>
<key id="keycode37" name="keycode37" column="0" row="4">
<bounds>3.121951,162.341463,56.195122,37.463415</bounds>
<oref>outline1</oref>
<symbols groups="1" levels="2">
<symbol name="cycle-keyboard" label="⌨" category="keyname">cycle-keyboard</symbol>
<symbol name="preferences" label="☺" category="keyname">preferences</symbol>
</symbols>
</key>
<key id="keycode133" name="keycode133" column="1" row="4">
<bounds>62.439024,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Control_L" label="Ctrl" category="keyname" keyval="65507">Control_L</keysym>
</symbols>
</key>
<key id="keycode64" name="keycode64" column="2" row="4">
<bounds>113.951220,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="2">
<keysym name="Alt_L" label="Alt" category="keyname" keyval="65513">Alt_L</keysym>
<keysym name="Meta_L" label="Meta" category="keyname" keyval="65511">Meta_L</keysym>
</symbols>
</key>
<key id="keycode65" name="keycode65" column="3" row="4">
<bounds>165.463415,162.341463,238.829268,37.463415</bounds>
<oref>outline11</oref>
<symbols groups="1" levels="1">
<keysym name="space" category="letter" keyval="32">space</keysym>
</symbols>
</key>
<key id="keycode108" name="keycode108" column="4" row="4">
<bounds>407.414634,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Left" label="⇠" category="keyname" keyval="65361">Left</keysym>
</symbols>
</key>
<key id="keycode134" name="keycode134" column="5" row="4">
<bounds>458.926829,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Up" label="⇡" category="keyname" keyval="65362">Up</keysym>
</symbols>
</key>
<key id="keycode135" name="keycode135" column="6" row="4">
<bounds>508.878049,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Down" label="⇣" category="keyname" keyval="65364">Down</keysym>
</symbols>
</key>
<key id="keycode105" name="keycode105" column="7" row="4">
<bounds>560.390244,162.341463,48.390244,37.463415</bounds>
<oref>outline2</oref>
<symbols groups="1" levels="1">
<keysym name="Right" label="⇢" category="keyname" keyval="65363">Right</keysym>
</symbols>
</key>
</section>
<outline id="outline1">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>56.195122,0.000000</point>
<point>56.195122,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline3">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>37.463415,0.000000</point>
<point>37.463415,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline4">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>79.609756,0.000000</point>
<point>79.609756,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline5">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline6">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>59.317073,0.000000</point>
<point>59.317073,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline7">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>68.682927,0.000000</point>
<point>68.682927,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline8">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline9">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>88.975610,0.000000</point>
<point>88.975610,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline10">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>109.268293,0.000000</point>
<point>109.268293,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline11">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>238.829268,0.000000</point>
<point>238.829268,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
<outline id="outline2">
<corner-radius>1.000000</corner-radius>
<point>0.000000,0.000000</point>
<point>48.390244,0.000000</point>
<point>48.390244,37.463415</point>
<point>0.000000,37.463415</point>
</outline>
</keyboard>

View File

@ -0,0 +1,55 @@
<?xml version="1.0"?>
<schemalist>
<schema id="org.fedorahosted.eekboard" path="/org/fedorahosted/eekboard/">
<key name="keyboard" type="s">
<default>'us'</default>
<summary>Keyboard types</summary>
<description>keyboard types (comma separated).</description>
</key>
<key name="ui-toolkit" type="s">
<default>'gtk'</default>
<summary>GUI toolkit used to render keyboard</summary>
<description>The name of GUI toolkit (either 'gtk' or 'clutter') used to render keyboard on screen.</description>
</key>
<key name="focus-listener" type="s">
<default>'atspi'</default>
<summary>Use the given focus listener</summary>
<description>The name of the focus listener (either 'atspi' or 'ibus') used to detect focus events.</description>
</key>
<key name="auto-hide" type="b">
<default>true</default>
<summary>Hide keyboard automatically when focus is out</summary>
<description>If true, hide keyboard automatically when focus is out.</description>
</key>
<key name="auto-hide-delay" type="u">
<default>500</default>
<summary>Delay before hiding keyboard</summary>
<description>Delay before hiding keyboard in milliseconds. This is useful when focus listener is enabled.</description>
</key>
<key type="b" name="repeat">
<default>true</default>
<summary>Key repeat</summary>
<description>Generate key-press/release event repeatedly while a key is held down</description>
</key>
<key type="u" name="repeat-interval">
<default>100</default>
<summary>Key repeat interval</summary>
<description>Delay between repeats in milliseconds.</description>
</key>
<key type="u" name="repeat-delay">
<default>1000</default>
<summary>Initial key repeat delay</summary>
<description>Initial key repeat delay in milliseconds.</description>
</key>
<key name="start-fullscreen" type="b">
<default>false</default>
<summary>Switch to fullscreen mode when startup</summary>
<description>If true, switch to fullscreen mode when startup.</description>
</key>
<key name="theme" type="s">
<default>'default'</default>
<summary>Theme</summary>
<description>Base name of the theme to apply.</description>
</key>
</schema>
</schemalist>

View File

@ -83,6 +83,8 @@ IGNORE_HFILES = \
eek-clutter-section.h \
eek-clutter-key.h \
eek-gtk-renderer.h \
eek-theme.h \
eek-theme-node.h \
eek-enumtypes.h
if !ENABLE_CLUTTER
IGNORE_HFILES += eek-clutter-keyboard.h eek-clutter.h

View File

@ -37,6 +37,7 @@
<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"/>
@ -45,16 +46,17 @@
<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>Clutter Keyboard</title>
<xi:include href="xml/eek-clutter-keyboard.xml"/>
<title>GTK Adapter</title>
<xi:include href="xml/eek-gtk-keyboard.xml"/>
</chapter>
<chapter>
<title>GTK Keyboard</title>
<xi:include href="xml/eek-gtk-keyboard.xml"/>
<title>Clutter Adapter</title>
<xi:include href="xml/eek-clutter-keyboard.xml"/>
</chapter>
<chapter>
<title>Libxklavier Layout Engine</title>

View File

@ -3,6 +3,7 @@
<TITLE>EekKeyboard</TITLE>
EekKeyboard
EekKeyboardClass
EekModifierKey
eek_keyboard_new
eek_keyboard_get_layout
eek_keyboard_get_size
@ -15,6 +16,7 @@ eek_keyboard_get_group
eek_keyboard_get_level
eek_keyboard_set_modifier_behavior
eek_keyboard_get_modifier_behavior
eek_keyboard_set_modifiers
eek_keyboard_get_modifiers
eek_keyboard_create_section
eek_keyboard_find_key_by_keycode
@ -24,6 +26,8 @@ eek_keyboard_set_num_lock_mask
eek_keyboard_get_num_lock_mask
eek_keyboard_set_alt_gr_mask
eek_keyboard_get_alt_gr_mask
eek_keyboard_get_pressed_keys
eek_keyboard_get_locked_keys
EekKeyboardPrivate
<SUBSECTION Standard>
EEK_KEYBOARD
@ -68,37 +72,6 @@ EEK_IS_GTK_KEYBOARD_CLASS
EEK_GTK_KEYBOARD_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-theme-node</FILE>
EekSide
EekCorner
eek_theme_node_new
eek_theme_node_get_parent
eek_theme_node_get_theme
eek_theme_node_get_element_type
eek_theme_node_get_element_id
eek_theme_node_get_element_class
eek_theme_node_get_pseudo_class
eek_theme_node_get_color
eek_theme_node_get_background_color
eek_theme_node_get_foreground_color
eek_theme_node_get_background_gradient
eek_theme_node_get_border_width
eek_theme_node_get_border_radius
eek_theme_node_get_border_color
eek_theme_node_get_font
EekThemeNodePrivate
EekThemeNodeClass
<SUBSECTION Standard>
EEK_THEME_NODE
EEK_IS_THEME_NODE
EEK_TYPE_THEME_NODE
eek_theme_node_get_type
EEK_THEME_NODE_CLASS
EEK_IS_THEME_NODE_CLASS
EEK_THEME_NODE_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-section</FILE>
<TITLE>EekSection</TITLE>
@ -122,6 +95,24 @@ EEK_IS_SECTION_CLASS
EEK_SECTION_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-text</FILE>
<TITLE>EekText</TITLE>
EekText
EekTextClass
eek_text_new
eek_text_get_text
EekTextPrivate
<SUBSECTION Standard>
EEK_TEXT
EEK_IS_TEXT
EEK_TYPE_TEXT
eek_text_get_type
EEK_TEXT_CLASS
EEK_IS_TEXT_CLASS
EEK_TEXT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-theme-context</FILE>
eek_theme_context_new
@ -201,6 +192,8 @@ eek_symbol_set_modifier_mask
eek_symbol_is_modifier
eek_symbol_set_icon_name
eek_symbol_get_icon_name
eek_symbol_category_get_name
eek_symbol_category_from_name
EekSymbolPrivate
<SUBSECTION Standard>
EEK_SYMBOL
@ -285,6 +278,7 @@ eek_key_get_index
eek_key_set_oref
eek_key_get_oref
eek_key_is_pressed
eek_key_is_locked
EekKeyPrivate
<SUBSECTION Standard>
EEK_KEY
@ -360,22 +354,6 @@ EEK_IS_XML_LAYOUT_CLASS
EEK_XML_LAYOUT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-theme</FILE>
eek_theme_new
eek_theme_load_stylesheet
eek_theme_unload_stylesheet
EekThemeClass
<SUBSECTION Standard>
EEK_THEME
EEK_IS_THEME
EEK_TYPE_THEME
eek_theme_get_type
EEK_THEME_CLASS
EEK_IS_THEME_CLASS
EEK_THEME_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-keysym</FILE>
<TITLE>EekKeysym</TITLE>
@ -434,9 +412,11 @@ eek_color_new
eek_color_copy
eek_color_free
EekGradientType
EekThemeNode
EekThemeContext
EekTheme
</SECTION>
<SECTION>
<FILE>eek</FILE>
eek_init
</SECTION>
<SECTION>

View File

@ -35,10 +35,15 @@
<part id="apireference">
<title>API Manual</title>
<chapter>
<title>D-Bus client interface to eekboard-server</title>
<xi:include href="xml/eekboard-eekboard.xml"/>
<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"/>

View File

@ -1,22 +1,41 @@
<SECTION>
<FILE>eekboard-eekboard</FILE>
<TITLE>EekboardEekboard</TITLE>
EekboardEekboard
EekboardEekboardClass
EekboardEekboardPrivate
eekboard_eekboard_new
eekboard_eekboard_create_context
eekboard_eekboard_push_context
eekboard_eekboard_pop_context
eekboard_eekboard_destroy_context
<FILE>eekboard-client</FILE>
<TITLE>EekboardClient</TITLE>
EekboardClient
EekboardClientClass
eekboard_client_new
eekboard_client_create_context
eekboard_client_push_context
eekboard_client_pop_context
eekboard_client_destroy_context
EekboardClientPrivate
<SUBSECTION Standard>
EEKBOARD_EEKBOARD
EEKBOARD_IS_EEKBOARD
EEKBOARD_TYPE_EEKBOARD
eekboard_eekboard_get_type
EEKBOARD_EEKBOARD_CLASS
EEKBOARD_IS_EEKBOARD_CLASS
EEKBOARD_EEKBOARD_GET_CLASS
EEKBOARD_CLIENT
EEKBOARD_IS_CLIENT
EEKBOARD_TYPE_CLIENT
eekboard_client_get_type
EEKBOARD_CLIENT_CLASS
EEKBOARD_IS_CLIENT_CLASS
EEKBOARD_CLIENT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eekboard-service</FILE>
<TITLE>EekboardService</TITLE>
EEKBOARD_SERVICE_PATH
EEKBOARD_SERVICE_INTERFACE
EekboardService
EekboardServiceClass
eekboard_service_new
EekboardServicePrivate
<SUBSECTION Standard>
EEKBOARD_SERVICE
EEKBOARD_IS_SERVICE
EEKBOARD_TYPE_SERVICE
eekboard_service_get_type
EEKBOARD_SERVICE_CLASS
EEKBOARD_IS_SERVICE_CLASS
EEKBOARD_SERVICE_GET_CLASS
</SECTION>
<SECTION>
@ -24,17 +43,21 @@ EEKBOARD_EEKBOARD_GET_CLASS
<TITLE>EekboardContext</TITLE>
EekboardContext
EekboardContextClass
EekboardContextPrivate
eekboard_context_new
eekboard_context_add_keyboard
eekboard_context_remove_keyboard
eekboard_context_set_keyboard
eekboard_context_show_keyboard
eekboard_context_hide_keyboard
eekboard_context_set_group
eekboard_context_press_key
eekboard_context_release_key
eekboard_context_get_group
eekboard_context_press_keycode
eekboard_context_release_keycode
eekboard_context_is_keyboard_visible
eekboard_context_set_enabled
eekboard_context_is_enabled
eekboard_context_set_fullscreen
EekboardContextPrivate
<SUBSECTION Standard>
EEKBOARD_CONTEXT
EEKBOARD_IS_CONTEXT
@ -45,3 +68,37 @@ EEKBOARD_IS_CONTEXT_CLASS
EEKBOARD_CONTEXT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eekboard-context-service</FILE>
<TITLE>EekboardContextService</TITLE>
EEKBOARD_CONTEXT_SERVICE_PATH
EEKBOARD_CONTEXT_SERVICE_INTERFACE
EekboardContextService
EekboardContextServiceClass
eekboard_context_service_enable
eekboard_context_service_disable
eekboard_context_service_get_keyboard
eekboard_context_service_get_fullscreen
eekboard_context_service_get_client_name
EekboardContextServicePrivate
<SUBSECTION Standard>
EEKBOARD_CONTEXT_SERVICE
EEKBOARD_IS_CONTEXT_SERVICE
EEKBOARD_TYPE_CONTEXT_SERVICE
eekboard_context_service_get_type
EEKBOARD_CONTEXT_SERVICE_CLASS
EEKBOARD_IS_CONTEXT_SERVICE_CLASS
EEKBOARD_CONTEXT_SERVICE_GET_CLASS
</SECTION>
<SECTION>
<FILE>eekboard-xklutil</FILE>
eekboard_xkl_config_rec_from_string
eekboard_xkl_config_rec_to_string
eekboard_xkl_list_models
eekboard_xkl_list_layouts
eekboard_xkl_list_option_groups
eekboard_xkl_list_layout_variants
eekboard_xkl_list_options
</SECTION>

View File

@ -1,2 +1,4 @@
eekboard_client_get_type
eekboard_context_get_type
eekboard_eekboard_get_type
eekboard_context_service_get_type
eekboard_service_get_type

View File

@ -35,6 +35,7 @@ libeek_public_headers = \
$(srcdir)/eek-key.h \
$(srcdir)/eek-symbol.h \
$(srcdir)/eek-keysym.h \
$(srcdir)/eek-text.h \
$(srcdir)/eek-symbol-matrix.h \
$(srcdir)/eek-types.h \
$(srcdir)/eek-xml.h \
@ -54,6 +55,7 @@ libeek_private_headers = \
$(srcdir)/eek-theme-node.h
libeek_sources = \
$(srcdir)/eek.c \
$(srcdir)/eek-layout.c \
$(srcdir)/eek-element.c \
$(srcdir)/eek-container.c \
@ -63,6 +65,7 @@ libeek_sources = \
$(srcdir)/eek-symbol-matrix.c \
$(srcdir)/eek-symbol.c \
$(srcdir)/eek-keysym.c \
$(srcdir)/eek-text.c \
$(srcdir)/eek-types.c \
$(srcdir)/eek-serializable.c \
$(srcdir)/eek-xml.c \
@ -96,7 +99,7 @@ libeek_la_SOURCES = \
$(srcdir)/eek-enumtypes.c \
$(srcdir)/eek-marshalers.c
libeek_la_CFLAGS = $(GIO2_CFLAGS) $(PANGOCAIRO_CFLAGS) $(LIBCROCO_CFLAGS)
libeek_la_CFLAGS = -DEEK_COMPILATION=1 $(GIO2_CFLAGS) $(PANGOCAIRO_CFLAGS) $(LIBCROCO_CFLAGS)
libeek_la_LIBADD = $(GIO2_LIBS) $(PANGOCAIRO_LIBS) $(LIBCROCO_LIBS) -lm
if ENABLE_CLUTTER
@ -116,7 +119,7 @@ libeek_clutter_sources = \
$(srcdir)/eek-clutter-renderer.c
libeek_clutter_la_SOURCES = $(libeek_clutter_sources)
libeek_clutter_la_CFLAGS = $(CLUTTER_CFLAGS)
libeek_clutter_la_CFLAGS = -DEEK_COMPILATION=1 $(CLUTTER_CFLAGS)
libeek_clutter_la_LIBADD = libeek.la $(CLUTTER_LIBS)
endif
@ -130,8 +133,8 @@ libeek_gtk_sources = \
$(srcdir)/eek-gtk-renderer.c
libeek_gtk_la_SOURCES = $(libeek_gtk_sources)
libeek_gtk_la_CFLAGS = $(GTK_CFLAGS)
libeek_gtk_la_LIBADD = libeek.la $(GTK_LIBS)
libeek_gtk_la_CFLAGS = -DEEK_COMPILATION=1 $(GTK_CFLAGS) $(LIBCANBERRA_CFLAGS)
libeek_gtk_la_LIBADD = libeek.la $(GTK_LIBS) $(LIBCANBERRA_LIBS)
libeek_xkb_public_headers = \
$(srcdir)/eek-xkb-layout.h \
@ -141,7 +144,7 @@ libeek_xkb_sources = \
$(srcdir)/eek-xkb-layout.c
libeek_xkb_la_SOURCES = $(libeek_xkb_sources)
libeek_xkb_la_CFLAGS = $(XKB_CFLAGS) $(GTK_CFLAGS)
libeek_xkb_la_CFLAGS = -DEEK_COMPILATION=1 $(XKB_CFLAGS) $(GTK_CFLAGS)
libeek_xkb_la_LIBADD = libeek.la $(XKB_LIBS) $(GTK_LIBS)
libeek_xkl_public_headers = \
@ -152,7 +155,7 @@ libeek_xkl_sources = \
$(srcdir)/eek-xkl-layout.c
libeek_xkl_la_SOURCES = $(libeek_xkl_sources)
libeek_xkl_la_CFLAGS = $(LIBXKLAVIER_CFLAGS) $(GTK_CFLAGS)
libeek_xkl_la_CFLAGS = -DEEK_COMPILATION=1 $(LIBXKLAVIER_CFLAGS) $(GTK_CFLAGS)
libeek_xkl_la_LIBADD = libeek-xkb.la $(LIBXKLAVIER_LIBS) $(GTK_LIBS)
eekdir = $(includedir)/eek-$(EEK_API_VERSION)/eek
@ -172,11 +175,14 @@ noinst_HEADERS = \
$(libeek_xkl_private_headers)
eek-special-keysym-entries.h: special-keysym-entries.txt
$(PYTHON) ./gen-keysym-entries.py special_keysym_entries < $< > $@
$(AM_V_GEN) $(PYTHON) ./gen-keysym-entries.py special_keysym_entries \
< $< > $@
eek-unicode-keysym-entries.h: unicode-keysym-entries.txt
$(PYTHON) ./gen-keysym-entries.py unicode_keysym_entries < $< > $@
$(AM_V_GEN) $(PYTHON) ./gen-keysym-entries.py unicode_keysym_entries \
< $< > $@
eek-xkeysym-keysym-entries.h: xkeysym-keysym-entries.txt
$(PYTHON) ./gen-keysym-entries.py xkeysym_keysym_entries < $< > $@
$(AM_V_GEN) $(PYTHON) ./gen-keysym-entries.py xkeysym_keysym_entries \
< $< > $@
eek-enumtypes.h: $(libeek_public_headers) eek-enumtypes.h.template
$(AM_V_GEN) $(GLIB_MKENUMS) --template eek-enumtypes.h.template \

View File

@ -23,8 +23,8 @@ includedir=@includedir@
Name: EEK
Description: A Library to Create Keyboard-like UI
URL: http://ueno.github.com/eekboard/
URL: http://fedorahosted.org/eekboard/
Version: @VERSION@
Requires: gobject-2.0
Requires: gobject-2.0 gio-2.0
Libs: -L${libdir} -leek
Cflags: -I${includedir}/eek-@EEK_API_VERSION@

View File

@ -23,7 +23,7 @@ includedir=@includedir@
Name: libeek-clutter
Description: A Library to Create Keyboard-like UI (Clutter Support)
URL: http://ueno.github.com/eekboard/
URL: http://fedorahosted.org/eekboard/
Version: @VERSION@
Requires: eek-@EEK_API_VERSION@ clutter-1.0
Libs: -L${libdir} -leek-clutter

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek-clutter.h> can be included directly."
#endif
#ifndef EEK_CLUTTER_KEYBOARD_H
#define EEK_CLUTTER_KEYBOARD_H 1

View File

@ -53,7 +53,8 @@ G_DEFINE_ABSTRACT_TYPE_WITH_CODE (EekContainer, eek_container, EEK_TYPE_ELEMENT,
struct _EekContainerPrivate
{
GSList *children;
GList *head;
GList *last;
};
static EekSerializableIface *eek_container_parent_serializable_iface;
@ -63,13 +64,13 @@ eek_container_real_serialize (EekSerializable *self,
GVariantBuilder *builder)
{
EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(self);
GSList *head;
GList *head;
GVariantBuilder array;
eek_container_parent_serializable_iface->serialize (self, builder);
g_variant_builder_init (&array, G_VARIANT_TYPE("av"));
for (head = priv->children; head; head = g_slist_next (head)) {
for (head = priv->head; head; head = g_list_next (head)) {
GVariant *variant =
eek_serializable_serialize (EEK_SERIALIZABLE(head->data));
g_variant_builder_add (&array, "v", variant);
@ -119,7 +120,12 @@ eek_container_real_add_child (EekContainer *self,
g_return_if_fail (EEK_IS_ELEMENT(child));
g_object_ref (child);
priv->children = g_slist_prepend (priv->children, child);
if (!priv->head) {
priv->head = priv->last = g_list_prepend (priv->head, child);
} else {
priv->last->next = g_list_prepend (priv->last->next, child);
priv->last = priv->last->next;
}
eek_element_set_parent (child, EEK_ELEMENT(self));
g_signal_emit_by_name (self, "child-added", child);
}
@ -129,13 +135,15 @@ eek_container_real_remove_child (EekContainer *self,
EekElement *child)
{
EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(self);
GSList *head;
GList *head;
g_return_if_fail (EEK_IS_ELEMENT(child));
head = g_slist_find (priv->children, child);
head = g_list_find (priv->head, child);
g_return_if_fail (head);
g_object_unref (child);
priv->children = g_slist_remove_link (priv->children, head);
if (head == priv->last)
priv->last = g_list_previous (priv->last);
priv->head = g_list_remove_link (priv->head, head);
eek_element_set_parent (child, NULL);
g_signal_emit_by_name (self, "child-removed", child);
}
@ -146,9 +154,9 @@ eek_container_real_foreach_child (EekContainer *self,
gpointer user_data)
{
EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(self);
GSList *head;
GList *head;
for (head = priv->children; head; head = g_slist_next (head))
for (head = priv->head; head; head = g_list_next (head))
(*callback) (EEK_ELEMENT(head->data), user_data);
}
@ -158,9 +166,9 @@ eek_container_real_find (EekContainer *self,
gpointer user_data)
{
EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(self);
GSList *head;
GList *head;
head = g_slist_find_custom (priv->children, user_data, (GCompareFunc)func);
head = g_list_find_custom (priv->head, user_data, (GCompareFunc)func);
if (head)
return head->data;
return NULL;
@ -170,12 +178,12 @@ static void
eek_container_dispose (GObject *object)
{
EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(object);
GSList *head;
GList *head;
for (head = priv->children; head; head = priv->children) {
for (head = priv->head; head; head = priv->head) {
g_object_unref (head->data);
priv->children = g_slist_next (head);
g_slist_free1 (head);
priv->head = g_list_next (head);
g_list_free1 (head);
}
G_OBJECT_CLASS(eek_container_parent_class)->dispose (object);
}
@ -240,10 +248,7 @@ eek_container_class_init (EekContainerClass *klass)
static void
eek_container_init (EekContainer *self)
{
EekContainerPrivate *priv;
priv = self->priv = EEK_CONTAINER_GET_PRIVATE(self);
priv->children = NULL;
self->priv = EEK_CONTAINER_GET_PRIVATE(self);
}
/**

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_CONTAINER_H
#define EEK_CONTAINER_H 1

View File

@ -404,8 +404,6 @@ eek_element_init (EekElement *self)
EekElementPrivate *priv;
priv = self->priv = EEK_ELEMENT_GET_PRIVATE(self);
priv->name = NULL;
memset (&priv->bounds, 0, sizeof priv->bounds);
priv->group = -1;
priv->level = -1;
}
@ -489,7 +487,7 @@ eek_element_set_bounds (EekElement *element,
/**
* eek_element_get_bounds:
* @element: an #EekElement
* @bounds: pointer where bounding box of @element will be stored
* @bounds: (out): pointer where bounding box of @element will be stored
*
* Get the bounding box of @element. Note that if @element has
* parent, position of @bounds are relative to the parent. To obtain

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_ELEMENT_H
#define EEK_ELEMENT_H 1

View File

@ -1,4 +1,9 @@
/*** BEGIN file-header ***/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef __EEK_ENUMTYPES_H__
#define __EEK_ENUMTYPES_H__

View File

@ -23,7 +23,7 @@ includedir=@includedir@
Name: libeek-gtk
Description: A Library to Create Keyboard-like UI (GTK Support)
URL: http://ueno.github.com/eekboard/
URL: http://fedorahosted.org/eekboard/
Version: @VERSION@
Requires: eek-@EEK_API_VERSION@ gtk+-@GTK_API_VERSION@
Libs: -L${libdir} -leek-gtk

View File

@ -27,6 +27,10 @@
#include "config.h"
#endif /* HAVE_CONFIG_H */
#ifdef HAVE_LIBCANBERRA
#include <canberra-gtk.h>
#endif
#include <string.h>
#include "eek-gtk-keyboard.h"
@ -57,9 +61,11 @@ struct _EekGtkKeyboardPrivate
{
EekRenderer *renderer;
EekKeyboard *keyboard;
EekKey *dragged_key;
gulong key_pressed_handler;
gulong key_released_handler;
gulong key_locked_handler;
gulong key_unlocked_handler;
gulong key_cancelled_handler;
gulong symbol_index_changed_handler;
EekTheme *theme;
};
@ -71,12 +77,25 @@ static void on_key_pressed (EekKeyboard *keyboard,
static void on_key_released (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data);
static void on_key_locked (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data);
static void on_key_unlocked (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data);
static void on_key_cancelled (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data);
static void on_symbol_index_changed (EekKeyboard *keyboard,
gint group,
gint level,
gpointer user_data);
static void render_pressed_key (GtkWidget *widget,
EekKey *key);
static void render_locked_key (GtkWidget *widget,
EekKey *key);
static void render_released_key (GtkWidget *widget,
EekKey *key);
static void
eek_gtk_keyboard_real_realize (GtkWidget *self)
@ -87,7 +106,8 @@ eek_gtk_keyboard_real_realize (GtkWidget *self)
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK);
GDK_BUTTON_RELEASE_MASK |
GDK_BUTTON_MOTION_MASK);
GTK_WIDGET_CLASS (eek_gtk_keyboard_parent_class)->realize (self);
}
@ -99,6 +119,7 @@ eek_gtk_keyboard_real_draw (GtkWidget *self,
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
GtkAllocation allocation;
EekColor background;
GList *head;
gtk_widget_get_allocation (self, &allocation);
@ -142,9 +163,17 @@ eek_gtk_keyboard_real_draw (GtkWidget *self,
eek_renderer_render_keyboard (priv->renderer, cr);
/* redraw dragged key */
if (priv->dragged_key)
render_pressed_key (self, priv->dragged_key);
/* redraw pressed key */
head = eek_keyboard_get_pressed_keys (priv->keyboard);
for (; head; head = g_list_next (head)) {
render_pressed_key (self, head->data);
}
/* redraw locked key */
head = eek_keyboard_get_locked_keys (priv->keyboard);
for (; head; head = g_list_next (head)) {
render_locked_key (self, ((EekModifierKey *)head->data)->key);
}
return FALSE;
}
@ -190,14 +219,8 @@ eek_gtk_keyboard_real_button_press_event (GtkWidget *self,
key = eek_renderer_find_key_by_position (priv->renderer,
(gdouble)event->x,
(gdouble)event->y);
if (priv->dragged_key && priv->dragged_key != key)
g_signal_emit_by_name (priv->dragged_key, "released", priv->keyboard);
if (key && !eek_key_is_pressed (key)) {
priv->dragged_key = key;
if (key)
g_signal_emit_by_name (key, "pressed", priv->keyboard);
}
return TRUE;
}
@ -206,13 +229,55 @@ eek_gtk_keyboard_real_button_release_event (GtkWidget *self,
GdkEventButton *event)
{
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
GList *head;
if (priv->dragged_key) {
g_signal_emit_by_name (priv->dragged_key, "released", priv->keyboard);
priv->dragged_key = NULL;
head = eek_keyboard_get_pressed_keys (priv->keyboard);
for (; head; head = g_list_next (head)) {
g_signal_emit_by_name (head->data, "released", priv->keyboard);
}
return TRUE;
}
static gboolean
eek_gtk_keyboard_real_motion_notify_event (GtkWidget *self,
GdkEventMotion *event)
{
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
EekKey *key;
key = eek_renderer_find_key_by_position (priv->renderer,
(gdouble)event->x,
(gdouble)event->y);
if (key) {
GList *head = eek_keyboard_get_pressed_keys (priv->keyboard);
gboolean found = FALSE;
for (; head; head = g_list_next (head)) {
if (head->data == key)
found = TRUE;
else
g_signal_emit_by_name (head->data, "cancelled", priv->keyboard);
}
if (!found)
g_signal_emit_by_name (key, "pressed", priv->keyboard);
}
return TRUE;
}
static void
eek_gtk_keyboard_real_unmap (GtkWidget *self)
{
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
if (priv->keyboard) {
GList *head;
head = eek_keyboard_get_pressed_keys (priv->keyboard);
for (; head; head = g_list_next (head)) {
g_signal_emit_by_name (head->data, "released", priv->keyboard);
}
}
return TRUE;
GTK_WIDGET_CLASS (eek_gtk_keyboard_parent_class)->unmap (self);
}
static void
@ -228,6 +293,15 @@ eek_gtk_keyboard_set_keyboard (EekGtkKeyboard *self,
priv->key_released_handler =
g_signal_connect (priv->keyboard, "key-released",
G_CALLBACK(on_key_released), self);
priv->key_locked_handler =
g_signal_connect (priv->keyboard, "key-locked",
G_CALLBACK(on_key_locked), self);
priv->key_unlocked_handler =
g_signal_connect (priv->keyboard, "key-unlocked",
G_CALLBACK(on_key_unlocked), self);
priv->key_cancelled_handler =
g_signal_connect (priv->keyboard, "key-cancelled",
G_CALLBACK(on_key_cancelled), self);
priv->symbol_index_changed_handler =
g_signal_connect (priv->keyboard, "symbol-index-changed",
G_CALLBACK(on_symbol_index_changed), self);
@ -273,16 +347,28 @@ eek_gtk_keyboard_dispose (GObject *object)
priv->key_released_handler))
g_signal_handler_disconnect (priv->keyboard,
priv->key_released_handler);
if (g_signal_handler_is_connected (priv->keyboard,
priv->key_locked_handler))
g_signal_handler_disconnect (priv->keyboard,
priv->key_locked_handler);
if (g_signal_handler_is_connected (priv->keyboard,
priv->key_unlocked_handler))
g_signal_handler_disconnect (priv->keyboard,
priv->key_unlocked_handler);
if (g_signal_handler_is_connected (priv->keyboard,
priv->key_cancelled_handler))
g_signal_handler_disconnect (priv->keyboard,
priv->key_cancelled_handler);
if (g_signal_handler_is_connected (priv->keyboard,
priv->symbol_index_changed_handler))
g_signal_handler_disconnect (priv->keyboard,
priv->symbol_index_changed_handler);
if (priv->dragged_key) {
g_signal_emit_by_name (priv->dragged_key,
"released",
priv->keyboard);
priv->dragged_key = NULL;
GList *head;
head = eek_keyboard_get_pressed_keys (priv->keyboard);
for (; head; head = g_list_next (head)) {
g_signal_emit_by_name (head->data, "released", priv->keyboard);
}
g_object_unref (priv->keyboard);
@ -308,6 +394,7 @@ eek_gtk_keyboard_class_init (EekGtkKeyboardClass *klass)
sizeof (EekGtkKeyboardPrivate));
widget_class->realize = eek_gtk_keyboard_real_realize;
widget_class->unmap = eek_gtk_keyboard_real_unmap;
#if GTK_CHECK_VERSION (2, 91, 2)
widget_class->draw = eek_gtk_keyboard_real_draw;
#else /* GTK_CHECK_VERSION (2, 91, 2) */
@ -318,6 +405,8 @@ eek_gtk_keyboard_class_init (EekGtkKeyboardClass *klass)
eek_gtk_keyboard_real_button_press_event;
widget_class->button_release_event =
eek_gtk_keyboard_real_button_release_event;
widget_class->motion_notify_event =
eek_gtk_keyboard_real_motion_notify_event;
gobject_class->set_property = eek_gtk_keyboard_set_property;
gobject_class->dispose = eek_gtk_keyboard_dispose;
@ -335,12 +424,7 @@ eek_gtk_keyboard_class_init (EekGtkKeyboardClass *klass)
static void
eek_gtk_keyboard_init (EekGtkKeyboard *self)
{
EekGtkKeyboardPrivate *priv;
priv = self->priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
priv->renderer = NULL;
priv->keyboard = NULL;
priv->dragged_key = NULL;
self->priv = EEK_GTK_KEYBOARD_GET_PRIVATE(self);
}
/**
@ -366,15 +450,26 @@ color_from_gdk_color (GdkColor *gdk_color)
}
static void
magnify_bounds (EekBounds *bounds, EekBounds *large_bounds, gdouble scale)
magnify_bounds (GtkWidget *self,
EekBounds *bounds,
EekBounds *large_bounds,
gdouble scale)
{
GtkAllocation allocation;
gdouble x, y;
g_assert (scale >= 1.0);
gtk_widget_get_allocation (self, &allocation);
large_bounds->width = bounds->width * scale;
large_bounds->height = bounds->height * scale;
large_bounds->x = bounds->x - (large_bounds->width - bounds->width) / 2;
large_bounds->y = bounds->y - (large_bounds->height - bounds->height) / 2;
x = bounds->x - (large_bounds->width - bounds->width) / 2;
y = bounds->y - large_bounds->height;
large_bounds->x = CLAMP(x, 0, allocation.width - large_bounds->width);
large_bounds->y = CLAMP(y, 0, allocation.height - large_bounds->height);
}
static void
@ -388,10 +483,63 @@ render_pressed_key (GtkWidget *widget,
cr = gdk_cairo_create (GDK_DRAWABLE (gtk_widget_get_window (widget)));
eek_renderer_get_key_bounds (priv->renderer, key, &bounds, TRUE);
magnify_bounds (&bounds, &large_bounds, 1.5);
magnify_bounds (widget, &bounds, &large_bounds, 1.5);
cairo_save (cr);
cairo_translate (cr, bounds.x, bounds.y);
eek_renderer_render_key (priv->renderer, cr, key, 1.0, TRUE);
cairo_restore (cr);
cairo_save (cr);
cairo_translate (cr, large_bounds.x, large_bounds.y);
eek_renderer_render_key (priv->renderer, cr, key, 1.5, TRUE);
cairo_restore (cr);
cairo_destroy (cr);
}
static void
render_locked_key (GtkWidget *widget,
EekKey *key)
{
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
EekBounds bounds;
cairo_t *cr;
cr = gdk_cairo_create (GDK_DRAWABLE (gtk_widget_get_window (widget)));
eek_renderer_get_key_bounds (priv->renderer, key, &bounds, TRUE);
cairo_translate (cr, bounds.x, bounds.y);
eek_renderer_render_key (priv->renderer, cr, key, 1.0, TRUE);
cairo_destroy (cr);
}
static void
render_released_key (GtkWidget *widget,
EekKey *key)
{
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
EekBounds bounds, large_bounds;
cairo_t *cr;
cr = gdk_cairo_create (GDK_DRAWABLE (gtk_widget_get_window (widget)));
eek_renderer_get_key_bounds (priv->renderer, key, &bounds, TRUE);
magnify_bounds (widget, &bounds, &large_bounds, 2.0);
cairo_rectangle (cr,
large_bounds.x,
large_bounds.y,
large_bounds.width,
large_bounds.height);
cairo_rectangle (cr,
bounds.x,
bounds.y,
bounds.width,
bounds.height);
cairo_clip (cr);
eek_renderer_render_keyboard (priv->renderer, cr);
cairo_destroy (cr);
}
@ -408,6 +556,14 @@ on_key_pressed (EekKeyboard *keyboard,
return;
render_pressed_key (widget, key);
#if HAVE_LIBCANBERRA
ca_gtk_play_for_widget (widget, 0,
CA_PROP_EVENT_ID, "button-pressed",
CA_PROP_EVENT_DESCRIPTION, "virtual key pressed",
CA_PROP_APPLICATION_ID, "org.fedorahosted.Eekboard",
NULL);
#endif
}
static void
@ -417,26 +573,65 @@ on_key_released (EekKeyboard *keyboard,
{
GtkWidget *widget = user_data;
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
cairo_t *cr;
EekBounds bounds, large_bounds;
/* renderer may have not been set yet if the widget is a popup */
if (!priv->renderer)
return;
cr = gdk_cairo_create (GDK_DRAWABLE (gtk_widget_get_window (widget)));
render_released_key (widget, key);
eek_renderer_get_key_bounds (priv->renderer, key, &bounds, TRUE);
magnify_bounds (&bounds, &large_bounds, 2.0);
cairo_rectangle (cr,
large_bounds.x,
large_bounds.y,
large_bounds.width,
large_bounds.height);
cairo_clip (cr);
eek_renderer_render_keyboard (priv->renderer, cr);
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
cairo_destroy (cr);
#if HAVE_LIBCANBERRA
ca_gtk_play_for_widget (widget, 0,
CA_PROP_EVENT_ID, "button-released",
CA_PROP_EVENT_DESCRIPTION, "virtual key pressed",
CA_PROP_APPLICATION_ID, "org.fedorahosted.Eekboard",
NULL);
#endif
}
static void
on_key_cancelled (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data)
{
GtkWidget *widget = user_data;
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
/* renderer may have not been set yet if the widget is a popup */
if (!priv->renderer)
return;
render_released_key (widget, key);
}
static void
on_key_locked (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data)
{
GtkWidget *widget = user_data;
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
/* renderer may have not been set yet if the widget is a popup */
if (!priv->renderer)
return;
render_locked_key (widget, key);
}
static void
on_key_unlocked (EekKeyboard *keyboard,
EekKey *key,
gpointer user_data)
{
GtkWidget *widget = user_data;
EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(widget);
/* renderer may have not been set yet if the widget is a popup */
if (!priv->renderer)
return;
render_released_key (widget, key);
}
static void

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek-gtk.h> can be included directly."
#endif
#ifndef EEK_GTK_KEYBOARD_H
#define EEK_GTK_KEYBOARD_H 1

View File

@ -51,58 +51,27 @@ pixbuf_to_cairo_surface (GdkPixbuf *pixbuf)
return surface;
}
static void
eek_gtk_renderer_real_render_key_icon (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate)
static cairo_surface_t *
eek_gtk_renderer_real_get_icon_surface (EekRenderer *self,
const gchar *icon_name,
gint size)
{
EekBounds bounds;
EekSymbol *symbol;
const gchar *icon_name;
GdkPixbuf *pixbuf;
cairo_surface_t *surface;
GError *error;
gint width, height;
symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
g_return_if_fail (symbol);
icon_name = eek_symbol_get_icon_name (symbol);
g_return_if_fail (icon_name);
eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
bounds.width *= scale;
bounds.height *= scale;
cairo_surface_t *surface;
error = NULL;
pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
icon_name,
MIN(bounds.width, bounds.height),
size,
0,
&error);
g_return_if_fail (pixbuf);
if (pixbuf == NULL)
return NULL;
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
if (bounds.width * height < bounds.height * width)
scale = bounds.width / width;
else
scale = bounds.height / height;
cairo_save (cr);
cairo_translate (cr,
(bounds.width - width * scale) / 2,
(bounds.height - height * scale) / 2);
eek_renderer_apply_transformation_for_key (self, cr, key, scale, rotate);
surface = pixbuf_to_cairo_surface (pixbuf);
g_object_unref (pixbuf);
cairo_set_source_surface (cr, surface, 0.0, 0.0);
cairo_paint (cr);
cairo_restore (cr);
return surface;
}
static void
@ -110,7 +79,7 @@ eek_gtk_renderer_class_init (EekGtkRendererClass *klass)
{
EekRendererClass *renderer_class = EEK_RENDERER_CLASS (klass);
renderer_class->render_key_icon = eek_gtk_renderer_real_render_key_icon;
renderer_class->get_icon_surface = eek_gtk_renderer_real_get_icon_surface;
}
static void

View File

@ -39,7 +39,6 @@
#include "eek-section.h"
#include "eek-keyboard.h"
#include "eek-symbol.h"
#include "eek-serializable.h"
enum {
PROP_0,
@ -54,16 +53,15 @@ enum {
enum {
PRESSED,
RELEASED,
LOCKED,
UNLOCKED,
CANCELLED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0, };
static void eek_serializable_iface_init (EekSerializableIface *iface);
G_DEFINE_TYPE_WITH_CODE (EekKey, eek_key, EEK_TYPE_ELEMENT,
G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE,
eek_serializable_iface_init));
G_DEFINE_TYPE (EekKey, eek_key, EEK_TYPE_ELEMENT);
#define EEK_KEY_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_KEY, EekKeyPrivate))
@ -77,106 +75,9 @@ struct _EekKeyPrivate
gint row;
gulong oref;
gboolean is_pressed;
gboolean is_locked;
};
static EekSerializableIface *eek_key_parent_serializable_iface;
static GVariant *
_g_variant_new_symbol_matrix (EekSymbolMatrix *symbol_matrix)
{
GVariantBuilder builder, array;
gint i, num_symbols = symbol_matrix->num_groups * symbol_matrix->num_levels;
g_variant_builder_init (&builder, G_VARIANT_TYPE ("(iiv)"));
g_variant_builder_add (&builder, "i", symbol_matrix->num_groups);
g_variant_builder_add (&builder, "i", symbol_matrix->num_levels);
g_variant_builder_init (&array, G_VARIANT_TYPE ("av"));
for (i = 0; i < num_symbols; i++) {
GVariant *symbol = eek_serializable_serialize
(EEK_SERIALIZABLE(symbol_matrix->data[i]));
g_variant_builder_add (&array, "v", symbol);
}
g_variant_builder_add (&builder, "v", g_variant_builder_end (&array));
return g_variant_builder_end (&builder);
}
static EekSymbolMatrix *
_g_variant_get_symbol_matrix (GVariant *variant)
{
gint num_groups, num_levels, i;
EekSymbolMatrix *symbol_matrix;
GVariant *array, *child;
GVariantIter iter;
g_variant_get_child (variant, 0, "i", &num_groups);
g_variant_get_child (variant, 1, "i", &num_levels);
symbol_matrix = eek_symbol_matrix_new (num_groups, num_levels);
g_variant_get_child (variant, 2, "v", &array);
g_variant_iter_init (&iter, array);
for (i = 0; i < num_groups * num_levels; i++) {
EekSerializable *serializable;
if (!g_variant_iter_next (&iter, "v", &child)) {
eek_symbol_matrix_free (symbol_matrix);
g_return_val_if_reached (NULL);
}
serializable = eek_serializable_deserialize (child);
symbol_matrix->data[i] = EEK_SYMBOL(serializable);
}
return symbol_matrix;
}
static void
eek_key_real_serialize (EekSerializable *self,
GVariantBuilder *builder)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
eek_key_parent_serializable_iface->serialize (self, builder);
g_variant_builder_add (builder, "u", priv->keycode);
g_variant_builder_add (builder, "v",
_g_variant_new_symbol_matrix (priv->symbol_matrix));
g_variant_builder_add (builder, "i", priv->column);
g_variant_builder_add (builder, "i", priv->row);
g_variant_builder_add (builder, "u", priv->oref);
}
static gsize
eek_key_real_deserialize (EekSerializable *self,
GVariant *variant,
gsize index)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
GVariant *symbol_matrix;
index = eek_key_parent_serializable_iface->deserialize (self,
variant,
index);
g_variant_get_child (variant, index++, "u", &priv->keycode);
g_variant_get_child (variant, index++, "v", &symbol_matrix);
eek_symbol_matrix_free (priv->symbol_matrix);
priv->symbol_matrix = _g_variant_get_symbol_matrix (symbol_matrix);
g_variant_get_child (variant, index++, "i", &priv->column);
g_variant_get_child (variant, index++, "i", &priv->row);
g_variant_get_child (variant, index++, "u", &priv->oref);
return index;
}
static void
eek_serializable_iface_init (EekSerializableIface *iface)
{
eek_key_parent_serializable_iface =
g_type_interface_peek_parent (iface);
iface->serialize = eek_key_real_serialize;
iface->deserialize = eek_key_real_deserialize;
}
static void
eek_key_real_set_keycode (EekKey *self, guint keycode)
{
@ -254,6 +155,13 @@ eek_key_real_is_pressed (EekKey *self)
return priv->is_pressed;
}
static gboolean
eek_key_real_is_locked (EekKey *self)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
return priv->is_locked;
}
static void
eek_key_real_pressed (EekKey *self)
{
@ -276,6 +184,39 @@ eek_key_real_released (EekKey *self)
#endif
}
static void
eek_key_real_locked (EekKey *self)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
priv->is_locked = TRUE;
#if DEBUG
g_debug ("locked %X", eek_key_get_keycode (self));
#endif
}
static void
eek_key_real_unlocked (EekKey *self)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
priv->is_locked = FALSE;
#if DEBUG
g_debug ("unlocked %X", eek_key_get_keycode (self));
#endif
}
static void
eek_key_real_cancelled (EekKey *self)
{
EekKeyPrivate *priv = EEK_KEY_GET_PRIVATE(self);
priv->is_pressed = FALSE;
#if DEBUG
g_debug ("cancelled %X", eek_key_get_keycode (self));
#endif
}
static void
eek_key_finalize (GObject *object)
{
@ -374,6 +315,7 @@ eek_key_class_init (EekKeyClass *klass)
klass->set_oref = eek_key_real_set_oref;
klass->get_oref = eek_key_real_get_oref;
klass->is_pressed = eek_key_real_is_pressed;
klass->is_locked = eek_key_real_is_locked;
gobject_class->set_property = eek_key_set_property;
gobject_class->get_property = eek_key_get_property;
@ -382,6 +324,9 @@ eek_key_class_init (EekKeyClass *klass)
/* signals */
klass->pressed = eek_key_real_pressed;
klass->released = eek_key_real_released;
klass->locked = eek_key_real_locked;
klass->unlocked = eek_key_real_unlocked;
klass->cancelled = eek_key_real_cancelled;
/**
* EekKey:keycode:
@ -478,6 +423,59 @@ eek_key_class_init (EekKeyClass *klass)
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
/**
* EekKey::locked:
* @key: an #EekKey
*
* The ::locked signal is emitted each time @key is shifted to
* the locked state. The class handler runs before signal
* handlers to allow signal handlers to read the status of @key
* with eek_key_is_locked().
*/
signals[LOCKED] =
g_signal_new (I_("locked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET(EekKeyClass, locked),
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
/**
* EekKey::unlocked:
* @key: an #EekKey
*
* The ::unlocked signal is emitted each time @key is shifted to
* the unlocked state.
*/
signals[UNLOCKED] =
g_signal_new (I_("unlocked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekKeyClass, unlocked),
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
/**
* EekKey::cancelled:
* @key: an #EekKey
*
* The ::cancelled signal is emitted each time @key is shifted to
* the cancelled state.
*/
signals[CANCELLED] =
g_signal_new (I_("cancelled"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekKeyClass, cancelled),
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
}
static void
@ -486,10 +484,7 @@ eek_key_init (EekKey *self)
EekKeyPrivate *priv;
priv = self->priv = EEK_KEY_GET_PRIVATE(self);
priv->keycode = 0;
priv->symbol_matrix = eek_symbol_matrix_new (0, 0);
priv->column = priv->row = 0;
priv->oref = 0;
}
/**
@ -545,7 +540,7 @@ eek_key_set_symbol_matrix (EekKey *key,
* @key: an #EekKey
*
* Get the symbol matrix of @key.
* Returns: #EekSymbolMatrix or %NULL
* Returns: (transfer none): #EekSymbolMatrix or %NULL
*/
EekSymbolMatrix *
eek_key_get_symbol_matrix (EekKey *key)
@ -749,3 +744,16 @@ eek_key_is_pressed (EekKey *key)
g_assert (EEK_IS_KEY(key));
return EEK_KEY_GET_CLASS(key)->is_pressed (key);
}
/**
* eek_key_is_locked:
* @key: an #EekKey
*
* Return %TRUE if key is marked as locked.
*/
gboolean
eek_key_is_locked (EekKey *key)
{
g_assert (EEK_IS_KEY(key));
return EEK_KEY_GET_CLASS(key)->is_locked (key);
}

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_KEY_H
#define EEK_KEY_H 1
@ -35,6 +40,12 @@ G_BEGIN_DECLS
typedef struct _EekKeyClass EekKeyClass;
typedef struct _EekKeyPrivate EekKeyPrivate;
/**
* EekKey:
*
* The #EekKey structure contains only private data and should only be
* accessed using the provided API.
*/
struct _EekKey
{
/*< private >*/
@ -57,7 +68,11 @@ struct _EekKey
* @get_oref: virtual function for getting outline id of the key
* @pressed: class handler for #EekKey::pressed signal
* @released: class handler for #EekKey::released signal
* @locked: class handler for #EekKey::locked signal
* @unlocked: class handler for #EekKey::unlocked signal
* @cancelled: class handler for #EekKey::cancelled signal
* @is_pressed: virtual function for getting whether the key is pressed
* @is_locked: virtual function for getting whether the key is locked
*/
struct _EekKeyClass
{
@ -85,13 +100,18 @@ struct _EekKeyClass
gboolean (* is_pressed) (EekKey *self);
/* signals */
void (* pressed) (EekKey *key);
void (* released) (EekKey *key);
gboolean (* is_locked) (EekKey *self);
void (* locked) (EekKey *key);
void (* unlocked) (EekKey *key);
void (* cancelled) (EekKey *key);
/*< private >*/
/* padding */
gpointer pdummy[24];
gpointer pdummy[20];
};
GType eek_key_get_type (void) G_GNUC_CONST;
@ -125,6 +145,7 @@ void eek_key_set_oref (EekKey *key,
gulong eek_key_get_oref (EekKey *key);
gboolean eek_key_is_pressed (EekKey *key);
gboolean eek_key_is_locked (EekKey *key);
G_END_DECLS
#endif /* EEK_KEY_H */

View File

@ -35,7 +35,6 @@
#include "eek-section.h"
#include "eek-key.h"
#include "eek-symbol.h"
#include "eek-serializable.h"
#include "eek-enumtypes.h"
enum {
@ -48,26 +47,26 @@ enum {
enum {
KEY_PRESSED,
KEY_RELEASED,
KEY_LOCKED,
KEY_UNLOCKED,
KEY_CANCELLED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0, };
static void eek_serializable_iface_init (EekSerializableIface *iface);
G_DEFINE_TYPE_WITH_CODE (EekKeyboard, eek_keyboard, EEK_TYPE_CONTAINER,
G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE,
eek_serializable_iface_init));
G_DEFINE_TYPE (EekKeyboard, eek_keyboard, EEK_TYPE_CONTAINER);
#define EEK_KEYBOARD_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_KEYBOARD, EekKeyboardPrivate))
struct _EekKeyboardPrivate
{
EekLayout *layout;
EekModifierBehavior modifier_behavior;
EekModifierType modifiers;
GList *pressed_keys;
GList *locked_keys;
GArray *outline_array;
/* modifiers dynamically assigned at run time */
@ -75,120 +74,6 @@ struct _EekKeyboardPrivate
EekModifierType alt_gr_mask;
};
static EekSerializableIface *eek_keyboard_parent_serializable_iface;
static GVariant *_g_variant_new_outline (EekOutline *outline);
static EekOutline *_g_variant_get_outline (GVariant *variant);
static GVariant *
_g_variant_new_outline (EekOutline *outline)
{
GVariantBuilder builder, array;
gint i;
g_variant_builder_init (&builder, G_VARIANT_TYPE ("(div)"));
g_variant_builder_add (&builder, "d", outline->corner_radius);
g_variant_builder_add (&builder, "i", outline->num_points);
g_variant_builder_init (&array, G_VARIANT_TYPE ("a(dd)"));
for (i = 0; i < outline->num_points; i++)
g_variant_builder_add (&array,
"(dd)",
outline->points[i].x,
outline->points[i].y);
g_variant_builder_add (&builder, "v", g_variant_builder_end (&array));
return g_variant_builder_end (&builder);
}
static EekOutline *
_g_variant_get_outline (GVariant *variant)
{
EekOutline *outline;
GVariant *array;
GVariantIter iter;
gdouble x, y;
gint i;
outline = g_slice_new0 (EekOutline);
g_variant_get_child (variant, 0, "d", &outline->corner_radius);
g_variant_get_child (variant, 1, "i", &outline->num_points);
outline->points = g_slice_alloc0 (sizeof (EekPoint) * outline->num_points);
g_variant_get_child (variant, 2, "v", &array);
g_variant_iter_init (&iter, array);
for (i = 0; i < outline->num_points; i++) {
if (!g_variant_iter_next (&iter, "(dd)", &x, &y)) {
eek_outline_free (outline);
g_return_val_if_reached (NULL);
}
outline->points[i].x = x;
outline->points[i].y = y;
}
return outline;
}
static void
eek_keyboard_real_serialize (EekSerializable *self,
GVariantBuilder *builder)
{
EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(self);
GVariantBuilder array;
guint i;
eek_keyboard_parent_serializable_iface->serialize (self, builder);
g_variant_builder_init (&array, G_VARIANT_TYPE ("av"));
for (i = 0; i < priv->outline_array->len; i++) {
EekOutline *outline =
eek_keyboard_get_outline (EEK_KEYBOARD(self), i + 1);
g_variant_builder_add (&array, "v",
_g_variant_new_outline (outline));
}
g_variant_builder_add (builder, "v", g_variant_builder_end (&array));
g_variant_builder_add (builder, "u", priv->num_lock_mask);
g_variant_builder_add (builder, "u", priv->alt_gr_mask);
}
static gsize
eek_keyboard_real_deserialize (EekSerializable *self,
GVariant *variant,
gsize index)
{
EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(self);
GVariant *array, *outline;
GVariantIter iter;
index = eek_keyboard_parent_serializable_iface->deserialize (self,
variant,
index);
g_variant_get_child (variant, index++, "v", &array);
g_variant_iter_init (&iter, array);
while (g_variant_iter_next (&iter, "v", &outline)) {
EekOutline *_outline = _g_variant_get_outline (outline);
g_array_append_val (priv->outline_array, *_outline);
/* don't use eek_outline_free here, so as to keep _outline->points */
g_slice_free (EekOutline, _outline);
}
g_variant_get_child (variant, index++, "u", &priv->num_lock_mask);
g_variant_get_child (variant, index++, "u", &priv->alt_gr_mask);
return index;
}
static void
eek_serializable_iface_init (EekSerializableIface *iface)
{
eek_keyboard_parent_serializable_iface =
g_type_interface_peek_parent (iface);
iface->serialize = eek_keyboard_real_serialize;
iface->deserialize = eek_keyboard_real_deserialize;
}
static void
on_key_pressed (EekSection *section,
EekKey *key,
@ -205,6 +90,30 @@ on_key_released (EekSection *section,
g_signal_emit_by_name (keyboard, "key-released", key);
}
static void
on_key_locked (EekSection *section,
EekKey *key,
EekKeyboard *keyboard)
{
g_signal_emit_by_name (keyboard, "key-locked", key);
}
static void
on_key_unlocked (EekSection *section,
EekKey *key,
EekKeyboard *keyboard)
{
g_signal_emit_by_name (keyboard, "key-unlocked", key);
}
static void
on_key_cancelled (EekSection *section,
EekKey *key,
EekKeyboard *keyboard)
{
g_signal_emit_by_name (keyboard, "key-cancelled", key);
}
static void
on_symbol_index_changed (EekSection *section,
gint group,
@ -322,6 +231,45 @@ set_level_from_modifiers (EekKeyboard *self)
eek_element_set_level (EEK_ELEMENT(self), level);
}
static void
set_modifiers_with_key (EekKeyboard *self,
EekKey *key,
EekModifierType modifiers)
{
EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(self);
EekModifierType enabled = (priv->modifiers ^ modifiers) & modifiers;
EekModifierType disabled = (priv->modifiers ^ modifiers) & priv->modifiers;
if (enabled != 0) {
if (priv->modifier_behavior != EEK_MODIFIER_BEHAVIOR_NONE) {
EekModifierKey *modifier_key = g_slice_new (EekModifierKey);
modifier_key->modifiers = enabled;
modifier_key->key = key;
priv->locked_keys =
g_list_prepend (priv->locked_keys, modifier_key);
g_signal_emit_by_name (modifier_key->key, "locked");
}
} else {
if (priv->modifier_behavior != EEK_MODIFIER_BEHAVIOR_NONE) {
GList *head;
for (head = priv->locked_keys; head; ) {
EekModifierKey *modifier_key = head->data;
if (modifier_key->modifiers & disabled) {
GList *next = g_list_next (head);
priv->locked_keys =
g_list_remove_link (priv->locked_keys, head);
g_signal_emit_by_name (modifier_key->key, "unlocked");
g_list_free1 (head);
head = next;
} else
head = g_list_next (head);
}
}
}
priv->modifiers = modifiers;
}
static void
eek_keyboard_real_key_pressed (EekKeyboard *self,
EekKey *key)
@ -330,13 +278,15 @@ eek_keyboard_real_key_pressed (EekKeyboard *self,
EekSymbol *symbol;
EekModifierType modifier;
priv->pressed_keys = g_list_prepend (priv->pressed_keys, key);
symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
if (!symbol)
return;
modifier = eek_symbol_get_modifier_mask (symbol);
if (priv->modifier_behavior == EEK_MODIFIER_BEHAVIOR_NONE) {
priv->modifiers |= modifier;
set_modifiers_with_key (self, key, priv->modifiers | modifier);
set_level_from_modifiers (self);
}
}
@ -349,6 +299,8 @@ eek_keyboard_real_key_released (EekKeyboard *self,
EekSymbol *symbol;
EekModifierType modifier;
EEK_KEYBOARD_GET_CLASS (self)->key_cancelled (self, key);
symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
if (!symbol)
return;
@ -356,21 +308,42 @@ eek_keyboard_real_key_released (EekKeyboard *self,
modifier = eek_symbol_get_modifier_mask (symbol);
switch (priv->modifier_behavior) {
case EEK_MODIFIER_BEHAVIOR_NONE:
priv->modifiers &= ~modifier;
set_modifiers_with_key (self, key, priv->modifiers & ~modifier);
break;
case EEK_MODIFIER_BEHAVIOR_LOCK:
priv->modifiers ^= modifier;
break;
case EEK_MODIFIER_BEHAVIOR_LATCH:
if (modifier == priv->alt_gr_mask || modifier == EEK_SHIFT_MASK)
priv->modifiers ^= modifier;
if (modifier)
set_modifiers_with_key (self, key, priv->modifiers ^ modifier);
else
priv->modifiers = (priv->modifiers ^ modifier) & modifier;
set_modifiers_with_key (self, key,
(priv->modifiers ^ modifier) & modifier);
break;
}
set_level_from_modifiers (self);
}
static void
eek_keyboard_real_key_cancelled (EekKeyboard *self,
EekKey *key)
{
EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(self);
GList *head;
for (head = priv->pressed_keys; head; ) {
EekKey *pressed_key = head->data;
if (pressed_key == key) {
GList *next = g_list_next (head);
priv->pressed_keys =
g_list_remove_link (priv->pressed_keys, head);
g_list_free1 (head);
head = next;
} else
head = g_list_next (head);
}
}
static void
eek_keyboard_dispose (GObject *object)
{
@ -390,6 +363,9 @@ eek_keyboard_finalize (GObject *object)
EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(object);
gint i;
g_list_free (priv->pressed_keys);
g_list_free (priv->locked_keys);
for (i = 0; i < priv->outline_array->len; i++) {
EekOutline *outline = &g_array_index (priv->outline_array,
EekOutline,
@ -410,6 +386,12 @@ eek_keyboard_real_child_added (EekContainer *self,
G_CALLBACK(on_key_pressed), self);
g_signal_connect (element, "key-released",
G_CALLBACK(on_key_released), self);
g_signal_connect (element, "key-locked",
G_CALLBACK(on_key_locked), self);
g_signal_connect (element, "key-unlocked",
G_CALLBACK(on_key_unlocked), self);
g_signal_connect (element, "key-cancelled",
G_CALLBACK(on_key_cancelled), self);
g_signal_connect (element, "symbol-index-changed",
G_CALLBACK(on_symbol_index_changed), self);
}
@ -420,6 +402,9 @@ eek_keyboard_real_child_removed (EekContainer *self,
{
g_signal_handlers_disconnect_by_func (element, on_key_pressed, self);
g_signal_handlers_disconnect_by_func (element, on_key_released, self);
g_signal_handlers_disconnect_by_func (element, on_key_locked, self);
g_signal_handlers_disconnect_by_func (element, on_key_unlocked, self);
g_signal_handlers_disconnect_by_func (element, on_key_cancelled, self);
}
static void
@ -438,6 +423,7 @@ eek_keyboard_class_init (EekKeyboardClass *klass)
/* signals */
klass->key_pressed = eek_keyboard_real_key_pressed;
klass->key_released = eek_keyboard_real_key_released;
klass->key_cancelled = eek_keyboard_real_key_cancelled;
container_class->child_added = eek_keyboard_real_child_added;
container_class->child_removed = eek_keyboard_real_child_removed;
@ -515,6 +501,66 @@ eek_keyboard_class_init (EekKeyboardClass *klass)
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekKeyboard::key-locked:
* @keyboard: an #EekKeyboard
* @key: an #EekKey
*
* The ::key-locked signal is emitted each time a key in @keyboard
* is shifted to the locked state.
*/
signals[KEY_LOCKED] =
g_signal_new (I_("key-locked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekKeyboardClass, key_locked),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekKeyboard::key-unlocked:
* @keyboard: an #EekKeyboard
* @key: an #EekKey
*
* The ::key-unlocked signal is emitted each time a key in @keyboard
* is shifted to the unlocked state.
*/
signals[KEY_UNLOCKED] =
g_signal_new (I_("key-unlocked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekKeyboardClass, key_unlocked),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekKeyboard::key-cancelled:
* @keyboard: an #EekKeyboard
* @key: an #EekKey
*
* The ::key-cancelled signal is emitted each time a key in @keyboard
* is shifted to the cancelled state.
*/
signals[KEY_CANCELLED] =
g_signal_new (I_("key-cancelled"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekKeyboardClass, key_cancelled),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
}
static void
@ -523,11 +569,8 @@ eek_keyboard_init (EekKeyboard *self)
EekKeyboardPrivate *priv;
priv = self->priv = EEK_KEYBOARD_GET_PRIVATE(self);
priv->layout = NULL;
priv->modifier_behavior = EEK_MODIFIER_BEHAVIOR_NONE;
priv->modifiers = 0;
priv->outline_array = g_array_new (FALSE, TRUE, sizeof (EekOutline));
priv->num_lock_mask = 0;
eek_element_set_symbol_index (EEK_ELEMENT(self), 0, 0);
}
@ -748,6 +791,19 @@ eek_keyboard_get_modifier_behavior (EekKeyboard *keyboard)
return priv->modifier_behavior;
}
void
eek_keyboard_set_modifiers (EekKeyboard *keyboard,
EekModifierType modifiers)
{
EekKeyboardPrivate *priv;
g_assert (EEK_IS_KEYBOARD(keyboard));
priv = EEK_KEYBOARD_GET_PRIVATE(keyboard);
priv->modifiers = modifiers;
set_level_from_modifiers (keyboard);
}
/**
* eek_keyboard_get_modifiers:
* @keyboard: an #EekKeyboard
@ -887,3 +943,41 @@ eek_keyboard_get_alt_gr_mask (EekKeyboard *keyboard)
return priv->alt_gr_mask;
}
/**
* eek_keyboard_get_pressed_keys:
* @keyboard: an #EekKeyboard
*
* Get pressed keys.
* Returns: (transfer container) (element-type EekKey): A list of
* pressed keys.
*/
GList *
eek_keyboard_get_pressed_keys (EekKeyboard *keyboard)
{
EekKeyboardPrivate *priv;
g_assert (EEK_IS_KEYBOARD(keyboard));
priv = EEK_KEYBOARD_GET_PRIVATE(keyboard);
return priv->pressed_keys;
}
/**
* eek_keyboard_get_locked_keys:
* @keyboard: an #EekKeyboard
*
* Get locked keys.
* Returns: (transfer container) (element-type EekModifierKey): A list
* of locked keys.
*/
GList *
eek_keyboard_get_locked_keys (EekKeyboard *keyboard)
{
EekKeyboardPrivate *priv;
g_assert (EEK_IS_KEYBOARD(keyboard));
priv = EEK_KEYBOARD_GET_PRIVATE(keyboard);
return priv->locked_keys;
}

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_KEYBOARD_H
#define EEK_KEYBOARD_H 1
@ -58,6 +63,9 @@ struct _EekKeyboard
* keyboard by keycode
* @key_pressed: class handler for #EekKeyboard::key-pressed signal
* @key_released: class handler for #EekKeyboard::key-released signal
* @key_locked: class handler for #EekKeyboard::key-locked signal
* @key_unlocked: class handler for #EekKeyboard::key-unlocked signal
* @key_cancelled: class handler for #EekKeyboard::key-cancelled signal
*/
struct _EekKeyboardClass
{
@ -69,25 +77,50 @@ struct _EekKeyboardClass
gpointer get_symbol_index;
/*< public >*/
EekSection *(* create_section) (EekKeyboard *self);
EekSection *(* create_section) (EekKeyboard *self);
EekKey *(* find_key_by_keycode) (EekKeyboard *self,
guint keycode);
EekKey *(* find_key_by_keycode) (EekKeyboard *self,
guint keycode);
/* signals */
void (* key_pressed) (EekKeyboard *self,
EekKey *key);
void (* key_released) (EekKeyboard *self,
EekKey *key);
void (* key_pressed) (EekKeyboard *self,
EekKey *key);
void (* key_released) (EekKeyboard *self,
EekKey *key);
/*< private >*/
/* obsolete members moved to EekElement */
gpointer symbol_index_changed;
/*< public >*/
/* signals */
void (* key_locked) (EekKeyboard *self,
EekKey *key);
void (* key_unlocked) (EekKeyboard *self,
EekKey *key);
void (* key_cancelled) (EekKeyboard *self,
EekKey *key);
/*< private >*/
/* padding */
gpointer pdummy[24];
gpointer pdummy[21];
};
/**
* EekModifierKey:
* @modifiers: an #EekModifierType which @key triggers
* @key: an #EekKey
*
* Entry which associates modifier mask to a key. This is returned by
* eek_keyboard_get_locked_keys().
*/
struct _EekModifierKey {
/*< public >*/
EekModifierType modifiers;
EekKey *key;
};
typedef struct _EekModifierKey EekModifierKey;
GType eek_keyboard_get_type
(void) G_GNUC_CONST;
@ -130,6 +163,9 @@ void eek_keyboard_set_modifier_behavior
EekModifierBehavior modifier_behavior);
EekModifierBehavior eek_keyboard_get_modifier_behavior
(EekKeyboard *keyboard);
void eek_keyboard_set_modifiers
(EekKeyboard *keyboard,
EekModifierType modifiers);
EekModifierType eek_keyboard_get_modifiers
(EekKeyboard *keyboard);
@ -160,5 +196,10 @@ void eek_keyboard_set_alt_gr_mask
EekModifierType eek_keyboard_get_alt_gr_mask
(EekKeyboard *keyboard);
GList *eek_keyboard_get_pressed_keys
(EekKeyboard *keyboard);
GList *eek_keyboard_get_locked_keys
(EekKeyboard *keyboard);
G_END_DECLS
#endif /* EEK_KEYBOARD_H */

View File

@ -208,10 +208,7 @@ eek_keysym_class_init (EekKeysymClass *klass)
static void
eek_keysym_init (EekKeysym *self)
{
EekKeysymPrivate *priv;
priv = self->priv = EEK_KEYSYM_GET_PRIVATE(self);
priv->xkeysym = EEK_INVALID_KEYSYM;
self->priv = EEK_KEYSYM_GET_PRIVATE(self);
}
/**

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_KEYSYM_H
#define EEK_KEYSYM_H 1
@ -42,6 +47,12 @@ G_BEGIN_DECLS
typedef struct _EekKeysymClass EekKeysymClass;
typedef struct _EekKeysymPrivate EekKeysymPrivate;
/**
* EekKeysym:
*
* The #EekKeysym structure contains only private data and should only
* be accessed using the provided API.
*/
struct _EekKeysym {
/*< private >*/
EekSymbol parent;
@ -60,7 +71,7 @@ guint eek_keysym_get_xkeysym (EekKeysym *keysym);
EekKeysym *eek_keysym_new_from_name (const gchar *name);
EekKeysym *eek_keysym_new_with_modifier (guint xkeysym,
EekModifierType modifier);
EekModifierType modifier_mask);
G_END_DECLS

View File

@ -18,6 +18,10 @@
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_LAYOUT_H
#define EEK_LAYOUT_H 1

View File

@ -87,7 +87,8 @@ static void eek_renderer_real_render_key_label (EekRenderer *self,
static void invalidate (EekRenderer *renderer);
static void render_key (EekRenderer *self,
cairo_t *cr,
EekKey *key);
EekKey *key,
gboolean active);
static void on_symbol_index_changed (EekKeyboard *keyboard,
gint group,
gint level,
@ -117,7 +118,7 @@ create_keyboard_surface_key_callback (EekElement *element,
bounds.width * priv->scale,
bounds.height * priv->scale);
cairo_clip (data->cr);
render_key (data->renderer, data->cr, EEK_KEY(element));
render_key (data->renderer, data->cr, EEK_KEY(element), FALSE);
cairo_restore (data->cr);
}
@ -197,7 +198,8 @@ create_keyboard_surface (EekRenderer *renderer)
static void
render_key_outline (EekRenderer *renderer,
cairo_t *cr,
EekKey *key)
EekKey *key,
gboolean active)
{
EekRendererPrivate *priv = EEK_RENDERER_GET_PRIVATE(renderer);
EekOutline *outline;
@ -215,10 +217,10 @@ render_key_outline (EekRenderer *renderer,
if (oref == 0)
return;
if (eek_key_is_pressed (key))
theme_node = g_object_get_data (G_OBJECT(key), "theme-node-pressed");
else
theme_node = g_object_get_data (G_OBJECT(key), "theme-node");
theme_node = g_object_get_data (G_OBJECT(key),
active ?
"theme-node-pressed" :
"theme-node");
if (theme_node) {
eek_theme_node_get_foreground_color (theme_node, &foreground);
eek_theme_node_get_background_color (theme_node, &background);
@ -428,7 +430,8 @@ calculate_font_size (EekRenderer *renderer,
static void
render_key (EekRenderer *self,
cairo_t *cr,
EekKey *key)
EekKey *key,
gboolean active)
{
EekRendererPrivate *priv = EEK_RENDERER_GET_PRIVATE(self);
EekOutline *outline;
@ -437,13 +440,20 @@ render_key (EekRenderer *self,
gulong oref;
EekSymbol *symbol;
GHashTable *outline_surface_cache;
PangoLayout *layout;
PangoRectangle extents = { 0, };
EekColor foreground;
/* render outline */
eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
bounds.width *= priv->scale;
bounds.height *= priv->scale;
oref = eek_key_get_oref (key);
if (oref == 0)
return;
if (eek_key_is_pressed (key))
if (active)
outline_surface_cache = priv->active_outline_surface_cache;
else
outline_surface_cache = priv->outline_surface_cache;
@ -455,15 +465,19 @@ render_key (EekRenderer *self,
outline_surface =
cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
bounds.width * priv->scale,
bounds.height * priv->scale);
bounds.width,
bounds.height);
cr = cairo_create (outline_surface);
/* blank background */
cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
cairo_paint (cr);
eek_renderer_render_key_outline (self, cr, key, 1.0, 0);
cairo_save (cr);
eek_renderer_apply_transformation_for_key (self, cr, key, 1.0, FALSE);
render_key_outline (self, cr, key, active);
cairo_restore (cr);
cairo_destroy (cr);
g_hash_table_insert (outline_surface_cache,
@ -474,36 +488,66 @@ render_key (EekRenderer *self,
cairo_set_source_surface (cr, outline_surface, 0.0, 0.0);
cairo_paint (cr);
/* render icon (if any) */
symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
if (EEK_RENDERER_GET_CLASS(self)->render_key_icon &&
symbol && eek_symbol_get_icon_name (symbol)) {
eek_renderer_render_key_icon (self, cr, key, 1.0, 0);
} else {
PangoLayout *layout;
PangoRectangle extents = { 0, };
EekColor foreground;
if (!symbol)
return;
layout = pango_cairo_create_layout (cr);
eek_renderer_render_key_label (self, layout, key);
pango_layout_get_extents (layout, NULL, &extents);
if (eek_symbol_get_icon_name (symbol)) {
cairo_surface_t *icon_surface =
eek_renderer_get_icon_surface (self,
eek_symbol_get_icon_name (symbol),
MIN(bounds.width, bounds.height));
if (icon_surface) {
gint width = cairo_image_surface_get_width (icon_surface);
gint height = cairo_image_surface_get_height (icon_surface);
gdouble scale;
cairo_save (cr);
cairo_move_to
(cr,
(bounds.width * priv->scale - extents.width / PANGO_SCALE) / 2,
(bounds.height * priv->scale - extents.height / PANGO_SCALE) / 2);
if (height * bounds.width / width <= bounds.height)
scale = bounds.width / width;
else if (width * bounds.height / height <= bounds.width)
scale = bounds.height / height;
else {
if (width * bounds.height < height * bounds.width)
scale = width / bounds.width;
else
scale = height / bounds.height;
}
eek_renderer_get_foreground_color (self, EEK_ELEMENT(key), &foreground);
cairo_set_source_rgba (cr,
foreground.red,
foreground.green,
foreground.blue,
foreground.alpha);
pango_cairo_show_layout (cr, layout);
cairo_restore (cr);
g_object_unref (layout);
cairo_save (cr);
cairo_translate (cr,
(bounds.width - width * scale) / 2,
(bounds.height - height * scale) / 2);
cairo_rectangle (cr, 0, 0, width, height);
cairo_clip (cr);
cairo_set_source_surface (cr, icon_surface, 0.0, 0.0);
cairo_paint (cr);
cairo_restore (cr);
return;
}
}
/* render label */
layout = pango_cairo_create_layout (cr);
eek_renderer_render_key_label (self, layout, key);
pango_layout_get_extents (layout, NULL, &extents);
cairo_save (cr);
cairo_move_to
(cr,
(bounds.width - extents.width / PANGO_SCALE) / 2,
(bounds.height - extents.height / PANGO_SCALE) / 2);
eek_renderer_get_foreground_color (self, EEK_ELEMENT(key), &foreground);
cairo_set_source_rgba (cr,
foreground.red,
foreground.green,
foreground.blue,
foreground.alpha);
pango_cairo_show_layout (cr, layout);
cairo_restore (cr);
g_object_unref (layout);
}
void
@ -625,7 +669,7 @@ eek_renderer_real_render_key_outline (EekRenderer *self,
{
cairo_save (cr);
eek_renderer_apply_transformation_for_key (self, cr, key, scale, rotate);
render_key_outline (self, cr, key);
render_key_outline (self, cr, key, eek_key_is_pressed (key) || eek_key_is_locked (key));
cairo_restore (cr);
}
@ -638,7 +682,7 @@ eek_renderer_real_render_key (EekRenderer *self,
{
cairo_save (cr);
eek_renderer_apply_transformation_for_key (self, cr, key, scale, rotate);
render_key (self, cr, key);
render_key (self, cr, key, eek_key_is_pressed (key) || eek_key_is_locked (key));
cairo_restore (cr);
}
@ -647,6 +691,7 @@ eek_renderer_real_render_keyboard (EekRenderer *self,
cairo_t *cr)
{
EekRendererPrivate *priv = EEK_RENDERER_GET_PRIVATE(self);
cairo_pattern_t *source;
g_return_if_fail (priv->keyboard);
g_return_if_fail (priv->allocation_width > 0.0);
@ -656,6 +701,8 @@ eek_renderer_real_render_keyboard (EekRenderer *self,
priv->keyboard_surface = create_keyboard_surface (self);
cairo_set_source_surface (cr, priv->keyboard_surface, 0.0, 0.0);
source = cairo_get_source (cr);
cairo_pattern_set_extend (source, CAIRO_EXTEND_PAD);
cairo_paint (cr);
}
@ -870,8 +917,17 @@ eek_renderer_set_allocation_size (EekRenderer *renderer,
priv->allocation_height = height;
eek_element_get_bounds (EEK_ELEMENT(priv->keyboard), &bounds);
scale = width > height ? height / bounds.height :
width / bounds.width;
if (bounds.height * width / bounds.width <= height)
scale = width / bounds.width;
else if (bounds.width * height / bounds.height <= width)
scale = height / bounds.height;
else {
if (bounds.width * height < bounds.height * width)
scale = bounds.width / width;
else
scale = bounds.height / height;
}
if (scale != priv->scale) {
priv->scale = scale;
@ -1021,22 +1077,19 @@ eek_renderer_render_key_outline (EekRenderer *renderer,
rotate);
}
void
eek_renderer_render_key_icon (EekRenderer *renderer,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate)
cairo_surface_t *
eek_renderer_get_icon_surface (EekRenderer *renderer,
const gchar *icon_name,
gint size)
{
g_return_if_fail (EEK_IS_RENDERER(renderer));
g_return_if_fail (EEK_IS_KEY(key));
g_return_if_fail (scale >= 0.0);
EekRendererClass *klass;
EEK_RENDERER_GET_CLASS(renderer)->render_key_icon (renderer,
cr,
key,
scale,
rotate);
g_return_val_if_fail (EEK_IS_RENDERER(renderer), NULL);
klass = EEK_RENDERER_GET_CLASS(renderer);
if (klass->get_icon_surface)
return klass->get_icon_surface (renderer, icon_name, size);
return NULL;
}
void

View File

@ -51,109 +51,111 @@ struct _EekRendererClass
{
GObjectClass parent_class;
void (* render_key_label) (EekRenderer *self,
PangoLayout *layout,
EekKey *key);
void (* render_key_label) (EekRenderer *self,
PangoLayout *layout,
EekKey *key);
void (* render_key_outline) (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void (* render_key_outline) (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void (* render_key) (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void (* render_key) (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void (* render_keyboard) (EekRenderer *self,
cairo_t *cr);
void (* render_keyboard) (EekRenderer *self,
cairo_t *cr);
void (* render_key_icon) (EekRenderer *self,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
cairo_surface_t *(* get_icon_surface) (EekRenderer *self,
const gchar *icon_name,
gint size);
/*< private >*/
/* padding */
gpointer pdummy[23];
};
GType eek_renderer_get_type (void) G_GNUC_CONST;
EekRenderer *eek_renderer_new (EekKeyboard *keyboard,
GType eek_renderer_get_type (void) G_GNUC_CONST;
EekRenderer *eek_renderer_new (EekKeyboard *keyboard,
PangoContext *pcontext);
void eek_renderer_set_allocation_size (EekRenderer *renderer,
void eek_renderer_set_allocation_size
(EekRenderer *renderer,
gdouble width,
gdouble height);
void eek_renderer_get_size (EekRenderer *renderer,
void eek_renderer_get_size (EekRenderer *renderer,
gdouble *width,
gdouble *height);
void eek_renderer_get_key_bounds (EekRenderer *renderer,
void eek_renderer_get_key_bounds (EekRenderer *renderer,
EekKey *key,
EekBounds *bounds,
gboolean rotate);
gdouble eek_renderer_get_scale (EekRenderer *renderer);
gdouble eek_renderer_get_scale (EekRenderer *renderer);
PangoLayout *eek_renderer_create_pango_layout (EekRenderer *renderer);
void eek_renderer_render_key_label (EekRenderer *renderer,
PangoLayout *eek_renderer_create_pango_layout
(EekRenderer *renderer);
void eek_renderer_render_key_label (EekRenderer *renderer,
PangoLayout *layout,
EekKey *key);
void eek_renderer_render_key_outline (EekRenderer *renderer,
void eek_renderer_render_key_outline
(EekRenderer *renderer,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void eek_renderer_render_key (EekRenderer *renderer,
void eek_renderer_render_key (EekRenderer *renderer,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void eek_renderer_render_key_icon (EekRenderer *renderer,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
cairo_surface_t *eek_renderer_get_icon_surface (EekRenderer *renderer,
const gchar *icon_name,
gint size);
void eek_renderer_render_keyboard (EekRenderer *renderer,
void eek_renderer_render_keyboard (EekRenderer *renderer,
cairo_t *cr);
void eek_renderer_set_default_foreground_color
void eek_renderer_set_default_foreground_color
(EekRenderer *renderer,
const EekColor *color);
void eek_renderer_set_default_background_color
void eek_renderer_set_default_background_color
(EekRenderer *renderer,
const EekColor *color);
void eek_renderer_get_foreground_color (EekRenderer *renderer,
void eek_renderer_get_foreground_color
(EekRenderer *renderer,
EekElement *element,
EekColor *color);
void eek_renderer_get_background_color (EekRenderer *renderer,
void eek_renderer_get_background_color
(EekRenderer *renderer,
EekElement *element,
EekColor *color);
void eek_renderer_get_background_gradient
void eek_renderer_get_background_gradient
(EekRenderer *renderer,
EekElement *element,
EekGradientType *type,
EekColor *start,
EekColor *end);
void eek_renderer_set_border_width (EekRenderer *renderer,
void eek_renderer_set_border_width (EekRenderer *renderer,
gdouble border_width);
EekKey *eek_renderer_find_key_by_position (EekRenderer *renderer,
EekKey *eek_renderer_find_key_by_position
(EekRenderer *renderer,
gdouble x,
gdouble y);
void eek_renderer_apply_transformation_for_key
void eek_renderer_apply_transformation_for_key
(EekRenderer *renderer,
cairo_t *cr,
EekKey *key,
gdouble scale,
gboolean rotate);
void eek_renderer_set_theme (EekRenderer *renderer,
void eek_renderer_set_theme (EekRenderer *renderer,
EekTheme *theme);
G_END_DECLS

View File

@ -37,7 +37,6 @@
#include "eek-section.h"
#include "eek-key.h"
#include "eek-symbol.h"
#include "eek-serializable.h"
enum {
PROP_0,
@ -48,16 +47,15 @@ enum {
enum {
KEY_PRESSED,
KEY_RELEASED,
KEY_LOCKED,
KEY_UNLOCKED,
KEY_CANCELLED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0, };
static void eek_serializable_iface_init (EekSerializableIface *iface);
G_DEFINE_TYPE_WITH_CODE (EekSection, eek_section, EEK_TYPE_CONTAINER,
G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE,
eek_serializable_iface_init));
G_DEFINE_TYPE (EekSection, eek_section, EEK_TYPE_CONTAINER);
#define EEK_SECTION_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_SECTION, EekSectionPrivate))
@ -77,80 +75,6 @@ struct _EekSectionPrivate
EekModifierType modifiers;
};
static EekSerializableIface *eek_section_parent_serializable_iface;
static GVariant *
_g_variant_new_row (EekRow *row)
{
GVariantBuilder builder;
g_variant_builder_init (&builder, G_VARIANT_TYPE ("(iu)"));
g_variant_builder_add (&builder, "i", row->num_columns);
g_variant_builder_add (&builder, "u", row->orientation);
return g_variant_builder_end (&builder);
}
static EekRow *
_g_variant_get_row (GVariant *variant)
{
EekRow *row = g_slice_new (EekRow);
g_variant_get_child (variant, 0, "i", &row->num_columns);
g_variant_get_child (variant, 1, "u", &row->orientation);
return row;
}
static void
eek_section_real_serialize (EekSerializable *self,
GVariantBuilder *builder)
{
EekSectionPrivate *priv = EEK_SECTION_GET_PRIVATE(self);
GSList *head;
GVariantBuilder array;
eek_section_parent_serializable_iface->serialize (self, builder);
g_variant_builder_add (builder, "i", priv->angle);
g_variant_builder_init (&array, G_VARIANT_TYPE("av"));
for (head = priv->rows; head; head = g_slist_next (head))
g_variant_builder_add (&array, "v", _g_variant_new_row (head->data));
g_variant_builder_add (builder, "v", g_variant_builder_end (&array));
}
static gsize
eek_section_real_deserialize (EekSerializable *self,
GVariant *variant,
gsize index)
{
EekSectionPrivate *priv = EEK_SECTION_GET_PRIVATE(self);
GVariant *array, *child;
GVariantIter iter;
index = eek_section_parent_serializable_iface->deserialize (self,
variant,
index);
g_variant_get_child (variant, index++, "i", &priv->angle);
g_variant_get_child (variant, index++, "v", &array);
g_variant_iter_init (&iter, array);
while (g_variant_iter_next (&iter, "v", &child))
priv->rows = g_slist_prepend (priv->rows, _g_variant_get_row (child));
priv->rows = g_slist_reverse (priv->rows);
return index;
}
static void
eek_serializable_iface_init (EekSerializableIface *iface)
{
eek_section_parent_serializable_iface =
g_type_interface_peek_parent (iface);
iface->serialize = eek_section_real_serialize;
iface->deserialize = eek_section_real_deserialize;
}
static void
eek_section_real_set_angle (EekSection *self,
gint angle)
@ -223,6 +147,27 @@ on_released (EekKey *key,
g_signal_emit_by_name (section, "key-released", key);
}
static void
on_locked (EekKey *key,
EekSection *section)
{
g_signal_emit_by_name (section, "key-locked", key);
}
static void
on_unlocked (EekKey *key,
EekSection *section)
{
g_signal_emit_by_name (section, "key-unlocked", key);
}
static void
on_cancelled (EekKey *key,
EekSection *section)
{
g_signal_emit_by_name (section, "key-cancelled", key);
}
static EekKey *
eek_section_real_create_key (EekSection *self,
gint column,
@ -389,6 +334,9 @@ eek_section_real_child_added (EekContainer *self,
{
g_signal_connect (element, "pressed", G_CALLBACK(on_pressed), self);
g_signal_connect (element, "released", G_CALLBACK(on_released), self);
g_signal_connect (element, "locked", G_CALLBACK(on_locked), self);
g_signal_connect (element, "unlocked", G_CALLBACK(on_unlocked), self);
g_signal_connect (element, "cancelled", G_CALLBACK(on_cancelled), self);
}
static void
@ -397,6 +345,9 @@ eek_section_real_child_removed (EekContainer *self,
{
g_signal_handlers_disconnect_by_func (element, on_pressed, self);
g_signal_handlers_disconnect_by_func (element, on_released, self);
g_signal_handlers_disconnect_by_func (element, on_locked, self);
g_signal_handlers_disconnect_by_func (element, on_unlocked, self);
g_signal_handlers_disconnect_by_func (element, on_cancelled, self);
}
static void
@ -480,17 +431,72 @@ eek_section_class_init (EekSectionClass *klass)
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekSection::key-locked:
* @section: an #EekSection
* @key: an #EekKey
*
* The ::key-locked signal is emitted each time a key in @section
* is shifted to the locked state.
*/
signals[KEY_LOCKED] =
g_signal_new (I_("key-locked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekSectionClass, key_locked),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekSection::key-unlocked:
* @section: an #EekSection
* @key: an #EekKey
*
* The ::key-unlocked signal is emitted each time a key in @section
* is shifted to the unlocked state.
*/
signals[KEY_UNLOCKED] =
g_signal_new (I_("key-unlocked"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekSectionClass, key_unlocked),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
/**
* EekSection::key-cancelled:
* @section: an #EekSection
* @key: an #EekKey
*
* The ::key-cancelled signal is emitted each time a key in @section
* is shifted to the cancelled state.
*/
signals[KEY_CANCELLED] =
g_signal_new (I_("key-cancelled"),
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(EekSectionClass, key_cancelled),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
EEK_TYPE_KEY);
}
static void
eek_section_init (EekSection *self)
{
EekSectionPrivate *priv;
priv = self->priv = EEK_SECTION_GET_PRIVATE (self);
priv->angle = 0;
priv->rows = NULL;
priv->modifiers = 0;
self->priv = EEK_SECTION_GET_PRIVATE (self);
}
/**

View File

@ -17,6 +17,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#if !defined(__EEK_H_INSIDE__) && !defined(EEK_COMPILATION)
#error "Only <eek/eek.h> can be included directly."
#endif
#ifndef EEK_SECTION_H
#define EEK_SECTION_H 1
@ -36,6 +41,12 @@ G_BEGIN_DECLS
typedef struct _EekSectionClass EekSectionClass;
typedef struct _EekSectionPrivate EekSectionPrivate;
/**
* EekSection:
*
* The #EekSection structure contains only private data and should
* only be accessed using the provided API.
*/
struct _EekSection
{
/*< private >*/
@ -56,6 +67,9 @@ struct _EekSection
* section by keycode
* @key_pressed: class handler for #EekSection::key-pressed signal
* @key_released: class handler for #EekSection::key-released signal
* @key_locked: class handler for #EekSection::key-locked signal
* @key_unlocked: class handler for #EekSection::key-unlocked signal
* @key_cancelled: class handler for #EekSection::key-cancelled signal
*/
struct _EekSectionClass
{
@ -88,10 +102,16 @@ struct _EekSectionClass
EekKey *key);
void (* key_released) (EekSection *self,
EekKey *key);
void (* key_locked) (EekSection *self,
EekKey *key);
void (* key_unlocked) (EekSection *self,
EekKey *key);
void (* key_cancelled) (EekSection *self,
EekKey *key);
/*< private >*/
/* padding */
gpointer pdummy[22];
gpointer pdummy[19];
};
GType eek_section_get_type (void) G_GNUC_CONST;

View File

@ -20,11 +20,11 @@
/**
* SECTION:eek-serializable
* @short_description: Interface implemented by #EekElement to
* serialize it to #GVariant
* @short_description: Interface which provides object serialization
* into #GVariant
*
* The #EekSerializableIface interface defines serialize/deserialize
* method of #EekElement.
* method.
*/
#ifdef HAVE_CONFIG_H

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