Compare commits
	
		
			306 Commits
		
	
	
		
			eekboard-0
			...
			minX11rm
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| be7154f287 | |||
| e212262f29 | |||
| c71167d893 | |||
| 2d4e4c7a13 | |||
| 695f8df5b8 | |||
| 2e822cb6a6 | |||
| f2a90935a3 | |||
| cee741eca0 | |||
| b5b59e77d6 | |||
| cce883808e | |||
| 8faae7ef08 | |||
| 4538ef38a1 | |||
| ee12d02402 | |||
| 7050fa41a0 | |||
| 4a346211b8 | |||
| 4df2ecc8ae | |||
| 03995ec6b2 | |||
| 6059146b42 | |||
| 30811ae656 | |||
| b8015bbef5 | |||
| 157d7c57fd | |||
| 03963036d1 | |||
| 5099f7db88 | |||
| ab8cd246bf | |||
| 528981f913 | |||
| 3fd5eb789c | |||
| 9c09777c09 | |||
| 7298d320e0 | |||
| 39154fa5ad | |||
| 6db99bee25 | |||
| ee0505c100 | |||
| 1943749cb6 | |||
| 5763ed20bf | |||
| 7eead1c1ff | |||
| 048e08b59a | |||
| 523bd9b788 | |||
| f442733b33 | |||
| a6fe5bd859 | |||
| 32a1d23c2a | |||
| 06644945cf | |||
| 1774a2c23e | |||
| 668b974dd7 | |||
| 4427f81dd9 | |||
| 9490428535 | |||
| 8d70eedc5f | |||
| 74550d2424 | |||
| 148d8e7524 | |||
| aca9a4dcb6 | |||
| 953c35bdac | |||
| 596b33f149 | |||
| ef3ea618d2 | |||
| 362b210a31 | |||
| 15f7b0ecff | |||
| f72e9f5293 | |||
| 0d93f31eea | |||
| f1af125d24 | |||
| a6c08bee7b | |||
| c2d2c8660f | |||
| db3538af64 | |||
| 04ac7fb19e | |||
| 53e853fbc9 | |||
| 747ce4e00b | |||
| 5f6eb76d7f | |||
| 3777620574 | |||
| b02ae1b7cc | |||
| 88816018d8 | |||
| 06e7e2afac | |||
| ce2c4ed0f4 | |||
| 099ca60975 | |||
| 43ab623fac | |||
| bcc9a8fd60 | |||
| 6fb96ea5d6 | |||
| 2f64b3ee13 | |||
| d4a78e5dc7 | |||
| 71033f5739 | |||
| 17444509fe | |||
| 42baa22cdc | |||
| f07de8cd3b | |||
| 0772898b83 | |||
| 828b2d66d1 | |||
| 8ab4fb7946 | |||
| e91a059f0f | |||
| 093d83ed89 | |||
| 5c0381e4f0 | |||
| 657c6f8e35 | |||
| 4bb984daf3 | |||
| e46a3f89ed | |||
| 6843cd62dd | |||
| 52ffc77fdd | |||
| 158542ec0a | |||
| 360da8a3c9 | |||
| 65d1186317 | |||
| b7b4d68a9a | |||
| 952f70b433 | |||
| 74de8e5056 | |||
| 9d88c1c5da | |||
| a6bde78168 | |||
| bb85885e5d | |||
| dd085be73d | |||
| f576310cdf | |||
| 70e1c98987 | |||
| 4f03aa82fe | |||
| 383c93a415 | |||
| 860fbe8ede | |||
| 39900bd987 | |||
| 5c09147551 | |||
| f0929a9bd8 | |||
| 786496b3c4 | |||
| e5f5c8273e | |||
| ca250699ef | |||
| 7f41af3ee7 | |||
| 260dc3fddd | |||
| 052c40cc26 | |||
| 1b5bab9c18 | |||
| 6a7b256676 | |||
| 0e135129e2 | |||
| 7af6bf13ed | |||
| 91ed49b65a | |||
| 84f614528f | |||
| 7c0e29fc86 | |||
| 1f9e4bd576 | |||
| fc0a577dfb | |||
| 69d16ddce5 | |||
| 984813b154 | |||
| b6beeedc26 | |||
| 55f7a0d0dc | |||
| 7919cc191e | |||
| db0c5088b7 | |||
| cc4b9a6b45 | |||
| f4e33a4ad4 | |||
| 0e0fe9ed51 | |||
| 20c1f8cbe3 | |||
| f2ee3b4966 | |||
| 57a072746e | |||
| 497f21a5bd | |||
| 099c242ad7 | |||
| 109eff420c | |||
| 0896096a70 | |||
| 2d2aea009e | |||
| 0425b4e094 | |||
| 15c0a9dadf | |||
| e09c563cd8 | |||
| 218a4a50f6 | |||
| 9ab228e8f0 | |||
| b30db118f2 | |||
| cccb4f45cd | |||
| 54c9d6e35d | |||
| da7d11e387 | |||
| d9073183a7 | |||
| 78480f7577 | |||
| 1dbf0d70da | |||
| 44ee2a9913 | |||
| a3a5a51f74 | |||
| 1ae4426ec8 | |||
| 270760bd16 | |||
| 5bb20e44fb | |||
| 26a2ab725e | |||
| 9d73b89a4e | |||
| 606f335496 | |||
| fe9a02e514 | |||
| f76a835e33 | |||
| e199add701 | |||
| a744096dd7 | |||
| 51a18849c0 | |||
| bd303ef10b | |||
| 1e9ec77b65 | |||
| 4b409de5ba | |||
| 66cea3a0b5 | |||
| 0add617834 | |||
| 70b0d95d9b | |||
| cae9c89b64 | |||
| a9d9274e78 | |||
| 2211fb6b1e | |||
| 34569679f0 | |||
| 816e1f0d51 | |||
| de62d74ac5 | |||
| d71c79f268 | |||
| ee948cb2ae | |||
| ba59a850d1 | |||
| b7999842a9 | |||
| 2dd0ae47db | |||
| 926d9346e1 | |||
| ac8764b9b7 | |||
| 4cf3f24fbc | |||
| 0691766a31 | |||
| 77c00a10da | |||
| 8c407ae482 | |||
| 8d2d612547 | |||
| 80dc26b7f4 | |||
| fbe7b9ec1a | |||
| 048fccd6e0 | |||
| 638d41e0b6 | |||
| 4271eb6b3e | |||
| d25bfd8ba7 | |||
| 0739fbf464 | |||
| d1b38f8eb2 | |||
| e6d17fa4cb | |||
| d62b8b49a2 | |||
| 149dd7dc8b | |||
| 0177f96795 | |||
| ec56773dc6 | |||
| 881bf34ec4 | |||
| 6787308061 | |||
| 0cd01bf165 | |||
| 132ae3899f | |||
| 72f84fa4ef | |||
| 16d81f3f71 | |||
| 42a0ea148b | |||
| 2021311a4e | |||
| b64e91dffa | |||
| 57bb7030fb | |||
| 425fe7829b | |||
| aa88315924 | |||
| 39a59fb049 | |||
| e0993a5e55 | |||
| 4eb59ba7ed | |||
| cc9fb31e61 | |||
| c44ebecfb2 | |||
| f60e1d763e | |||
| 5c3cb477ef | |||
| 5fd4005967 | |||
| 76d1b8f7fb | |||
| 2bbc65958a | |||
| cbdd0fd2ba | |||
| 2f7aa77c11 | |||
| bed39570ff | |||
| 8bc3b204b4 | |||
| fa030ebcbb | |||
| af365024b7 | |||
| c742877b77 | |||
| ace4391b79 | |||
| 627cbf2898 | |||
| baae80fa41 | |||
| 9be07710dd | |||
| 163e005561 | |||
| d8e691d3f5 | |||
| 85a1a6ba24 | |||
| 828a59b298 | |||
| f1b91c0223 | |||
| cadb0f18a9 | |||
| 2a8d7cf0a8 | |||
| c9b54ba87f | |||
| d57ae91995 | |||
| dd86b132ce | |||
| 3967558bae | |||
| 668ce51f3c | |||
| 1db2a4aeea | |||
| e20425f385 | |||
| a20224f969 | |||
| d66318a031 | |||
| 37c2579253 | |||
| 23ab2a343f | |||
| e6dfc595ab | |||
| 98e15d7741 | |||
| 38b226b46f | |||
| c53b4d398e | |||
| fbcf6b6c65 | |||
| 09c95b20da | |||
| a7f81c3cfb | |||
| a66256f390 | |||
| 8b7da18641 | |||
| a9c0356611 | |||
| b25a9a5407 | |||
| 8b632356e9 | |||
| b8a01d794e | |||
| cfd33921a1 | |||
| 979aa010b9 | |||
| de064ba0c0 | |||
| ff200d9562 | |||
| a8148683d3 | |||
| 838a15d31a | |||
| 2d66bf24fb | |||
| 64bc7cc955 | |||
| 362f8ec0cb | |||
| d99a40df94 | |||
| ab08955a5f | |||
| 577fcd7f9e | |||
| 7da92bf04c | |||
| f7caf6fe49 | |||
| d111edd76a | |||
| b2657c06a8 | |||
| fccf9e8805 | |||
| 7fc80705dd | |||
| 9007f31c0a | |||
| 18f8e5b98b | |||
| 0087f74178 | |||
| 639ad8df91 | |||
| e8af3dacf1 | |||
| 5d42fb8294 | |||
| 4440a2f1ac | |||
| c9cee89d7e | |||
| 1c3d20ad6f | |||
| 40862fcf12 | |||
| 110b25a64b | |||
| f1a44ddebb | |||
| fc00d86c7e | |||
| 4a822fe52c | |||
| 6587f00c2a | |||
| 3b77502b97 | |||
| d7554b9735 | |||
| 798df5c136 | |||
| 22c70976db | |||
| 3eeb7cd8ab | |||
| 7ef245d739 | |||
| 9a6b3b3e2d | |||
| 715c9ca022 | 
							
								
								
									
										74
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										74
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,74 +0,0 @@
 | 
			
		||||
*.la
 | 
			
		||||
*.lo
 | 
			
		||||
*.loT
 | 
			
		||||
*.o
 | 
			
		||||
*.so
 | 
			
		||||
*~
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
.deps
 | 
			
		||||
.libs
 | 
			
		||||
INSTALL
 | 
			
		||||
aclocal.m4
 | 
			
		||||
autom4te.cache
 | 
			
		||||
compile
 | 
			
		||||
config.guess
 | 
			
		||||
config.h
 | 
			
		||||
config.h.in
 | 
			
		||||
config.log
 | 
			
		||||
config.rpath
 | 
			
		||||
config.status
 | 
			
		||||
config.sub
 | 
			
		||||
configure
 | 
			
		||||
depcomp
 | 
			
		||||
install-sh
 | 
			
		||||
libtool
 | 
			
		||||
ltmain.sh
 | 
			
		||||
missing
 | 
			
		||||
stamp-h1
 | 
			
		||||
libkeyactor*.tar.*
 | 
			
		||||
mkinstalldirs
 | 
			
		||||
m4/*.m4
 | 
			
		||||
gtk-doc.make
 | 
			
		||||
eek/eek-special-keysym-entries.h
 | 
			
		||||
eek/eek-unicode-keysym-entries.h
 | 
			
		||||
eek/eek-xkeysym-keysym-entries.h
 | 
			
		||||
eek/eek-marshalers.[ch]
 | 
			
		||||
eek/*.pc
 | 
			
		||||
eek/*.gir
 | 
			
		||||
eek/*.typelib
 | 
			
		||||
eekboard/*.pc
 | 
			
		||||
eekboard/*.gir
 | 
			
		||||
eekboard/*.typelib
 | 
			
		||||
tests/eek-simple-test
 | 
			
		||||
tests/eek-xkb-test
 | 
			
		||||
tests/eek-xml-test
 | 
			
		||||
src/eekboard-server
 | 
			
		||||
src/eekboard-client
 | 
			
		||||
src/eekboard-system-client
 | 
			
		||||
src/eekboard-xml
 | 
			
		||||
docs/reference/eek/*.stamp
 | 
			
		||||
docs/reference/eek/*.txt
 | 
			
		||||
!/docs/reference/eek/eek-sections.txt
 | 
			
		||||
docs/reference/eek/xml
 | 
			
		||||
docs/reference/eek/html
 | 
			
		||||
docs/reference/eek/eek.signals
 | 
			
		||||
docs/reference/eek/eek.args
 | 
			
		||||
docs/reference/eek/eek.hierarchy
 | 
			
		||||
docs/reference/eek/eek.interfaces
 | 
			
		||||
docs/reference/eek/eek.prerequisites
 | 
			
		||||
docs/reference/eekboard/*.stamp
 | 
			
		||||
docs/reference/eekboard/*.txt
 | 
			
		||||
!/docs/reference/eekboard/eekboard-sections.txt
 | 
			
		||||
docs/reference/eekboard/xml
 | 
			
		||||
docs/reference/eekboard/html
 | 
			
		||||
docs/reference/eekboard/eekboard.signals
 | 
			
		||||
docs/reference/eekboard/eekboard.args
 | 
			
		||||
docs/reference/eekboard/eekboard.hierarchy
 | 
			
		||||
docs/reference/eekboard/eekboard.interfaces
 | 
			
		||||
docs/reference/eekboard/eekboard.prerequisites
 | 
			
		||||
po/*.gmo
 | 
			
		||||
po/Makefile.in.in
 | 
			
		||||
po/POTFILES
 | 
			
		||||
po/stamp-it
 | 
			
		||||
bindings/vala/*.vapi
 | 
			
		||||
							
								
								
									
										38
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								AUTHORS
									
									
									
									
									
								
							@ -1,6 +1,36 @@
 | 
			
		||||
eekboard is written by Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
eekboard is written by Daiki Ueno <ueno@unixuser.org>.  The following
 | 
			
		||||
files contain code derived from other free software packages:
 | 
			
		||||
 | 
			
		||||
Cairo keyboard drawing functions are borrowed from the libgnomekbd
 | 
			
		||||
library by Sergey V. Udaltsov <svu@gnome.org>.  See the comments in
 | 
			
		||||
eek/eek-drawing.c for detail.
 | 
			
		||||
eek/eek-keyboard-drawing.h
 | 
			
		||||
eek/eek-keyboard-drawing.c
 | 
			
		||||
 | 
			
		||||
  These files contain code derived from the libgnomekbd library.
 | 
			
		||||
  Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org>
 | 
			
		||||
 | 
			
		||||
eek/eek-theme.h
 | 
			
		||||
eek/eek-theme.c
 | 
			
		||||
eek/eek-theme-context.h
 | 
			
		||||
eek/eek-theme-context.c
 | 
			
		||||
eek/eek-theme-node.h
 | 
			
		||||
eek/eek-theme-node.c
 | 
			
		||||
 | 
			
		||||
  These files contain code derived from gnome-shell.
 | 
			
		||||
 | 
			
		||||
  Copyright 2008-2010 Red Hat, Inc.
 | 
			
		||||
  Copyright 2009 Steve Frécinaux
 | 
			
		||||
  Copyright 2009, 2010 Florian Müllner
 | 
			
		||||
  Copyright 2010 Adel Gadllah
 | 
			
		||||
  Copyright 2010 Giovanni Campagna
 | 
			
		||||
  Copyright 2003-2004 Dodji Seketeli
 | 
			
		||||
 | 
			
		||||
data/icons/8x8/Makefile.am
 | 
			
		||||
data/icons/16x16/Makefile.am
 | 
			
		||||
data/icons/22x22/Makefile.am
 | 
			
		||||
data/icons/24x24/Makefile.am
 | 
			
		||||
data/icons/32x32/Makefile.am
 | 
			
		||||
data/icons/48x48/Makefile.am
 | 
			
		||||
data/icons/scalable/Makefile.am
 | 
			
		||||
 | 
			
		||||
  These files contain code derived from im-chooser.
 | 
			
		||||
 | 
			
		||||
  Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Makefile.am
									
									
									
									
									
								
							@ -17,5 +17,23 @@
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
ACLOCAL_AMFLAGS = -I m4
 | 
			
		||||
SUBDIRS = eek eekboard src tests bindings docs po data
 | 
			
		||||
SUBDIRS = eek eekboard src tests bindings docs po data examples
 | 
			
		||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection
 | 
			
		||||
 | 
			
		||||
GITIGNOREFILES =				\
 | 
			
		||||
	INSTALL					\
 | 
			
		||||
	aclocal.m4				\
 | 
			
		||||
	compile					\
 | 
			
		||||
	config.guess				\
 | 
			
		||||
	config.h.in				\
 | 
			
		||||
	config.sub				\
 | 
			
		||||
	depcomp					\
 | 
			
		||||
	gtk-doc.make				\
 | 
			
		||||
	install-sh				\
 | 
			
		||||
	ltmain.sh				\
 | 
			
		||||
	m4					\
 | 
			
		||||
	missing					\
 | 
			
		||||
	mkinstalldirs				\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										58
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								README
									
									
									
									
									
								
							@ -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, GConf2, PangoCairo, libxklavier
 | 
			
		||||
OPTIONAL: fakekey, CSPI, Clutter, Clutter-Gtk, Vala, gobject-introspection
 | 
			
		||||
REQUIRED: GLib2, GTK, PangoCairo, libxklavier, libcroco
 | 
			
		||||
OPTIONAL: libXtst, at-spi2-core, IBus, Clutter, Clutter-Gtk, Python, Vala, gobject-introspection, libcanberra
 | 
			
		||||
 | 
			
		||||
** Build from git repo
 | 
			
		||||
 | 
			
		||||
@ -24,52 +24,12 @@ OPTIONAL: fakekey, CSPI, Clutter, Clutter-Gtk, Vala, gobject-introspection
 | 
			
		||||
  $ make
 | 
			
		||||
  $ sudo make install
 | 
			
		||||
 | 
			
		||||
* How to test
 | 
			
		||||
* Running
 | 
			
		||||
 | 
			
		||||
eekboard currently includes 4 tools to implement your own virtual
 | 
			
		||||
keyboard.
 | 
			
		||||
  $ eekboard
 | 
			
		||||
  $ eekboard -f # show/hide automatically based on focus-in/focus-out events
 | 
			
		||||
 | 
			
		||||
** eekboard-server
 | 
			
		||||
Even though eekboard -f watches a11y events by default, it currently
 | 
			
		||||
works better with IBus.  To use IBus, do:
 | 
			
		||||
 | 
			
		||||
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-desktop-client
 | 
			
		||||
 | 
			
		||||
eekboard-desktop-client 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:
 | 
			
		||||
 | 
			
		||||
  $ eekboard-desktop-client
 | 
			
		||||
 | 
			
		||||
** eekboard-xml
 | 
			
		||||
 | 
			
		||||
eekboard-xml is a tool to manipulate XML keyboard description used by
 | 
			
		||||
eekboard-client tool and in the eekboard library.
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
** eekboard-client
 | 
			
		||||
 | 
			
		||||
eekboard-client is a simple test client of eekboard-server.  To upload
 | 
			
		||||
the keyboard description to the server, display it, and listen
 | 
			
		||||
key events.
 | 
			
		||||
 | 
			
		||||
  $ eekboard-client --set-keyboard keyboard.xml --show-keyboard --listen
 | 
			
		||||
  KeyPressed XXXXX
 | 
			
		||||
  KeyReleased XXXXX
 | 
			
		||||
 | 
			
		||||
* Documentation
 | 
			
		||||
 | 
			
		||||
See file:docs/reference/eek/html/index.html
 | 
			
		||||
  $ gsettings set org.fedorahosted.eekboard focus-listener 'ibus'
 | 
			
		||||
 | 
			
		||||
@ -16,8 +16,6 @@
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
if ENABLE_VALA
 | 
			
		||||
SUBDIRS = vala
 | 
			
		||||
else
 | 
			
		||||
SUBDIRS =
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -16,35 +16,81 @@
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
NULL =
 | 
			
		||||
 | 
			
		||||
if ENABLE_VALA
 | 
			
		||||
vapidir = $(datadir)/vala/vapi
 | 
			
		||||
dist_vapi_DATA =				\
 | 
			
		||||
	eek-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	eek-clutter-$(EEK_API_VERSION).vapi \
 | 
			
		||||
	eek-$(EEK_API_VERSION).deps		\
 | 
			
		||||
	eek-gtk-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	eek-xkb-$(EEK_API_VERSION).vapi \
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).vapi
 | 
			
		||||
MAINTAINERCLEANFILES = $(dist_vapi_DATA)
 | 
			
		||||
	eek-gtk-$(EEK_API_VERSION).deps		\
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).deps		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
eek-$(EEK_API_VERSION).vapi:
 | 
			
		||||
	vapigen --library eek-$(EEK_API_VERSION) \
 | 
			
		||||
		eek-$(EEK_API_VERSION)/eek-$(EEK_API_VERSION).gi
 | 
			
		||||
EXTRA_DIST =					\
 | 
			
		||||
	Eek-$(EEK_API_VERSION).metadata		\
 | 
			
		||||
	EekGtk-$(EEK_API_VERSION).metadata	\
 | 
			
		||||
	EekXkl-$(EEK_API_VERSION).metadata	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
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 \
 | 
			
		||||
		eek-clutter-$(EEK_API_VERSION)/eek-clutter-$(EEK_API_VERSION).gi
 | 
			
		||||
GITIGNOREFILES = \
 | 
			
		||||
	eek-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	eek-gtk-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).vapi		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
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 \
 | 
			
		||||
		eek-gtk-$(EEK_API_VERSION)/eek-gtk-$(EEK_API_VERSION).gi
 | 
			
		||||
maintainer-clean-local:
 | 
			
		||||
	rm -f *.vapi
 | 
			
		||||
 | 
			
		||||
eek-xkb-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
 | 
			
		||||
	vapigen --vapidir=$(builddir) --library eek-xkb-$(EEK_API_VERSION) \
 | 
			
		||||
eek_vapi_deps =						\
 | 
			
		||||
	$(srcdir)/Eek-$(EEK_API_VERSION).metadata	\
 | 
			
		||||
	|						\
 | 
			
		||||
	$(top_builddir)/eek/Eek-$(EEK_API_VERSION).gir	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
eek-$(EEK_API_VERSION).vapi: $(eek_vapi_deps)
 | 
			
		||||
	$(VAPIGEN_V)$(VAPIGEN) \
 | 
			
		||||
		--library eek-$(EEK_API_VERSION) \
 | 
			
		||||
		--pkg gio-2.0 \
 | 
			
		||||
		--metadatadir=$(srcdir) \
 | 
			
		||||
		$(top_builddir)/eek/Eek-$(EEK_API_VERSION).gir
 | 
			
		||||
 | 
			
		||||
eek_gtk_vapi_deps =					\
 | 
			
		||||
	$(srcdir)/EekGtk-$(EEK_API_VERSION).metadata	\
 | 
			
		||||
	|						\
 | 
			
		||||
	$(top_builddir)/eek/EekGtk-$(EEK_API_VERSION).gir	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
eek-gtk-$(EEK_API_VERSION).vapi: $(eek_gtk_vapi_deps)
 | 
			
		||||
	$(VAPIGEN_V)$(VAPIGEN) --vapidir=$(builddir) \
 | 
			
		||||
		--library eek-gtk-$(EEK_API_VERSION) \
 | 
			
		||||
		--pkg eek-$(EEK_API_VERSION) \
 | 
			
		||||
		eek-xkb-$(EEK_API_VERSION)/eek-xkb-$(EEK_API_VERSION).gi
 | 
			
		||||
		--pkg gio-2.0 \
 | 
			
		||||
		--pkg gtk+-3.0 \
 | 
			
		||||
		--metadatadir=$(srcdir)	\
 | 
			
		||||
		$(top_builddir)/eek/EekGtk-$(EEK_API_VERSION).gir
 | 
			
		||||
 | 
			
		||||
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) \
 | 
			
		||||
		eek-xkl-$(EEK_API_VERSION)/eek-xkl-$(EEK_API_VERSION).gi
 | 
			
		||||
eek_xkl_vapi_deps =						\
 | 
			
		||||
	$(srcdir)/EekXkl-$(EEK_API_VERSION).metadata		\
 | 
			
		||||
	|							\
 | 
			
		||||
	$(top_builddir)/eek/EekXkl-$(EEK_API_VERSION).gir	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
eek-xkl-$(EEK_API_VERSION).vapi: $(eek_xkl_vapi_deps)
 | 
			
		||||
	$(VAPIGEN_V)$(VAPIGEN) \
 | 
			
		||||
		--vapidir=$(builddir) \
 | 
			
		||||
		--library eek-xkl-$(EEK_API_VERSION) \
 | 
			
		||||
		--pkg eek-$(EEK_API_VERSION) \
 | 
			
		||||
		--pkg gio-2.0 \
 | 
			
		||||
		--metadatadir=$(srcdir) \
 | 
			
		||||
		$(top_builddir)/eek/EekXkl-$(EEK_API_VERSION).gir
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								bindings/vala/eek-0.90.deps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								bindings/vala/eek-0.90.deps
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
gio-2.0
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
lib/libeek.so
 | 
			
		||||
@ -1,680 +0,0 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<api version="1.0">
 | 
			
		||||
	<namespace name="Eek">
 | 
			
		||||
		<function name="keysym_get_category" symbol="eek_keysym_get_category">
 | 
			
		||||
			<return-type type="EekKeysymCategory"/>
 | 
			
		||||
			<parameters>
 | 
			
		||||
				<parameter name="keysym" type="guint"/>
 | 
			
		||||
			</parameters>
 | 
			
		||||
		</function>
 | 
			
		||||
		<function name="keysym_to_string" symbol="eek_keysym_to_string">
 | 
			
		||||
			<return-type type="gchar*"/>
 | 
			
		||||
			<parameters>
 | 
			
		||||
				<parameter name="keysym" type="guint"/>
 | 
			
		||||
			</parameters>
 | 
			
		||||
		</function>
 | 
			
		||||
		<callback name="EekCallback">
 | 
			
		||||
			<return-type type="void"/>
 | 
			
		||||
			<parameters>
 | 
			
		||||
				<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
			</parameters>
 | 
			
		||||
		</callback>
 | 
			
		||||
		<callback name="EekCompareFunc">
 | 
			
		||||
			<return-type type="gint"/>
 | 
			
		||||
			<parameters>
 | 
			
		||||
				<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
			</parameters>
 | 
			
		||||
		</callback>
 | 
			
		||||
		<boxed name="EekBounds" type-name="EekBounds" get-type="eek_bounds_get_type">
 | 
			
		||||
			<field name="x" type="gdouble"/>
 | 
			
		||||
			<field name="y" type="gdouble"/>
 | 
			
		||||
			<field name="width" type="gdouble"/>
 | 
			
		||||
			<field name="height" type="gdouble"/>
 | 
			
		||||
		</boxed>
 | 
			
		||||
		<boxed name="EekKeysymMatrix" type-name="EekKeysymMatrix" get-type="eek_keysym_matrix_get_type">
 | 
			
		||||
			<field name="data" type="guint*"/>
 | 
			
		||||
			<field name="num_groups" type="gint"/>
 | 
			
		||||
			<field name="num_levels" type="gint"/>
 | 
			
		||||
		</boxed>
 | 
			
		||||
		<boxed name="EekOutline" type-name="EekOutline" get-type="eek_outline_get_type">
 | 
			
		||||
			<field name="corner_radius" type="gdouble"/>
 | 
			
		||||
			<field name="points" type="EekPoint*"/>
 | 
			
		||||
			<field name="num_points" type="gint"/>
 | 
			
		||||
		</boxed>
 | 
			
		||||
		<boxed name="EekPoint" type-name="EekPoint" get-type="eek_point_get_type">
 | 
			
		||||
			<field name="x" type="gdouble"/>
 | 
			
		||||
			<field name="y" type="gdouble"/>
 | 
			
		||||
		</boxed>
 | 
			
		||||
		<enum name="EekKeysymCategory">
 | 
			
		||||
			<member name="EEK_KEYSYM_CATEGORY_LETTER" value="0"/>
 | 
			
		||||
			<member name="EEK_KEYSYM_CATEGORY_FUNCTION" value="1"/>
 | 
			
		||||
			<member name="EEK_KEYSYM_CATEGORY_KEYNAME" value="2"/>
 | 
			
		||||
			<member name="EEK_KEYSYM_CATEGORY_UNKNOWN" value="3"/>
 | 
			
		||||
			<member name="EEK_KEYSYM_CATEGORY_LAST" value="3"/>
 | 
			
		||||
		</enum>
 | 
			
		||||
		<enum name="EekOrientation">
 | 
			
		||||
			<member name="EEK_ORIENTATION_VERTICAL" value="0"/>
 | 
			
		||||
			<member name="EEK_ORIENTATION_HORIZONTAL" value="1"/>
 | 
			
		||||
			<member name="EEK_ORIENTATION_INVALID" value="-1"/>
 | 
			
		||||
		</enum>
 | 
			
		||||
		<object name="EekContainer" parent="EekElement" type-name="EekContainer" get-type="eek_container_get_type">
 | 
			
		||||
			<method name="find" symbol="eek_container_find">
 | 
			
		||||
				<return-type type="EekElement*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="container" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="func" type="EekCompareFunc"/>
 | 
			
		||||
					<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="find_by_position" symbol="eek_container_find_by_position">
 | 
			
		||||
				<return-type type="EekElement*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="container" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="x" type="gdouble"/>
 | 
			
		||||
					<parameter name="y" type="gdouble"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="foreach_child" symbol="eek_container_foreach_child">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="container" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="callback" type="EekCallback"/>
 | 
			
		||||
					<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<signal name="child-added" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<signal name="child-removed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<vfunc name="add_child">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="find">
 | 
			
		||||
				<return-type type="EekElement*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="func" type="EekCompareFunc"/>
 | 
			
		||||
					<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="foreach_child">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="callback" type="EekCallback"/>
 | 
			
		||||
					<parameter name="user_data" type="gpointer"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="remove_child">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekContainer*"/>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</object>
 | 
			
		||||
		<object name="EekElement" parent="GInitiallyUnowned" type-name="EekElement" get-type="eek_element_get_type">
 | 
			
		||||
			<method name="get_absolute_position" symbol="eek_element_get_absolute_position">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
					<parameter name="x" type="gdouble*"/>
 | 
			
		||||
					<parameter name="y" type="gdouble*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_bounds" symbol="eek_element_get_bounds">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
					<parameter name="bounds" type="EekBounds*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_name" symbol="eek_element_get_name">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_parent" symbol="eek_element_get_parent">
 | 
			
		||||
				<return-type type="EekElement*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_bounds" symbol="eek_element_set_bounds">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
					<parameter name="bounds" type="EekBounds*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_name" symbol="eek_element_set_name">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
					<parameter name="name" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_parent" symbol="eek_element_set_parent">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="element" type="EekElement*"/>
 | 
			
		||||
					<parameter name="parent" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="bounds" type="EekBounds*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="name" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<vfunc name="get_bounds">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
					<parameter name="bounds" type="EekBounds*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_name">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_parent">
 | 
			
		||||
				<return-type type="EekElement*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_bounds">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
					<parameter name="bounds" type="EekBounds*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_name">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
					<parameter name="name" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_parent">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekElement*"/>
 | 
			
		||||
					<parameter name="parent" type="EekElement*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</object>
 | 
			
		||||
		<object name="EekKey" parent="EekElement" type-name="EekKey" get-type="eek_key_get_type">
 | 
			
		||||
			<method name="get_index" symbol="eek_key_get_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="column" type="gint*"/>
 | 
			
		||||
					<parameter name="row" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keycode" symbol="eek_key_get_keycode">
 | 
			
		||||
				<return-type type="guint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keysym" symbol="eek_key_get_keysym">
 | 
			
		||||
				<return-type type="guint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keysym_index" symbol="eek_key_get_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="group" type="gint*"/>
 | 
			
		||||
					<parameter name="level" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keysyms" symbol="eek_key_get_keysyms">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keysyms" type="guint**"/>
 | 
			
		||||
					<parameter name="num_groups" type="gint*"/>
 | 
			
		||||
					<parameter name="num_levels" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_outline" symbol="eek_key_get_outline">
 | 
			
		||||
				<return-type type="EekOutline*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_index" symbol="eek_key_set_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="column" type="gint"/>
 | 
			
		||||
					<parameter name="row" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_keycode" symbol="eek_key_set_keycode">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_keysym_index" symbol="eek_key_set_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="group" type="gint"/>
 | 
			
		||||
					<parameter name="level" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_keysyms" symbol="eek_key_set_keysyms">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keysyms" type="guint*"/>
 | 
			
		||||
					<parameter name="num_groups" type="gint"/>
 | 
			
		||||
					<parameter name="num_levels" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_outline" symbol="eek_key_set_outline">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
					<parameter name="outline" type="EekOutline*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="column" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="group" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="keycode" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="keysyms" type="EekKeysymMatrix*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="outline" type="gpointer" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="row" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<signal name="pressed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<signal name="released" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="key" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<vfunc name="get_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="column" type="gint*"/>
 | 
			
		||||
					<parameter name="row" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_keycode">
 | 
			
		||||
				<return-type type="guint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_keysym">
 | 
			
		||||
				<return-type type="guint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="group" type="gint*"/>
 | 
			
		||||
					<parameter name="level" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_keysyms">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keysyms" type="guint**"/>
 | 
			
		||||
					<parameter name="num_groups" type="gint*"/>
 | 
			
		||||
					<parameter name="num_levels" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_outline">
 | 
			
		||||
				<return-type type="EekOutline*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="column" type="gint"/>
 | 
			
		||||
					<parameter name="row" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_keycode">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="group" type="gint"/>
 | 
			
		||||
					<parameter name="level" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_keysyms">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="keysyms" type="guint*"/>
 | 
			
		||||
					<parameter name="num_groups" type="gint"/>
 | 
			
		||||
					<parameter name="num_levels" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_outline">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKey*"/>
 | 
			
		||||
					<parameter name="outline" type="EekOutline*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</object>
 | 
			
		||||
		<object name="EekKeyboard" parent="EekContainer" type-name="EekKeyboard" get-type="eek_keyboard_get_type">
 | 
			
		||||
			<method name="create_section" symbol="eek_keyboard_create_section">
 | 
			
		||||
				<return-type type="EekSection*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="find_key_by_keycode" symbol="eek_keyboard_find_key_by_keycode">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keysym_index" symbol="eek_keyboard_get_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="group" type="gint*"/>
 | 
			
		||||
					<parameter name="level" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="realize" symbol="eek_keyboard_realize">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_keysym_index" symbol="eek_keyboard_set_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="group" type="gint"/>
 | 
			
		||||
					<parameter name="level" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_layout" symbol="eek_keyboard_set_layout">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="layout" type="EekLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="group" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<signal name="key-pressed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="object" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="p0" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<signal name="key-released" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="object" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="p0" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<vfunc name="create_section">
 | 
			
		||||
				<return-type type="EekSection*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="find_key_by_keycode">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="group" type="gint*"/>
 | 
			
		||||
					<parameter name="level" type="gint*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="realize">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_keysym_index">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="group" type="gint"/>
 | 
			
		||||
					<parameter name="level" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_layout">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekKeyboard*"/>
 | 
			
		||||
					<parameter name="layout" type="EekLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</object>
 | 
			
		||||
		<object name="EekSection" parent="EekContainer" type-name="EekSection" get-type="eek_section_get_type">
 | 
			
		||||
			<method name="add_row" symbol="eek_section_add_row">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
					<parameter name="num_columns" type="gint"/>
 | 
			
		||||
					<parameter name="orientation" type="EekOrientation"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="create_key" symbol="eek_section_create_key">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
					<parameter name="column" type="gint"/>
 | 
			
		||||
					<parameter name="row" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="find_key_by_keycode" symbol="eek_section_find_key_by_keycode">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_angle" symbol="eek_section_get_angle">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_n_rows" symbol="eek_section_get_n_rows">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_row" symbol="eek_section_get_row">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
					<parameter name="index" type="gint"/>
 | 
			
		||||
					<parameter name="num_columns" type="gint*"/>
 | 
			
		||||
					<parameter name="orientation" type="EekOrientation*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_angle" symbol="eek_section_set_angle">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="section" type="EekSection*"/>
 | 
			
		||||
					<parameter name="angle" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="angle" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<signal name="key-pressed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="object" type="EekSection*"/>
 | 
			
		||||
					<parameter name="p0" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<signal name="key-released" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="object" type="EekSection*"/>
 | 
			
		||||
					<parameter name="p0" type="EekKey*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<vfunc name="add_row">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
					<parameter name="num_columns" type="gint"/>
 | 
			
		||||
					<parameter name="orientation" type="EekOrientation"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="create_key">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
					<parameter name="row" type="gint"/>
 | 
			
		||||
					<parameter name="column" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="find_key_by_keycode">
 | 
			
		||||
				<return-type type="EekKey*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
					<parameter name="keycode" type="guint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_angle">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_n_rows">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_row">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
					<parameter name="index" type="gint"/>
 | 
			
		||||
					<parameter name="num_columns" type="gint*"/>
 | 
			
		||||
					<parameter name="orientation" type="EekOrientation*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="set_angle">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekSection*"/>
 | 
			
		||||
					<parameter name="angle" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</object>
 | 
			
		||||
		<interface name="EekLayout" type-name="EekLayout" get-type="eek_layout_get_type">
 | 
			
		||||
			<method name="apply" symbol="eek_layout_apply">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekLayout*"/>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_group" symbol="eek_layout_get_group">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<signal name="changed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<signal name="group-changed" when="FIRST">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekLayout*"/>
 | 
			
		||||
					<parameter name="group" type="gint"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</signal>
 | 
			
		||||
			<vfunc name="apply">
 | 
			
		||||
				<return-type type="void"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekLayout*"/>
 | 
			
		||||
					<parameter name="keyboard" type="EekKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
			<vfunc name="get_group">
 | 
			
		||||
				<return-type type="gint"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="self" type="EekLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</vfunc>
 | 
			
		||||
		</interface>
 | 
			
		||||
		<constant name="EEK_CONTAINER_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_ELEMENT_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_KEYBOARD_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_KEYSYM_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_KEY_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_LAYOUT_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_SECTION_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_TYPES_H" type="int" value="1"/>
 | 
			
		||||
	</namespace>
 | 
			
		||||
</api>
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
Eek
 | 
			
		||||
@ -1,6 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
lib/libeek-clutter.so
 | 
			
		||||
 | 
			
		||||
@ -1,85 +0,0 @@
 | 
			
		||||
<?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">
 | 
			
		||||
				<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"/>
 | 
			
		||||
				</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*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekClutterKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<constructor name="new" symbol="eek_clutter_keyboard_new">
 | 
			
		||||
				<return-type type="EekKeyboard*"/>
 | 
			
		||||
			</constructor>
 | 
			
		||||
		</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>
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekClutter cheader_filename="eek/eek-clutter.h"
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekClutter
 | 
			
		||||
							
								
								
									
										1
									
								
								bindings/vala/eek-gtk-0.90.deps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								bindings/vala/eek-gtk-0.90.deps
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
eek-0.90
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
include/eek-0.1/eek/eek-gtk-keyboard.h
 | 
			
		||||
include/eek-0.1/eek/eek-gtk.h
 | 
			
		||||
lib/libeek-gtk.so
 | 
			
		||||
@ -1,18 +0,0 @@
 | 
			
		||||
<?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">
 | 
			
		||||
				<return-type type="GtkWidget*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="keyboard" type="EekGtkKeyboard*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<constructor name="new" symbol="eek_gtk_keyboard_new">
 | 
			
		||||
				<return-type type="EekKeyboard*"/>
 | 
			
		||||
			</constructor>
 | 
			
		||||
		</object>
 | 
			
		||||
		<constant name="EEK_GTK_H" type="int" value="1"/>
 | 
			
		||||
		<constant name="EEK_GTK_KEYBOARD_H" type="int" value="1"/>
 | 
			
		||||
	</namespace>
 | 
			
		||||
</api>
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekGtk
 | 
			
		||||
@ -1,2 +0,0 @@
 | 
			
		||||
include/eek-0.1/eek/eek-xkb-layout.h
 | 
			
		||||
lib/libeek-xkb.so
 | 
			
		||||
@ -1,65 +0,0 @@
 | 
			
		||||
<?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>
 | 
			
		||||
			<method name="get_geometry" symbol="eek_xkb_layout_get_geometry">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_keycodes" symbol="eek_xkb_layout_get_keycodes">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_symbols" symbol="eek_xkb_layout_get_symbols">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<constructor name="new" symbol="eek_xkb_layout_new">
 | 
			
		||||
				<return-type type="EekLayout*"/>
 | 
			
		||||
			</constructor>
 | 
			
		||||
			<method name="set_geometry" symbol="eek_xkb_layout_set_geometry">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
					<parameter name="geometry" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_keycodes" symbol="eek_xkb_layout_set_keycodes">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
					<parameter name="keycodes" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
<!--
 | 
			
		||||
			<method name="set_names" symbol="eek_xkb_layout_set_names">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
					<parameter name="names" type="XkbComponentNamesRec*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
-->
 | 
			
		||||
			<method name="set_symbols" symbol="eek_xkb_layout_set_symbols">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXkbLayout*"/>
 | 
			
		||||
					<parameter name="symbols" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="geometry" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="keycodes" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="symbols" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
		</object>
 | 
			
		||||
		<constant name="EEK_XKB_LAYOUT_H" type="int" value="1"/>
 | 
			
		||||
	</namespace>
 | 
			
		||||
</api>
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekXkb cheader_filename="eek/eek-xkb.h"
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekXkb
 | 
			
		||||
							
								
								
									
										2
									
								
								bindings/vala/eek-xkl-0.90.deps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								bindings/vala/eek-xkl-0.90.deps
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
eek-0.90
 | 
			
		||||
x11
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
include/eek-0.1/eek/eek-xkl-layout.h
 | 
			
		||||
lib/libeek-xkl.so
 | 
			
		||||
 | 
			
		||||
@ -1,91 +0,0 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<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>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="option" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="enable_option" symbol="eek_xkl_layout_enable_option">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="option" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_layouts" symbol="eek_xkl_layout_get_layouts">
 | 
			
		||||
				<return-type type="gchar**"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_model" symbol="eek_xkl_layout_get_model">
 | 
			
		||||
				<return-type type="gchar*"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_option" symbol="eek_xkl_layout_get_option">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="option" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_options" symbol="eek_xkl_layout_get_options">
 | 
			
		||||
				<return-type type="gchar**"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="get_variants" symbol="eek_xkl_layout_get_variants">
 | 
			
		||||
				<return-type type="gchar**"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<constructor name="new" symbol="eek_xkl_layout_new">
 | 
			
		||||
				<return-type type="EekLayout*"/>
 | 
			
		||||
			</constructor>
 | 
			
		||||
			<method name="set_layouts" symbol="eek_xkl_layout_set_layouts">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="layouts" type="gchar**"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_model" symbol="eek_xkl_layout_set_model">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="model" type="gchar*"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_options" symbol="eek_xkl_layout_set_options">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="options" type="gchar**"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<method name="set_variants" symbol="eek_xkl_layout_set_variants">
 | 
			
		||||
				<return-type type="gboolean"/>
 | 
			
		||||
				<parameters>
 | 
			
		||||
					<parameter name="layout" type="EekXklLayout*"/>
 | 
			
		||||
					<parameter name="variants" type="gchar**"/>
 | 
			
		||||
				</parameters>
 | 
			
		||||
			</method>
 | 
			
		||||
			<property name="layouts" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="model" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="options" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
			<property name="variants" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
 | 
			
		||||
		</object>
 | 
			
		||||
		<constant name="EEK_XKL_LAYOUT_H" type="int" value="1"/>
 | 
			
		||||
	</namespace>
 | 
			
		||||
</api>
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
EekXkl
 | 
			
		||||
							
								
								
									
										217
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										217
									
								
								configure.ac
									
									
									
									
									
								
							@ -20,7 +20,7 @@ AC_PREREQ(2.63)
 | 
			
		||||
dnl AC_CONFIG_SRCDIR([configure.ac])
 | 
			
		||||
AC_CONFIG_MACRO_DIR([m4])
 | 
			
		||||
 | 
			
		||||
AC_INIT([eekboard], [0.90.1], [ueno@unixuser.org])
 | 
			
		||||
AC_INIT([eekboard], [1.0.8], [ueno@unixuser.org])
 | 
			
		||||
 | 
			
		||||
dnl Init automake
 | 
			
		||||
AM_INIT_AUTOMAKE
 | 
			
		||||
@ -44,34 +44,13 @@ AC_HEADER_STDC
 | 
			
		||||
LT_INIT
 | 
			
		||||
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)])],
 | 
			
		||||
  [case "$with_gtk" in
 | 
			
		||||
     2.0|3.0) ;;
 | 
			
		||||
     *) AC_MSG_ERROR([invalid gtk version specified]) ;;
 | 
			
		||||
   esac],
 | 
			
		||||
  [with_gtk=2.0])
 | 
			
		||||
AC_MSG_RESULT([$with_gtk])
 | 
			
		||||
 | 
			
		||||
case "$with_gtk" in
 | 
			
		||||
  2.0) GTK_API_VERSION=2.0
 | 
			
		||||
       GTK_REQUIRED=2.14.0
 | 
			
		||||
       EEK_API_VERSION=0.90
 | 
			
		||||
       EEK_API_MAJOR_VERSION=0
 | 
			
		||||
       EEK_API_MINOR_VERSION=90
 | 
			
		||||
       EEK_API_PC_VERSION=0.90
 | 
			
		||||
       EEK_LIBRARY_SUFFIX="-$EEK_API_VERSION"
 | 
			
		||||
       ;;
 | 
			
		||||
  3.0) GTK_API_VERSION=3.0
 | 
			
		||||
       GTK_REQUIRED=2.91.0
 | 
			
		||||
       EEK_API_VERSION=0.90
 | 
			
		||||
       EEK_API_MAJOR_VERSION=0
 | 
			
		||||
       EEK_API_MINOR_VERSION=90
 | 
			
		||||
       EEK_API_PC_VERSION=0.90
 | 
			
		||||
       EEK_LIBRARY_SUFFIX="-$EEK_API_VERSION"
 | 
			
		||||
       ;;
 | 
			
		||||
esac
 | 
			
		||||
GTK_API_VERSION=3.0
 | 
			
		||||
GTK_REQUIRED=2.91.0
 | 
			
		||||
EEK_API_VERSION=0.90
 | 
			
		||||
EEK_API_MAJOR_VERSION=0
 | 
			
		||||
EEK_API_MINOR_VERSION=90
 | 
			
		||||
EEK_API_PC_VERSION=0.90
 | 
			
		||||
EEK_LIBRARY_SUFFIX="-$EEK_API_VERSION"
 | 
			
		||||
 | 
			
		||||
AC_SUBST([GTK_API_VERSION])
 | 
			
		||||
AC_SUBST([EEK_API_VERSION])
 | 
			
		||||
@ -81,104 +60,137 @@ AC_SUBST([EEK_API_PC_VERSION])
 | 
			
		||||
AC_SUBST([EEK_LIBRARY_SUFFIX])
 | 
			
		||||
AC_SUBST([EEK_LIBRARY_SUFFIX_U],[AS_TR_SH([$EEK_LIBRARY_SUFFIX])])
 | 
			
		||||
 | 
			
		||||
AM_CONDITIONAL([HAVE_GTK_2],[test "$with_gtk" = "2.0"])
 | 
			
		||||
AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk" = "3.0"])
 | 
			
		||||
 | 
			
		||||
AM_PATH_GLIB_2_0
 | 
			
		||||
PKG_CHECK_MODULES([GLIB2], [glib-2.0 >= 2.25.4], ,
 | 
			
		||||
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], [
 | 
			
		||||
  gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
 | 
			
		||||
  gdk-$GTK_API_VERSION >= $GTK_REQUIRED], ,
 | 
			
		||||
  [AC_MSG_ERROR([GTK not found])])
 | 
			
		||||
PKG_CHECK_MODULES([GCONF2], [gconf-2.0], ,
 | 
			
		||||
  [AC_MSG_ERROR([GConf not found])])
 | 
			
		||||
PKG_CHECK_MODULES([XKB], [x11], ,
 | 
			
		||||
  [AC_MSG_ERROR([XKB support not found])])
 | 
			
		||||
PKG_CHECK_MODULES([LIBXKLAVIER], [libxklavier x11], ,
 | 
			
		||||
  [AC_MSG_ERROR([Libxklavier not found])])
 | 
			
		||||
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 AT-SPI to capture focus/keystroke events
 | 
			
		||||
AC_MSG_CHECKING([whether you enable AT-SPI event handling])
 | 
			
		||||
AC_ARG_ENABLE(cspi,
 | 
			
		||||
              AS_HELP_STRING([--enable-cspi=no/yes],
 | 
			
		||||
                             [Enable AT-SPI event handling default=yes]),,
 | 
			
		||||
              enable_cspi=yes)
 | 
			
		||||
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_cspi = xyes; then
 | 
			
		||||
  PKG_CHECK_MODULES([CSPI], [cspi-1.0], ,
 | 
			
		||||
    [AC_MSG_ERROR([AT-SPI C not found])])
 | 
			
		||||
  AC_DEFINE([HAVE_CSPI], [1], [Define if CSPI is found])
 | 
			
		||||
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
 | 
			
		||||
AC_MSG_RESULT($enable_cspi)
 | 
			
		||||
AM_CONDITIONAL(ENABLE_CSPI, [test x$enable_cspi = xyes])
 | 
			
		||||
AM_CONDITIONAL(ENABLE_XDOCK, [test x$enable_x_dock = xyes])
 | 
			
		||||
AC_MSG_RESULT($enable_x_dock)
 | 
			
		||||
 | 
			
		||||
focus_listeners="ibus"
 | 
			
		||||
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=yes]),
 | 
			
		||||
              enable_atspi=$enableval,
 | 
			
		||||
              enable_atspi=yes)
 | 
			
		||||
 | 
			
		||||
if test x$enable_atspi = xyes; then
 | 
			
		||||
  PKG_CHECK_MODULES([ATSPI2], [atspi-2], , 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])
 | 
			
		||||
 | 
			
		||||
if test -n "$focus_listeners"; then
 | 
			
		||||
  AC_DEFINE(ENABLE_FOCUS_LISTENER, [1], [Define if eekboard can follow focus changes])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
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 libcanberra
 | 
			
		||||
AC_MSG_CHECKING([whether you enable libcanberra])
 | 
			
		||||
AC_ARG_ENABLE(libcanberra,
 | 
			
		||||
              AS_HELP_STRING([--enable-libcanberra=no/yes],
 | 
			
		||||
                             [Enable libcanberra user interface default=no]),
 | 
			
		||||
              enable_libcanberra=$enableval,
 | 
			
		||||
              enable_libcanberra=yes)
 | 
			
		||||
 | 
			
		||||
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=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])
 | 
			
		||||
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_CLUTTER, [test x$enable_clutter = xyes])
 | 
			
		||||
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)
 | 
			
		||||
@ -186,8 +198,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.6.7])
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_HEADERS([config.h])
 | 
			
		||||
AC_CONFIG_FILES([Makefile
 | 
			
		||||
eek/Makefile
 | 
			
		||||
@ -209,10 +219,12 @@ data/icons/24x24/Makefile
 | 
			
		||||
data/icons/32x32/Makefile
 | 
			
		||||
data/icons/48x48/Makefile
 | 
			
		||||
data/icons/scalable/Makefile
 | 
			
		||||
data/themes/Makefile
 | 
			
		||||
data/keyboards/Makefile
 | 
			
		||||
examples/Makefile
 | 
			
		||||
examples/simple-client/Makefile
 | 
			
		||||
eek/eek-${EEK_API_VERSION}.pc
 | 
			
		||||
eek/eek-clutter-${EEK_API_VERSION}.pc
 | 
			
		||||
eek/eek-gtk-${EEK_API_VERSION}.pc
 | 
			
		||||
eek/eek-xkb-${EEK_API_VERSION}.pc
 | 
			
		||||
eek/eek-xkl-${EEK_API_VERSION}.pc
 | 
			
		||||
eekboard/eekboard-${EEK_API_VERSION}.pc])
 | 
			
		||||
AC_OUTPUT
 | 
			
		||||
@ -223,6 +235,11 @@ Build options:
 | 
			
		||||
  Build shared libs         $enable_shared
 | 
			
		||||
  Build static libs         $enable_static
 | 
			
		||||
  CFLAGS                    $CFLAGS
 | 
			
		||||
  Build vala binding        $enable_vala
 | 
			
		||||
  Build Vala binding        $enable_vala
 | 
			
		||||
  Sound support             $enable_libcanberra
 | 
			
		||||
  Build document            $enable_gtk_doc
 | 
			
		||||
  Focus listeners           $focus_listeners
 | 
			
		||||
  Keystroke listeners       $keystroke_listeners
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1 +1,35 @@
 | 
			
		||||
SUBDIRS = icons
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
if ENABLE_ATSPI
 | 
			
		||||
autostartdir	 = $(sysconfdir)/xdg/autostart
 | 
			
		||||
autostart_in_files = eekboard-autostart.desktop.in
 | 
			
		||||
autostart_DATA   = $(autostart_in_files:.desktop.in=.desktop)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
@INTLTOOL_DESKTOP_RULE@
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
EXTRA_DIST += $(autostart_in_files)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								data/eekboard-autostart.desktop.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								data/eekboard-autostart.desktop.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Name=Eekboard
 | 
			
		||||
Exec=eekboard -f
 | 
			
		||||
Type=Application
 | 
			
		||||
#AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
 | 
			
		||||
X-GNOME-AutoRestart=true
 | 
			
		||||
@ -1,3 +1,3 @@
 | 
			
		||||
[D-BUS Service]
 | 
			
		||||
Name=com.redhat.Eekboard.Server
 | 
			
		||||
Name=org.fedorahosted.Eekboard
 | 
			
		||||
Exec=@bindir@/eekboard-server
 | 
			
		||||
							
								
								
									
										9
									
								
								data/eekboard.desktop.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								data/eekboard.desktop.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Name=Eekboard
 | 
			
		||||
GenericName=Eekboard Virtual Keyboard
 | 
			
		||||
Comment=Virtual Keyboard
 | 
			
		||||
Exec=eekboard
 | 
			
		||||
Icon=eekboard
 | 
			
		||||
Terminal=false
 | 
			
		||||
Type=Application
 | 
			
		||||
Categories=GTK;Utility;
 | 
			
		||||
@ -14,3 +14,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -14,3 +14,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -14,3 +14,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -14,3 +14,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -14,3 +14,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -1 +1,3 @@
 | 
			
		||||
SUBDIRS = 16x16 22x22 24x24 32x32 48x48 scalable
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -12,3 +12,4 @@ install-data-hook:
 | 
			
		||||
		echo "***   $(gtk_update_icon_cache)";	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										40
									
								
								data/keyboards/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								data/keyboards/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
keyboardsdir = $(pkgdatadir)/keyboards
 | 
			
		||||
 | 
			
		||||
nobase_dist_keyboards_DATA =			\
 | 
			
		||||
	keyboards.xml				\
 | 
			
		||||
	geometry/compact.xml			\
 | 
			
		||||
	symbols/ar.xml				\
 | 
			
		||||
	symbols/be.xml				\
 | 
			
		||||
	symbols/fa.xml				\
 | 
			
		||||
	symbols/he.xml				\
 | 
			
		||||
	symbols/ja-kana.xml			\
 | 
			
		||||
	symbols/kk.xml				\
 | 
			
		||||
	symbols/ks.xml				\
 | 
			
		||||
	symbols/my.xml				\
 | 
			
		||||
	symbols/ru.xml				\
 | 
			
		||||
	symbols/th.xml				\
 | 
			
		||||
	symbols/ua.xml				\
 | 
			
		||||
	symbols/ug.xml				\
 | 
			
		||||
	symbols/us.xml				\
 | 
			
		||||
	symbols/zh-bopomofo.xml			\
 | 
			
		||||
	$(inscript_symbols)			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
inscript_symbols =				\
 | 
			
		||||
	symbols/as-inscript.xml			\
 | 
			
		||||
	symbols/bn-inscript.xml			\
 | 
			
		||||
	symbols/gu-inscript.xml			\
 | 
			
		||||
	symbols/hi-inscript.xml			\
 | 
			
		||||
	symbols/kn-inscript.xml			\
 | 
			
		||||
	symbols/ks-inscript.xml			\
 | 
			
		||||
	symbols/mai-inscript.xml		\
 | 
			
		||||
	symbols/ml-inscript.xml			\
 | 
			
		||||
	symbols/mr-inscript.xml			\
 | 
			
		||||
	symbols/or-inscript.xml			\
 | 
			
		||||
	symbols/pa-inscript.xml			\
 | 
			
		||||
	symbols/sd-inscript.xml			\
 | 
			
		||||
	symbols/ta-inscript.xml			\
 | 
			
		||||
	symbols/te-inscript.xml			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
							
								
								
									
										313
									
								
								data/keyboards/geometry/compact.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										313
									
								
								data/keyboards/geometry/compact.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,313 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<geometry version="0.90">
 | 
			
		||||
  <bounds x="0.000000" y="0.000000" width="640.0000" height="296.5853"/>
 | 
			
		||||
  <section angle="0">
 | 
			
		||||
    <bounds x="15.60975" y="15.60975" width="640.0000" height="39.02439"/>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="9" name="ESC" oref="outline2">
 | 
			
		||||
	<bounds x="3.121951" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="67" name="FK01" oref="outline2">
 | 
			
		||||
	<bounds x="84.29268" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="68" name="FK02" oref="outline2">
 | 
			
		||||
	<bounds x="124.8780" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="69" name="FK03" oref="outline2">
 | 
			
		||||
	<bounds x="165.4634" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="70" name="FK04" oref="outline2">
 | 
			
		||||
	<bounds x="206.0487" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="71" name="FK05" oref="outline2">
 | 
			
		||||
	<bounds x="266.9268" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="72" name="FK06" oref="outline2">
 | 
			
		||||
	<bounds x="307.5121" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="73" name="FK07" oref="outline2">
 | 
			
		||||
	<bounds x="348.0975" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="74" name="FK08" oref="outline2">
 | 
			
		||||
	<bounds x="388.6829" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="75" name="FK09" oref="outline2">
 | 
			
		||||
	<bounds x="449.5609" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="76" name="FK10" oref="outline2">
 | 
			
		||||
	<bounds x="490.1463" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="95" name="FK11" oref="outline2">
 | 
			
		||||
	<bounds x="530.7317" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="96" name="FK12" oref="outline2">
 | 
			
		||||
	<bounds x="571.3170" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
  </section>
 | 
			
		||||
  <section angle="0">
 | 
			
		||||
    <bounds x="15.60975" y="78.04878" width="608.7804" height="201.3658"/>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="49" name="TLDE" oref="outline2">
 | 
			
		||||
	<bounds x="3.121951" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="10" name="AE01" oref="outline2">
 | 
			
		||||
	<bounds x="43.70731" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="11" name="AE02" oref="outline2">
 | 
			
		||||
	<bounds x="84.29268" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="12" name="AE03" oref="outline2">
 | 
			
		||||
	<bounds x="124.8780" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="13" name="AE04" oref="outline2">
 | 
			
		||||
	<bounds x="165.4634" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="14" name="AE05" oref="outline2">
 | 
			
		||||
	<bounds x="206.0487" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="15" name="AE06" oref="outline2">
 | 
			
		||||
	<bounds x="245.0731" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="16" name="AE07" oref="outline2">
 | 
			
		||||
	<bounds x="285.6585" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="17" name="AE08" oref="outline2">
 | 
			
		||||
	<bounds x="326.2439" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="18" name="AE09" oref="outline2">
 | 
			
		||||
	<bounds x="366.8292" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="19" name="AE10" oref="outline2">
 | 
			
		||||
	<bounds x="407.4146" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="20" name="AE11" oref="outline2">
 | 
			
		||||
	<bounds x="448.0000" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="21" name="AE12" oref="outline2">
 | 
			
		||||
	<bounds x="488.5853" y="1.560976" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="22" name="BKSP" oref="outline13">
 | 
			
		||||
	<bounds x="529.1707" y="1.560976" width="79.60975" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="23" name="TAB" oref="outline4">
 | 
			
		||||
	<bounds x="3.121951" y="42.14634" width="59.31707" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="24" name="AD01" oref="outline2">
 | 
			
		||||
	<bounds x="65.56097" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="25" name="AD02" oref="outline2">
 | 
			
		||||
	<bounds x="106.1463" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="26" name="AD03" oref="outline2">
 | 
			
		||||
	<bounds x="145.1707" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="27" name="AD04" oref="outline2">
 | 
			
		||||
	<bounds x="185.7560" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="28" name="AD05" oref="outline2">
 | 
			
		||||
	<bounds x="226.3414" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="29" name="AD06" oref="outline2">
 | 
			
		||||
	<bounds x="266.9268" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="30" name="AD07" oref="outline2">
 | 
			
		||||
	<bounds x="307.5121" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="31" name="AD08" oref="outline2">
 | 
			
		||||
	<bounds x="348.0975" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="32" name="AD09" oref="outline2">
 | 
			
		||||
	<bounds x="388.6829" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="33" name="AD10" oref="outline2">
 | 
			
		||||
	<bounds x="429.2682" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="34" name="AD11" oref="outline2">
 | 
			
		||||
	<bounds x="468.2926" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="35" name="AD12" oref="outline2">
 | 
			
		||||
	<bounds x="508.8780" y="42.14634" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="51" name="BKSL" oref="outline5">
 | 
			
		||||
	<bounds x="549.4634" y="42.14634" width="59.31707" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="66" name="CAPS" oref="outline6">
 | 
			
		||||
	<bounds x="3.121951" y="82.73170" width="68.68292" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="38" name="AC01" oref="outline2">
 | 
			
		||||
	<bounds x="76.48780" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="39" name="AC02" oref="outline2">
 | 
			
		||||
	<bounds x="115.5121" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="40" name="AC03" oref="outline2">
 | 
			
		||||
	<bounds x="156.0975" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="41" name="AC04" oref="outline2">
 | 
			
		||||
	<bounds x="196.6829" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="42" name="AC05" oref="outline2">
 | 
			
		||||
	<bounds x="237.2682" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="43" name="AC06" oref="outline2">
 | 
			
		||||
	<bounds x="277.8536" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="44" name="AC07" oref="outline2">
 | 
			
		||||
	<bounds x="318.4390" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="45" name="AC08" oref="outline2">
 | 
			
		||||
	<bounds x="359.0243" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="46" name="AC09" oref="outline2">
 | 
			
		||||
	<bounds x="399.6097" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="47" name="AC10" oref="outline2">
 | 
			
		||||
	<bounds x="438.6341" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="48" name="AC11" oref="outline2">
 | 
			
		||||
	<bounds x="479.2195" y="82.73170" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="36" name="RTRN" oref="outline7">
 | 
			
		||||
	<bounds x="519.8048" y="82.73170" width="88.97561" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="50" name="LFSH" oref="outline8">
 | 
			
		||||
	<bounds x="3.121951" y="121.7560" width="88.97561" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="52" name="AB01" oref="outline2">
 | 
			
		||||
	<bounds x="95.21951" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="53" name="AB02" oref="outline2">
 | 
			
		||||
	<bounds x="135.8048" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="54" name="AB03" oref="outline2">
 | 
			
		||||
	<bounds x="176.3902" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="55" name="AB04" oref="outline2">
 | 
			
		||||
	<bounds x="215.4146" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="56" name="AB05" oref="outline2">
 | 
			
		||||
	<bounds x="256.0000" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="57" name="AB06" oref="outline2">
 | 
			
		||||
	<bounds x="296.5853" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="58" name="AB07" oref="outline2">
 | 
			
		||||
	<bounds x="337.1707" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="59" name="AB08" oref="outline2">
 | 
			
		||||
	<bounds x="377.7560" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="60" name="AB09" oref="outline2">
 | 
			
		||||
	<bounds x="418.3414" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="61" name="AB10" oref="outline2">
 | 
			
		||||
	<bounds x="458.9268" y="121.7560" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="62" name="RTSH" oref="outline9">
 | 
			
		||||
	<bounds x="499.5121" y="121.7560" width="109.2682" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
    <row orientation="1">
 | 
			
		||||
      <key keycode="149" name="I149" oref="outline10">
 | 
			
		||||
	<bounds x="3.121951" y="162.3414" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="37" name="LCTL" oref="outline1">
 | 
			
		||||
	<bounds x="62.43902" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="64" name="LALT" oref="outline1">
 | 
			
		||||
	<bounds x="113.9512" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="65" name="SPCE" oref="outline3">
 | 
			
		||||
	<bounds x="165.4634" y="162.3414" width="217.5853" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="113" name="LEFT" oref="outline1">
 | 
			
		||||
	<bounds x="368.0487" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="111" name="UP" oref="outline1">
 | 
			
		||||
	<bounds x="419.43894" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="116" name="DOWN" oref="outline1">
 | 
			
		||||
	<bounds x="470.82918" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="114" name="RGHT" oref="outline1">
 | 
			
		||||
	<bounds x="522.21942" y="162.3414" width="48.39024" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
      <key keycode="150" name="I150" oref="outline10">
 | 
			
		||||
	<bounds x="573.60966" y="162.3414" width="37.46341" height="37.46341"/>
 | 
			
		||||
      </key>
 | 
			
		||||
    </row>
 | 
			
		||||
  </section>
 | 
			
		||||
  <outline id="outline2" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="37.46341" y="0.000000"/>
 | 
			
		||||
    <point x="37.46341" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline1" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="48.39024" y="0.000000"/>
 | 
			
		||||
    <point x="48.39024" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline4" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="59.31707" y="0.000000"/>
 | 
			
		||||
    <point x="59.31707" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline5" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="59.31707" y="0.000000"/>
 | 
			
		||||
    <point x="59.31707" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline6" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="68.68292" y="0.000000"/>
 | 
			
		||||
    <point x="68.68292" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline7" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="88.97561" y="0.000000"/>
 | 
			
		||||
    <point x="88.97561" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline8" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="88.97561" y="0.000000"/>
 | 
			
		||||
    <point x="88.97561" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline9" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="109.2682" y="0.000000"/>
 | 
			
		||||
    <point x="109.2682" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline10" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="37.46341" y="0.000000"/>
 | 
			
		||||
    <point x="37.46341" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline13" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="79.60975" y="0.000000"/>
 | 
			
		||||
    <point x="79.60975" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
  <outline id="outline3" corner-radius="1.000000">
 | 
			
		||||
    <point x="0.000000" y="0.000000"/>
 | 
			
		||||
    <point x="217.5853" y="0.000000"/>
 | 
			
		||||
    <point x="217.5853" y="37.46341"/>
 | 
			
		||||
    <point x="0.000000" y="37.46341"/>
 | 
			
		||||
  </outline>
 | 
			
		||||
</geometry>
 | 
			
		||||
							
								
								
									
										88
									
								
								data/keyboards/keyboards.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								data/keyboards/keyboards.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,88 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<keyboards version="0.90">
 | 
			
		||||
  <keyboard id="ar" name="ar"
 | 
			
		||||
	    geometry="compact" symbols="ar"
 | 
			
		||||
	    longname="Arabic" language="ar"/>
 | 
			
		||||
  <keyboard id="be" name="be"
 | 
			
		||||
	    geometry="compact" symbols="be"
 | 
			
		||||
	    longname="Belarusian" language="be"/>
 | 
			
		||||
  <keyboard id="fa" name="fa"
 | 
			
		||||
	    geometry="compact" symbols="fa"
 | 
			
		||||
	    longname="Farsi (ISIRI 2901-1994)" language="fa"/>
 | 
			
		||||
  <keyboard id="he" name="he"
 | 
			
		||||
	    geometry="compact" symbols="he"
 | 
			
		||||
	    longname="Hebrew" language="he"/>
 | 
			
		||||
  <keyboard id="ja" name="ja"
 | 
			
		||||
	    geometry="compact" symbols="ja-kana"
 | 
			
		||||
	    longname="Japanese (Kana)" language="ja"/>
 | 
			
		||||
  <keyboard id="kk" name="kk"
 | 
			
		||||
	    geometry="compact" symbols="kk"
 | 
			
		||||
	    longname="Kazakh" language="kk"/>
 | 
			
		||||
  <keyboard id="ks" name="ks"
 | 
			
		||||
	    geometry="compact" symbols="ks"
 | 
			
		||||
	    longname="Kashmiri" language="ks"/>
 | 
			
		||||
  <keyboard id="my" name="my"
 | 
			
		||||
	    geometry="compact" symbols="my"
 | 
			
		||||
	    longname="Myanmar" language="my"/>
 | 
			
		||||
  <keyboard id="ru" name="ru"
 | 
			
		||||
	    geometry="compact" symbols="us"
 | 
			
		||||
	    longname="Russian" language="ru"/>
 | 
			
		||||
  <keyboard id="th" name="th"
 | 
			
		||||
	    geometry="compact" symbols="th"
 | 
			
		||||
	    longname="Thai" language="th"/>
 | 
			
		||||
  <keyboard id="ua" name="ua"
 | 
			
		||||
	    geometry="compact" symbols="ua"
 | 
			
		||||
	    longname="Ukrainian" language="ua"/>
 | 
			
		||||
  <keyboard id="ug" name="ug"
 | 
			
		||||
	    geometry="compact" symbols="ug"
 | 
			
		||||
	    longname="Uyghur" language="ug"/>
 | 
			
		||||
  <keyboard id="us" name="us"
 | 
			
		||||
	    geometry="compact" symbols="us"
 | 
			
		||||
	    longname="US" language="en"/>
 | 
			
		||||
  <keyboard id="zh-bopomofo" name="zh-bopomofo"
 | 
			
		||||
	    geometry="compact" symbols="zh-bopomofo"
 | 
			
		||||
	    longname="Chinese (Bopomofo)" language="zh"/>
 | 
			
		||||
  <!-- Indic Inscript keyboards converted from m17n-lib -->
 | 
			
		||||
  <keyboard id="as-inscript" name="as-inscript"
 | 
			
		||||
	    geometry="compact" symbols="as-inscript"
 | 
			
		||||
	    longname="Assamese (Inscript)" language="as"/>
 | 
			
		||||
  <keyboard id="bn-inscript" name="bn-inscript"
 | 
			
		||||
	    geometry="compact" symbols="bn-inscript"
 | 
			
		||||
	    longname="Bengali (Inscript)" language="bn"/>
 | 
			
		||||
  <keyboard id="gu-inscript" name="gu-inscript"
 | 
			
		||||
	    geometry="compact" symbols="gu-inscript"
 | 
			
		||||
	    longname="Gujarati (Inscript)" language="gu"/>
 | 
			
		||||
  <keyboard id="hi-inscript" name="hi-inscript"
 | 
			
		||||
	    geometry="compact" symbols="hi-inscript"
 | 
			
		||||
	    longname="Hindi (Inscript)" language="hi"/>
 | 
			
		||||
  <keyboard id="kn-inscript" name="kn-inscript"
 | 
			
		||||
	    geometry="compact" symbols="kn-inscript"
 | 
			
		||||
	    longname="Kannada (Inscript)" language="kn"/>
 | 
			
		||||
  <keyboard id="ks-inscript" name="ks-inscript"
 | 
			
		||||
	    geometry="compact" symbols="ks-inscript"
 | 
			
		||||
	    longname="Kashmiri Devanagari (Inscript)" language="ks"/>
 | 
			
		||||
  <keyboard id="mai-inscript" name="mai-inscript"
 | 
			
		||||
	    geometry="compact" symbols="mai-inscript"
 | 
			
		||||
	    longname="Maithili (Inscript)" language="mai"/>
 | 
			
		||||
  <keyboard id="ml-inscript" name="ml-inscript"
 | 
			
		||||
	    geometry="compact" symbols="ml-inscript"
 | 
			
		||||
	    longname="Malayalam (Inscript)" language="ml-inscript"/>
 | 
			
		||||
  <keyboard id="mr-inscript" name="mr-inscript"
 | 
			
		||||
	    geometry="compact" symbols="mr-inscript"
 | 
			
		||||
	    longname="Marathi (Inscript)" language="mr"/>
 | 
			
		||||
  <keyboard id="or-inscript" name="or-inscript"
 | 
			
		||||
	    geometry="compact" symbols="or-inscript"
 | 
			
		||||
	    longname="Oriya (Inscript)" language="or"/>
 | 
			
		||||
  <keyboard id="pa-inscript" name="pa-inscript"
 | 
			
		||||
	    geometry="compact" symbols="pa-inscript"
 | 
			
		||||
	    longname="Punjabi (Inscript)" language="pa"/>
 | 
			
		||||
  <keyboard id="sd-inscript" name="sd-inscript"
 | 
			
		||||
	    geometry="compact" symbols="sd-inscript"
 | 
			
		||||
	    longname="Sindhi (Inscript)" language="sd"/>
 | 
			
		||||
  <keyboard id="ta-inscript" name="ta-inscript"
 | 
			
		||||
	    geometry="compact" symbols="ta-inscript"
 | 
			
		||||
	    longname="Tamil (Inscript)" language="ta"/>
 | 
			
		||||
  <keyboard id="te-inscript" name="te-inscript"
 | 
			
		||||
	    geometry="compact" symbols="te-inscript"
 | 
			
		||||
	    longname="Telugu (Inscript)" language="te"/>
 | 
			
		||||
</keyboards>
 | 
			
		||||
							
								
								
									
										181
									
								
								data/keyboards/symbols/ar.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								data/keyboards/symbols/ar.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,181 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ّ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">١</text>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">٢</text>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">٣</text>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">٤</text>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">٥</text>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">٦</text>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">٧</text>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">٨</text>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">٩</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">٠</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ض</text>
 | 
			
		||||
    <text category="letter">َ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ص</text>
 | 
			
		||||
    <text category="letter">ً</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ث</text>
 | 
			
		||||
    <text category="letter">ُ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ق</text>
 | 
			
		||||
    <text category="letter">ٌ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ف</text>
 | 
			
		||||
    <text category="letter">لإ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">غ</text>
 | 
			
		||||
    <text category="letter">إ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ع</text>
 | 
			
		||||
    <text category="letter">`</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ه</text>
 | 
			
		||||
    <text category="letter">÷</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">خ</text>
 | 
			
		||||
    <text category="letter">×</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ح</text>
 | 
			
		||||
    <text category="letter">؛</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ج</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">د</text>
 | 
			
		||||
    <text category="letter"><</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ش</text>
 | 
			
		||||
    <text category="letter">ِ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">س</text>
 | 
			
		||||
    <text category="letter">ٍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">ي</text>
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ب</text>
 | 
			
		||||
    <text category="letter">[</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ل</text>
 | 
			
		||||
    <text category="letter">لأ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ا</text>
 | 
			
		||||
    <text category="letter">أ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ت</text>
 | 
			
		||||
    <text category="letter">ـ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ن</text>
 | 
			
		||||
    <text category="letter">،</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">م</text>
 | 
			
		||||
    <text category="letter">/</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ك</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ئ</text>
 | 
			
		||||
    <text category="letter">~</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ء</text>
 | 
			
		||||
    <text category="letter">ْ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ؤ</text>
 | 
			
		||||
    <text category="letter">}</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ر</text>
 | 
			
		||||
    <text category="letter">{</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">لا</text>
 | 
			
		||||
    <text category="letter">لآ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ى</text>
 | 
			
		||||
    <text category="letter">آ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ة</text>
 | 
			
		||||
    <text category="letter">'</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">و</text>
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ز</text>
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ظ</text>
 | 
			
		||||
    <text category="letter">؟</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/as-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/as-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">~</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">১</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">২</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">৩</text>
 | 
			
		||||
    <text category="letter">্ৰ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">৪</text>
 | 
			
		||||
    <text category="letter">ৰ্</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">৫</text>
 | 
			
		||||
    <text category="letter">জ্ঞ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">৬</text>
 | 
			
		||||
    <text category="letter">ত্ৰ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">৭</text>
 | 
			
		||||
    <text category="letter">ক্ষ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">৮</text>
 | 
			
		||||
    <text category="letter">শ্ৰ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">৯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">০</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ঃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ৃ</text>
 | 
			
		||||
    <text category="letter">ঋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ৌ</text>
 | 
			
		||||
    <text category="letter">ঔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ৈ</text>
 | 
			
		||||
    <text category="letter">ঐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">া</text>
 | 
			
		||||
    <text category="letter">আ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ী</text>
 | 
			
		||||
    <text category="letter">ঈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ূ</text>
 | 
			
		||||
    <text category="letter">ঊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ব</text>
 | 
			
		||||
    <text category="letter">ভ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">হ</text>
 | 
			
		||||
    <text category="letter">ঙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">গ</text>
 | 
			
		||||
    <text category="letter">ঘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">দ</text>
 | 
			
		||||
    <text category="letter">ধ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">জ</text>
 | 
			
		||||
    <text category="letter">ঝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ড</text>
 | 
			
		||||
    <text category="letter">ঢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">়</text>
 | 
			
		||||
    <text category="letter">ঞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">য</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ো</text>
 | 
			
		||||
    <text category="letter">ও</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ে</text>
 | 
			
		||||
    <text category="letter">এ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">্</text>
 | 
			
		||||
    <text category="letter">অ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ি</text>
 | 
			
		||||
    <text category="letter">ই</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ু</text>
 | 
			
		||||
    <text category="letter">উ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">প</text>
 | 
			
		||||
    <text category="letter">ফ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ৰ</text>
 | 
			
		||||
    <text category="letter">J</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ক</text>
 | 
			
		||||
    <text category="letter">খ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ত</text>
 | 
			
		||||
    <text category="letter">থ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">চ</text>
 | 
			
		||||
    <text category="letter">ছ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ঠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ৎ</text>
 | 
			
		||||
    <text category="letter">৺</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ং</text>
 | 
			
		||||
    <text category="letter">ঁ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ম</text>
 | 
			
		||||
    <text category="letter">ণ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ন</text>
 | 
			
		||||
    <text category="letter">V</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ৱ</text>
 | 
			
		||||
    <text category="letter">B</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ল</text>
 | 
			
		||||
    <text category="letter">N</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">স</text>
 | 
			
		||||
    <text category="letter">শ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ষ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">য়</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/be.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/be.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">Ё</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <text category="letter">№</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <text category="letter">;</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <text category="letter">_</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">й</text>
 | 
			
		||||
    <text category="letter">Й</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ц</text>
 | 
			
		||||
    <text category="letter">Ц</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">у</text>
 | 
			
		||||
    <text category="letter">У</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">к</text>
 | 
			
		||||
    <text category="letter">К</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">е</text>
 | 
			
		||||
    <text category="letter">Е</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">н</text>
 | 
			
		||||
    <text category="letter">Н</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">г</text>
 | 
			
		||||
    <text category="letter">Г</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ш</text>
 | 
			
		||||
    <text category="letter">Ш</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ў</text>
 | 
			
		||||
    <text category="letter">Ў</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">з</text>
 | 
			
		||||
    <text category="letter">З</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">х</text>
 | 
			
		||||
    <text category="letter">Х</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">'</text>
 | 
			
		||||
    <text category="letter">'</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ф</text>
 | 
			
		||||
    <text category="letter">Ф</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ы</text>
 | 
			
		||||
    <text category="letter">Ы</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">в</text>
 | 
			
		||||
    <text category="letter">В</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">а</text>
 | 
			
		||||
    <text category="letter">А</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">п</text>
 | 
			
		||||
    <text category="letter">П</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">р</text>
 | 
			
		||||
    <text category="letter">Р</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">о</text>
 | 
			
		||||
    <text category="letter">О</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">л</text>
 | 
			
		||||
    <text category="letter">Л</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">д</text>
 | 
			
		||||
    <text category="letter">Д</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ж</text>
 | 
			
		||||
    <text category="letter">Ж</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">Э</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">я</text>
 | 
			
		||||
    <text category="letter">Я</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ч</text>
 | 
			
		||||
    <text category="letter">Ч</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">с</text>
 | 
			
		||||
    <text category="letter">С</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">м</text>
 | 
			
		||||
    <text category="letter">М</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">і</text>
 | 
			
		||||
    <text category="letter">І</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">т</text>
 | 
			
		||||
    <text category="letter">Т</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ь</text>
 | 
			
		||||
    <text category="letter">Ь</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">б</text>
 | 
			
		||||
    <text category="letter">Б</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ю</text>
 | 
			
		||||
    <text category="letter">Ю</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/bn-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/bn-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">~</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">১</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">২</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">৩</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">৪</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">৫</text>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">৬</text>
 | 
			
		||||
    <text category="letter">^</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">৭</text>
 | 
			
		||||
    <text category="letter">&</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">৮</text>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">৯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">০</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ঃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ৃ</text>
 | 
			
		||||
    <text category="letter">ঋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ৌ</text>
 | 
			
		||||
    <text category="letter">ঔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ৈ</text>
 | 
			
		||||
    <text category="letter">ঐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">া</text>
 | 
			
		||||
    <text category="letter">আ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ী</text>
 | 
			
		||||
    <text category="letter">ঈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ূ</text>
 | 
			
		||||
    <text category="letter">ঊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ব</text>
 | 
			
		||||
    <text category="letter">ভ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">হ</text>
 | 
			
		||||
    <text category="letter">ঙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">গ</text>
 | 
			
		||||
    <text category="letter">ঘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">দ</text>
 | 
			
		||||
    <text category="letter">ধ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">জ</text>
 | 
			
		||||
    <text category="letter">ঝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ড</text>
 | 
			
		||||
    <text category="letter">ঢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">়</text>
 | 
			
		||||
    <text category="letter">ঞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ো</text>
 | 
			
		||||
    <text category="letter">ও</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ে</text>
 | 
			
		||||
    <text category="letter">এ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">্</text>
 | 
			
		||||
    <text category="letter">অ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ি</text>
 | 
			
		||||
    <text category="letter">ই</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ু</text>
 | 
			
		||||
    <text category="letter">উ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">প</text>
 | 
			
		||||
    <text category="letter">ফ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">র</text>
 | 
			
		||||
    <text category="letter">J</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ক</text>
 | 
			
		||||
    <text category="letter">খ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ত</text>
 | 
			
		||||
    <text category="letter">থ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">চ</text>
 | 
			
		||||
    <text category="letter">ছ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ঠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">z</text>
 | 
			
		||||
    <text category="letter">Z</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ং</text>
 | 
			
		||||
    <text category="letter">ঁ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ম</text>
 | 
			
		||||
    <text category="letter">ণ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ন</text>
 | 
			
		||||
    <text category="letter">V</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ব</text>
 | 
			
		||||
    <text category="letter">B</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ল</text>
 | 
			
		||||
    <text category="letter">N</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">স</text>
 | 
			
		||||
    <text category="letter">শ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ষ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">য়</text>
 | 
			
		||||
    <text category="letter">য</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/fa.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/fa.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">۱</text>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">۲</text>
 | 
			
		||||
    <text category="letter">٬</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">۳</text>
 | 
			
		||||
    <text category="letter">٫</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">۴</text>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">۵</text>
 | 
			
		||||
    <text category="letter">٪</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">۶</text>
 | 
			
		||||
    <text category="letter">×</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">۷</text>
 | 
			
		||||
    <text category="letter">،</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">۸</text>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">۹</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">۰</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ض</text>
 | 
			
		||||
    <text category="letter">ْ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ص</text>
 | 
			
		||||
    <text category="letter">ٌ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ث</text>
 | 
			
		||||
    <text category="letter">ٍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ق</text>
 | 
			
		||||
    <text category="letter">ً</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ف</text>
 | 
			
		||||
    <text category="letter">ُ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">غ</text>
 | 
			
		||||
    <text category="letter">ِ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ع</text>
 | 
			
		||||
    <text category="letter">َ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ه</text>
 | 
			
		||||
    <text category="letter">ّ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">خ</text>
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ح</text>
 | 
			
		||||
    <text category="letter">[</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ج</text>
 | 
			
		||||
    <text category="letter">}</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">چ</text>
 | 
			
		||||
    <text category="letter">{</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ش</text>
 | 
			
		||||
    <text category="letter">ؤ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">س</text>
 | 
			
		||||
    <text category="letter">ئ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">ی</text>
 | 
			
		||||
    <text category="letter">ي</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ب</text>
 | 
			
		||||
    <text category="letter">إ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ل</text>
 | 
			
		||||
    <text category="letter">أ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ا</text>
 | 
			
		||||
    <text category="letter">آ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ت</text>
 | 
			
		||||
    <text category="letter">ة</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ن</text>
 | 
			
		||||
    <text category="letter">»</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">م</text>
 | 
			
		||||
    <text category="letter">«</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ک</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">؛</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ظ</text>
 | 
			
		||||
    <text category="letter">ك</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ط</text>
 | 
			
		||||
    <keysym keyval="88">X</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ز</text>
 | 
			
		||||
    <text category="letter">ژ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ر</text>
 | 
			
		||||
    <keysym keyval="86">V</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ذ</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">د</text>
 | 
			
		||||
    <text name="N" category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">پ</text>
 | 
			
		||||
    <text category="letter">ء</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">و</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <keysym keyval="46">period</keysym>
 | 
			
		||||
    <text category="letter"><</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <keysym keyval="47">slash</keysym>
 | 
			
		||||
    <text category="letter">؟</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/gu-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/gu-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">~</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">૧</text>
 | 
			
		||||
    <text category="letter">ઍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">૨</text>
 | 
			
		||||
    <text category="letter">ૅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">૩</text>
 | 
			
		||||
    <text category="letter">ૠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">૪</text>
 | 
			
		||||
    <text category="letter">ૄ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">૫</text>
 | 
			
		||||
    <text category="letter">જ્ઞ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">૬</text>
 | 
			
		||||
    <text category="letter">ત્ર</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">૭</text>
 | 
			
		||||
    <text category="letter">ક્ષ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">૮</text>
 | 
			
		||||
    <text category="letter">શ્ર</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">૯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">૦</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ઃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ૃ</text>
 | 
			
		||||
    <text category="letter">ઋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ૌ</text>
 | 
			
		||||
    <text category="letter">ઔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ૈ</text>
 | 
			
		||||
    <text category="letter">ઐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ા</text>
 | 
			
		||||
    <text category="letter">આ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ી</text>
 | 
			
		||||
    <text category="letter">ઈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ૂ</text>
 | 
			
		||||
    <text category="letter">ઊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">બ</text>
 | 
			
		||||
    <text category="letter">ભ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">હ</text>
 | 
			
		||||
    <text category="letter">ઙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ગ</text>
 | 
			
		||||
    <text category="letter">ઘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">દ</text>
 | 
			
		||||
    <text category="letter">ધ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">જ</text>
 | 
			
		||||
    <text category="letter">ઝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ડ</text>
 | 
			
		||||
    <text category="letter">ઢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">઼</text>
 | 
			
		||||
    <text category="letter">ઞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ૉ</text>
 | 
			
		||||
    <text category="letter">ઑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ો</text>
 | 
			
		||||
    <text category="letter">ઓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ે</text>
 | 
			
		||||
    <text category="letter">એ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">્</text>
 | 
			
		||||
    <text category="letter">અ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">િ</text>
 | 
			
		||||
    <text category="letter">ઇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ુ</text>
 | 
			
		||||
    <text category="letter">ઉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">પ</text>
 | 
			
		||||
    <text category="letter">ફ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ર</text>
 | 
			
		||||
    <text category="letter">ઽ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ક</text>
 | 
			
		||||
    <text category="letter">ખ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ત</text>
 | 
			
		||||
    <text category="letter">થ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ચ</text>
 | 
			
		||||
    <text category="letter">છ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ઠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">૱</text>
 | 
			
		||||
    <text category="letter">ૐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ં</text>
 | 
			
		||||
    <text category="letter">ઁ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">મ</text>
 | 
			
		||||
    <text category="letter">ણ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ન</text>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">વ</text>
 | 
			
		||||
    <text category="letter">'</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">લ</text>
 | 
			
		||||
    <text category="letter">ળ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">સ</text>
 | 
			
		||||
    <text category="letter">શ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ષ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ય</text>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/he.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/he.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">/</text>
 | 
			
		||||
    <keysym keyval="81">Q</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">'</text>
 | 
			
		||||
    <keysym keyval="87">W</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ק</text>
 | 
			
		||||
    <keysym keyval="69">E</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ר</text>
 | 
			
		||||
    <keysym keyval="82">R</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">א</text>
 | 
			
		||||
    <keysym keyval="84">T</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ט</text>
 | 
			
		||||
    <keysym keyval="89">Y</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ו</text>
 | 
			
		||||
    <keysym keyval="85">U</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ן</text>
 | 
			
		||||
    <keysym keyval="73">I</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ם</text>
 | 
			
		||||
    <keysym keyval="79">O</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">פ</text>
 | 
			
		||||
    <keysym keyval="80">P</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
    <text category="letter">}</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">[</text>
 | 
			
		||||
    <text category="letter">{</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ש</text>
 | 
			
		||||
    <keysym keyval="65">A</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ד</text>
 | 
			
		||||
    <keysym keyval="83">S</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">ג</text>
 | 
			
		||||
    <keysym keyval="68">D</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">כ</text>
 | 
			
		||||
    <keysym keyval="70">F</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ע</text>
 | 
			
		||||
    <keysym keyval="71">G</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">י</text>
 | 
			
		||||
    <keysym keyval="72">H</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ח</text>
 | 
			
		||||
    <keysym keyval="74">J</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ל</text>
 | 
			
		||||
    <keysym keyval="75">K</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ך</text>
 | 
			
		||||
    <keysym keyval="76">L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ף</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ז</text>
 | 
			
		||||
    <keysym keyval="90">Z</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ס</text>
 | 
			
		||||
    <keysym keyval="88">X</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ב</text>
 | 
			
		||||
    <keysym keyval="67">C</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ה</text>
 | 
			
		||||
    <keysym keyval="86">V</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">נ</text>
 | 
			
		||||
    <keysym keyval="66">B</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">מ</text>
 | 
			
		||||
    <keysym keyval="78">N</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">צ</text>
 | 
			
		||||
    <keysym keyval="77">M</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">ת</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ץ</text>
 | 
			
		||||
    <text category="letter"><</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/hi-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/hi-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ऒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">१</text>
 | 
			
		||||
    <text category="letter">ऍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">२</text>
 | 
			
		||||
    <text category="letter">ॅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">३</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">४</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">५</text>
 | 
			
		||||
    <text category="letter">ज्ञ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">६</text>
 | 
			
		||||
    <text category="letter">त्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">७</text>
 | 
			
		||||
    <text category="letter">क्ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">८</text>
 | 
			
		||||
    <text category="letter">श्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">९</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">०</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ः</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ृ</text>
 | 
			
		||||
    <text category="letter">ऋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ौ</text>
 | 
			
		||||
    <text category="letter">औ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ै</text>
 | 
			
		||||
    <text category="letter">ऐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ा</text>
 | 
			
		||||
    <text category="letter">आ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ी</text>
 | 
			
		||||
    <text category="letter">ई</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ू</text>
 | 
			
		||||
    <text category="letter">ऊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ब</text>
 | 
			
		||||
    <text category="letter">भ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ह</text>
 | 
			
		||||
    <text category="letter">ङ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ग</text>
 | 
			
		||||
    <text category="letter">घ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">द</text>
 | 
			
		||||
    <text category="letter">ध</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ज</text>
 | 
			
		||||
    <text category="letter">झ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ड</text>
 | 
			
		||||
    <text category="letter">ढ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">़</text>
 | 
			
		||||
    <text category="letter">ञ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ॉ</text>
 | 
			
		||||
    <text category="letter">ऑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ो</text>
 | 
			
		||||
    <text category="letter">ओ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">े</text>
 | 
			
		||||
    <text category="letter">ए</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">्</text>
 | 
			
		||||
    <text category="letter">अ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ि</text>
 | 
			
		||||
    <text category="letter">इ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ु</text>
 | 
			
		||||
    <text category="letter">उ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">प</text>
 | 
			
		||||
    <text category="letter">फ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">र</text>
 | 
			
		||||
    <text category="letter">ऱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">क</text>
 | 
			
		||||
    <text category="letter">ख</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">त</text>
 | 
			
		||||
    <text category="letter">थ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">च</text>
 | 
			
		||||
    <text category="letter">छ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ठ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ॆ</text>
 | 
			
		||||
    <text category="letter">ऎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ं</text>
 | 
			
		||||
    <text category="letter">ँ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">म</text>
 | 
			
		||||
    <text category="letter">ण</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">न</text>
 | 
			
		||||
    <text category="letter">ऩ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">व</text>
 | 
			
		||||
    <text category="letter">ऴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ल</text>
 | 
			
		||||
    <text category="letter">ळ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">स</text>
 | 
			
		||||
    <text category="letter">श</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">य</text>
 | 
			
		||||
    <text category="letter">य़</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										154
									
								
								data/keyboards/symbols/ja-kana.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								data/keyboards/symbols/ja-kana.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,154 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="1246">゛</keysym>
 | 
			
		||||
    <keysym keyval="1247">゜</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="1223">ぬ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="1228">ふ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="1201">あ</keysym>
 | 
			
		||||
    <keysym keyval="1191">ぁ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="1203">う</keysym>
 | 
			
		||||
    <keysym keyval="1193">ぅ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="1204">え</keysym>
 | 
			
		||||
    <keysym keyval="1194">ぇ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="1205">お</keysym>
 | 
			
		||||
    <keysym keyval="1195">ぉ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="1236">や</keysym>
 | 
			
		||||
    <keysym keyval="1196">ゃ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="1237">ゆ</keysym>
 | 
			
		||||
    <keysym keyval="1197">ゅ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="1238">よ</keysym>
 | 
			
		||||
    <keysym keyval="1198">ょ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="1244">わ</keysym>
 | 
			
		||||
    <keysym keyval="1190">を</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="1230">ほ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="1229">へ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <keysym keyval="1216">た</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <keysym keyval="1219">て</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <keysym keyval="1202">い</keysym>
 | 
			
		||||
    <keysym keyval="1192">ぃ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <keysym keyval="1213">す</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <keysym keyval="1206">か</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <keysym keyval="1245">ん</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <keysym keyval="1221">な</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <keysym keyval="1222">に</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <keysym keyval="1239">ら</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <keysym keyval="1214">せ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <keysym keyval="1233">む</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <keysym keyval="1243">ろ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <keysym keyval="1217">ち</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <keysym keyval="1220">と</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <keysym keyval="1212">し</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <keysym keyval="1226">は</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <keysym keyval="1207">き</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <keysym keyval="1208">く</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <keysym keyval="1231">ま</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <keysym keyval="1225">の</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <keysym keyval="1240">り</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <keysym keyval="1242">れ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="1209">け</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <keysym keyval="1218">つ</keysym>
 | 
			
		||||
    <keysym keyval="1199">っ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <keysym keyval="1211">さ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <keysym keyval="1215">そ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <keysym keyval="1227">ひ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <keysym keyval="1210">こ</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <keysym keyval="1232">み</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <keysym keyval="1235">も</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <keysym keyval="1224">ね</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <keysym keyval="1241">る</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <keysym keyval="1234">め</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/kk.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/kk.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">ә</text>
 | 
			
		||||
    <text category="letter">Ә</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">і</text>
 | 
			
		||||
    <text category="letter">І</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">ӊ</text>
 | 
			
		||||
    <text category="letter">Ӊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">ғ</text>
 | 
			
		||||
    <text category="letter">Ғ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">;</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">ү</text>
 | 
			
		||||
    <text category="letter">Ү</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">ұ</text>
 | 
			
		||||
    <text category="letter">Ұ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">қ</text>
 | 
			
		||||
    <text category="letter">Қ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">ө</text>
 | 
			
		||||
    <text category="letter">Ө</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">һ</text>
 | 
			
		||||
    <text category="letter">Һ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">й</text>
 | 
			
		||||
    <text category="letter">Й</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ц</text>
 | 
			
		||||
    <text category="letter">Ц</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">у</text>
 | 
			
		||||
    <text category="letter">У</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">к</text>
 | 
			
		||||
    <text category="letter">К</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">е</text>
 | 
			
		||||
    <text category="letter">Е</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">н</text>
 | 
			
		||||
    <text category="letter">Н</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">г</text>
 | 
			
		||||
    <text category="letter">Г</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ш</text>
 | 
			
		||||
    <text category="letter">Ш</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">щ</text>
 | 
			
		||||
    <text category="letter">Щ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">з</text>
 | 
			
		||||
    <text category="letter">З</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">х</text>
 | 
			
		||||
    <text category="letter">Х</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">ъ</text>
 | 
			
		||||
    <text category="letter">Ъ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ф</text>
 | 
			
		||||
    <text category="letter">Ф</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ы</text>
 | 
			
		||||
    <text category="letter">Ы</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">в</text>
 | 
			
		||||
    <text category="letter">В</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">а</text>
 | 
			
		||||
    <text category="letter">А</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">п</text>
 | 
			
		||||
    <text category="letter">П</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">р</text>
 | 
			
		||||
    <text category="letter">Р</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">о</text>
 | 
			
		||||
    <text category="letter">О</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">л</text>
 | 
			
		||||
    <text category="letter">Л</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">д</text>
 | 
			
		||||
    <text category="letter">Д</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ж</text>
 | 
			
		||||
    <text category="letter">Ж</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">Э</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">я</text>
 | 
			
		||||
    <text category="letter">Я</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ч</text>
 | 
			
		||||
    <text category="letter">Ч</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">с</text>
 | 
			
		||||
    <text category="letter">С</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">м</text>
 | 
			
		||||
    <text category="letter">М</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">и</text>
 | 
			
		||||
    <text category="letter">И</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">т</text>
 | 
			
		||||
    <text category="letter">Т</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ь</text>
 | 
			
		||||
    <text category="letter">Ь</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">б</text>
 | 
			
		||||
    <text category="letter">Б</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ю</text>
 | 
			
		||||
    <text category="letter">Ю</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">№</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/kn-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/kn-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ಒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">೧</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">೨</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">೩</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">೪</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">೫</text>
 | 
			
		||||
    <text category="letter">ಜ್ಞ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">೬</text>
 | 
			
		||||
    <text category="letter">ತ್ರ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">೭</text>
 | 
			
		||||
    <text category="letter">ಕ್ಷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">೮</text>
 | 
			
		||||
    <text category="letter">ಶ್ರ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">೯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">೦</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ಃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ೃ</text>
 | 
			
		||||
    <text category="letter">ಋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ೌ</text>
 | 
			
		||||
    <text category="letter">ಔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ೈ</text>
 | 
			
		||||
    <text category="letter">ಐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ಾ</text>
 | 
			
		||||
    <text category="letter">ಆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ೀ</text>
 | 
			
		||||
    <text category="letter">ಈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ೂ</text>
 | 
			
		||||
    <text category="letter">ಊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ಬ</text>
 | 
			
		||||
    <text category="letter">ಭ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ಹ</text>
 | 
			
		||||
    <text category="letter">ಙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ಗ</text>
 | 
			
		||||
    <text category="letter">ಘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ದ</text>
 | 
			
		||||
    <text category="letter">ಧ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ಜ</text>
 | 
			
		||||
    <text category="letter">ಝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ಡ</text>
 | 
			
		||||
    <text category="letter">ಢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
    <text category="letter">ಞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ೋ</text>
 | 
			
		||||
    <text category="letter">ಓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ೇ</text>
 | 
			
		||||
    <text category="letter">ಏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">್</text>
 | 
			
		||||
    <text category="letter">ಅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ಿ</text>
 | 
			
		||||
    <text category="letter">ಇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ು</text>
 | 
			
		||||
    <text category="letter">ಉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ಪ</text>
 | 
			
		||||
    <text category="letter">ಫ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ರ</text>
 | 
			
		||||
    <text category="letter">ಱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ಕ</text>
 | 
			
		||||
    <text category="letter">ಖ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ತ</text>
 | 
			
		||||
    <text category="letter">ಥ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ಚ</text>
 | 
			
		||||
    <text category="letter">ಛ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ಠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ೆ</text>
 | 
			
		||||
    <text category="letter">ಎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ಂ</text>
 | 
			
		||||
    <text name="X" category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ಮ</text>
 | 
			
		||||
    <text category="letter">ಣ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ನ</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ವ</text>
 | 
			
		||||
    <keysym keyval="66">B</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ಲ</text>
 | 
			
		||||
    <text category="letter">ಳ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ಸ</text>
 | 
			
		||||
    <text category="letter">ಶ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ಷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">ಾ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ಯ</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ks-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ks-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ऒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">१</text>
 | 
			
		||||
    <text category="letter">ऍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">२</text>
 | 
			
		||||
    <text category="letter">ॅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">३</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">४</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">५</text>
 | 
			
		||||
    <text category="letter">ज्ञ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">६</text>
 | 
			
		||||
    <text category="letter">त्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">७</text>
 | 
			
		||||
    <text category="letter">क्ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">८</text>
 | 
			
		||||
    <text category="letter">श्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">९</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">०</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ः</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ृ</text>
 | 
			
		||||
    <text category="letter">ऋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ौ</text>
 | 
			
		||||
    <text category="letter">औ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ै</text>
 | 
			
		||||
    <text category="letter">ऐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ा</text>
 | 
			
		||||
    <text category="letter">आ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ी</text>
 | 
			
		||||
    <text category="letter">ई</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ू</text>
 | 
			
		||||
    <text category="letter">ऊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ॿ</text>
 | 
			
		||||
    <text category="letter">भ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ह</text>
 | 
			
		||||
    <text category="letter">ङ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ॻ</text>
 | 
			
		||||
    <text category="letter">घ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">द</text>
 | 
			
		||||
    <text category="letter">ध</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ॼ</text>
 | 
			
		||||
    <text category="letter">झ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ॾ</text>
 | 
			
		||||
    <text category="letter">ढ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">़</text>
 | 
			
		||||
    <text category="letter">ञ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ॉ</text>
 | 
			
		||||
    <text category="letter">ऑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ो</text>
 | 
			
		||||
    <text category="letter">ओ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">े</text>
 | 
			
		||||
    <text category="letter">ए</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">्</text>
 | 
			
		||||
    <text category="letter">अ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ि</text>
 | 
			
		||||
    <text category="letter">इ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <keysym keyval="103">g</keysym>
 | 
			
		||||
    <keysym keyval="71">G</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">प</text>
 | 
			
		||||
    <text category="letter">फ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">र</text>
 | 
			
		||||
    <text category="letter">ऱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">क</text>
 | 
			
		||||
    <text category="letter">ख</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">त</text>
 | 
			
		||||
    <text category="letter">थ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">च</text>
 | 
			
		||||
    <text category="letter">छ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ठ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ॆ</text>
 | 
			
		||||
    <text category="letter">ऎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ं</text>
 | 
			
		||||
    <text category="letter">ँ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">म</text>
 | 
			
		||||
    <text category="letter">ण</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">न</text>
 | 
			
		||||
    <text category="letter">ऩ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">व</text>
 | 
			
		||||
    <text category="letter">ऴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ल</text>
 | 
			
		||||
    <text category="letter">ळ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">स</text>
 | 
			
		||||
    <text category="letter">श</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">य</text>
 | 
			
		||||
    <text category="letter">य़</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ks.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ks.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ً</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">۱</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">۲</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">۳</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">۴</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">۵</text>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">۶</text>
 | 
			
		||||
    <text category="letter">^</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">۷</text>
 | 
			
		||||
    <text category="letter">&</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">۸</text>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">۹</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">۰</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ّ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">=</text>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ق</text>
 | 
			
		||||
    <text category="letter">ﷺ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">و</text>
 | 
			
		||||
    <text category="letter">ؤ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ع</text>
 | 
			
		||||
    <text category="letter">ئ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ر</text>
 | 
			
		||||
    <text category="letter">ڑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ت</text>
 | 
			
		||||
    <text category="letter">ٹ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ے</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ء</text>
 | 
			
		||||
    <text category="letter">،</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ی</text>
 | 
			
		||||
    <text category="letter">ۆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ہ</text>
 | 
			
		||||
    <text category="letter">ۃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">پ</text>
 | 
			
		||||
    <text category="letter">إ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
    <text category="letter">ٰ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">[</text>
 | 
			
		||||
    <text category="letter">ٰ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">؎</text>
 | 
			
		||||
    <text category="letter">أ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ا</text>
 | 
			
		||||
    <text category="letter">آ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">س</text>
 | 
			
		||||
    <text category="letter">ش</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">د</text>
 | 
			
		||||
    <text category="letter">ڈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ف</text>
 | 
			
		||||
    <text category="letter">ُ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">گ</text>
 | 
			
		||||
    <text category="letter">غ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ھ</text>
 | 
			
		||||
    <text category="letter">ح</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ج</text>
 | 
			
		||||
    <text category="letter">ژ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ک</text>
 | 
			
		||||
    <text category="letter">خ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ل</text>
 | 
			
		||||
    <text category="letter">ؓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">؛</text>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ز</text>
 | 
			
		||||
    <text category="letter">ذ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ص</text>
 | 
			
		||||
    <text category="letter">ض</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">چ</text>
 | 
			
		||||
    <text category="letter">ث</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ط</text>
 | 
			
		||||
    <text category="letter">ظ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ب</text>
 | 
			
		||||
    <text category="letter">أ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ن</text>
 | 
			
		||||
    <text category="letter">ں</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">م</text>
 | 
			
		||||
    <text category="letter">ٔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">،</text>
 | 
			
		||||
    <text category="letter">ِ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">۔</text>
 | 
			
		||||
    <text category="letter">َ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">/</text>
 | 
			
		||||
    <text category="letter">؟</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/mai-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/mai-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ऒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">१</text>
 | 
			
		||||
    <text category="letter">ऍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">२</text>
 | 
			
		||||
    <text category="letter">ॅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">३</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">४</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">५</text>
 | 
			
		||||
    <text category="letter">ज्ञ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">६</text>
 | 
			
		||||
    <text category="letter">त्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">७</text>
 | 
			
		||||
    <text category="letter">क्ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">८</text>
 | 
			
		||||
    <text category="letter">श्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">९</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">०</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ः</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ृ</text>
 | 
			
		||||
    <text category="letter">ऋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ौ</text>
 | 
			
		||||
    <text category="letter">औ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ै</text>
 | 
			
		||||
    <text category="letter">ऐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ा</text>
 | 
			
		||||
    <text category="letter">आ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ी</text>
 | 
			
		||||
    <text category="letter">ई</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ू</text>
 | 
			
		||||
    <text category="letter">ऊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ब</text>
 | 
			
		||||
    <text category="letter">भ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ह</text>
 | 
			
		||||
    <text category="letter">ङ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ग</text>
 | 
			
		||||
    <text category="letter">घ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">द</text>
 | 
			
		||||
    <text category="letter">ध</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ज</text>
 | 
			
		||||
    <text category="letter">झ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ड</text>
 | 
			
		||||
    <text category="letter">ढ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">़</text>
 | 
			
		||||
    <text category="letter">ञ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ॉ</text>
 | 
			
		||||
    <text category="letter">ऑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ो</text>
 | 
			
		||||
    <text category="letter">ओ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">े</text>
 | 
			
		||||
    <text category="letter">ए</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">्</text>
 | 
			
		||||
    <text category="letter">अ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ि</text>
 | 
			
		||||
    <text category="letter">इ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ु</text>
 | 
			
		||||
    <text category="letter">उ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">प</text>
 | 
			
		||||
    <text category="letter">फ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">र</text>
 | 
			
		||||
    <text category="letter">ऱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">क</text>
 | 
			
		||||
    <text category="letter">ख</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">त</text>
 | 
			
		||||
    <text category="letter">थ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">च</text>
 | 
			
		||||
    <text category="letter">छ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ठ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ॆ</text>
 | 
			
		||||
    <text category="letter">ऎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ं</text>
 | 
			
		||||
    <text category="letter">ँ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">म</text>
 | 
			
		||||
    <text category="letter">ण</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">न</text>
 | 
			
		||||
    <text category="letter">ऩ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">व</text>
 | 
			
		||||
    <text category="letter">ऴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ल</text>
 | 
			
		||||
    <text category="letter">ळ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">स</text>
 | 
			
		||||
    <text category="letter">श</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">य</text>
 | 
			
		||||
    <text category="letter">य़</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ml-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ml-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ഒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">൧</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">൨</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">൩</text>
 | 
			
		||||
    <text category="letter">്ര</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">൪</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">൫</text>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">൬</text>
 | 
			
		||||
    <text category="letter">^</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">൭</text>
 | 
			
		||||
    <text category="letter">ക്ഷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">൮</text>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">൯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">൦</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ഃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ൃ</text>
 | 
			
		||||
    <text category="letter">ഋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ൌ</text>
 | 
			
		||||
    <text category="letter">ഔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ൈ</text>
 | 
			
		||||
    <text category="letter">ഐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ാ</text>
 | 
			
		||||
    <text category="letter">ആ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ീ</text>
 | 
			
		||||
    <text category="letter">ഈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ൂ</text>
 | 
			
		||||
    <text category="letter">ഊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ബ</text>
 | 
			
		||||
    <text category="letter">ഭ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ഹ</text>
 | 
			
		||||
    <text category="letter">ങ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ഗ</text>
 | 
			
		||||
    <text category="letter">ഘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ദ</text>
 | 
			
		||||
    <text category="letter">ധ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ജ</text>
 | 
			
		||||
    <text category="letter">ഝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ഡ</text>
 | 
			
		||||
    <text category="letter">ഢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
    <text category="letter">ഞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ോ</text>
 | 
			
		||||
    <text category="letter">ഓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">േ</text>
 | 
			
		||||
    <text category="letter">ഏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">്</text>
 | 
			
		||||
    <text category="letter">അ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ി</text>
 | 
			
		||||
    <text category="letter">ഇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ു</text>
 | 
			
		||||
    <text category="letter">ഉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">പ</text>
 | 
			
		||||
    <text category="letter">ഫ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ര</text>
 | 
			
		||||
    <text category="letter">റ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ക</text>
 | 
			
		||||
    <text category="letter">ഖ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ത</text>
 | 
			
		||||
    <text category="letter">ഥ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ച</text>
 | 
			
		||||
    <text category="letter">ഛ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ഠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">െ</text>
 | 
			
		||||
    <text category="letter">എ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ം</text>
 | 
			
		||||
    <text category="letter">X</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">മ</text>
 | 
			
		||||
    <text category="letter">ണ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ന</text>
 | 
			
		||||
    <text category="letter">V</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">വ</text>
 | 
			
		||||
    <text category="letter">ഴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ല</text>
 | 
			
		||||
    <text category="letter">ള</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">സ</text>
 | 
			
		||||
    <text category="letter">ശ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ഷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">യ</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/mr-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/mr-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ऒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">१</text>
 | 
			
		||||
    <text category="letter">ऍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">२</text>
 | 
			
		||||
    <text category="letter">ॅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">३</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">४</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">५</text>
 | 
			
		||||
    <text category="letter">ज्ञ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">६</text>
 | 
			
		||||
    <text category="letter">त्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">७</text>
 | 
			
		||||
    <text category="letter">क्ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">८</text>
 | 
			
		||||
    <text category="letter">श्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">९</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">०</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ः</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ृ</text>
 | 
			
		||||
    <text category="letter">ऋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ौ</text>
 | 
			
		||||
    <text category="letter">औ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ै</text>
 | 
			
		||||
    <text category="letter">ऐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ा</text>
 | 
			
		||||
    <text category="letter">आ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ी</text>
 | 
			
		||||
    <text category="letter">ई</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ू</text>
 | 
			
		||||
    <text category="letter">ऊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ब</text>
 | 
			
		||||
    <text category="letter">भ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ह</text>
 | 
			
		||||
    <text category="letter">ङ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ग</text>
 | 
			
		||||
    <text category="letter">घ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">द</text>
 | 
			
		||||
    <text category="letter">ध</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ज</text>
 | 
			
		||||
    <text category="letter">झ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ड</text>
 | 
			
		||||
    <text category="letter">ढ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">़</text>
 | 
			
		||||
    <text category="letter">ञ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ॉ</text>
 | 
			
		||||
    <text category="letter">ऑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ो</text>
 | 
			
		||||
    <text category="letter">ओ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">े</text>
 | 
			
		||||
    <text category="letter">ए</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">्</text>
 | 
			
		||||
    <text category="letter">अ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ि</text>
 | 
			
		||||
    <text category="letter">इ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ु</text>
 | 
			
		||||
    <text category="letter">उ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">प</text>
 | 
			
		||||
    <text category="letter">फ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">र</text>
 | 
			
		||||
    <text category="letter">ऱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">क</text>
 | 
			
		||||
    <text category="letter">ख</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">त</text>
 | 
			
		||||
    <text category="letter">थ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">च</text>
 | 
			
		||||
    <text category="letter">छ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ठ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ॆ</text>
 | 
			
		||||
    <text category="letter">ऎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ं</text>
 | 
			
		||||
    <text category="letter">ँ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">म</text>
 | 
			
		||||
    <text category="letter">ण</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">न</text>
 | 
			
		||||
    <text category="letter">ऩ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">व</text>
 | 
			
		||||
    <text category="letter">ऴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ल</text>
 | 
			
		||||
    <text category="letter">ळ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">स</text>
 | 
			
		||||
    <text category="letter">श</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">य</text>
 | 
			
		||||
    <text category="letter">य़</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/my.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/my.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">၁</text>
 | 
			
		||||
    <text category="letter">ဍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">၂</text>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">၃</text>
 | 
			
		||||
    <text category="letter">ဋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">၄</text>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">၅</text>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">၆</text>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">၇</text>
 | 
			
		||||
    <text category="letter">ရ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">၈</text>
 | 
			
		||||
    <text category="letter">ဂ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">၉</text>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">၀</text>
 | 
			
		||||
    <text category="letter">ဝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ဆ</text>
 | 
			
		||||
    <text category="letter">၍</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">တ</text>
 | 
			
		||||
    <keysym keyval="87">W</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">န</text>
 | 
			
		||||
    <keysym keyval="69">E</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">မ</text>
 | 
			
		||||
    <keysym keyval="82">R</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">အ</text>
 | 
			
		||||
    <keysym keyval="84">T</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ပ</text>
 | 
			
		||||
    <keysym keyval="89">Y</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">က</text>
 | 
			
		||||
    <keysym keyval="85">U</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">င</text>
 | 
			
		||||
    <keysym keyval="73">I</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">သ</text>
 | 
			
		||||
    <text category="letter">ဥ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">စ</text>
 | 
			
		||||
    <text category="letter">ဏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ဟ</text>
 | 
			
		||||
    <text category="letter">ဎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">ဉ</text>
 | 
			
		||||
    <text category="letter">ဧ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">၏</text>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ေ</text>
 | 
			
		||||
    <text category="letter">ဗ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">္</text>
 | 
			
		||||
    <text category="letter">္</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">ိ</text>
 | 
			
		||||
    <text category="letter">ီ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">္</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
    <text category="letter">္</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">့</text>
 | 
			
		||||
    <text category="letter">ံ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">္</text>
 | 
			
		||||
    <text category="letter">ဲ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ု</text>
 | 
			
		||||
    <keysym keyval="75">K</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ူ</text>
 | 
			
		||||
    <keysym keyval="76">L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">း</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ဓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ဖ</text>
 | 
			
		||||
    <text category="letter">ဇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ထ</text>
 | 
			
		||||
    <text category="letter">ဌ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ခ</text>
 | 
			
		||||
    <text category="letter">ဃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">လ</text>
 | 
			
		||||
    <text category="letter">ဠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ဘ</text>
 | 
			
		||||
    <keysym keyval="66">B</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ည</text>
 | 
			
		||||
    <keysym keyval="78">N</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ာ</text>
 | 
			
		||||
    <keysym keyval="77">M</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">ယ</text>
 | 
			
		||||
    <text category="letter">၍</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ဈ</text>
 | 
			
		||||
    <text category="letter">ဤ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">။</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/or-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/or-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">୰</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">୧</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">୨</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">୩</text>
 | 
			
		||||
    <text category="letter">୍ର</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">୪</text>
 | 
			
		||||
    <text category="letter">ର୍</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">୫</text>
 | 
			
		||||
    <text category="letter">ଜ୍ଞ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">୬</text>
 | 
			
		||||
    <text category="letter">ତ୍ର</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">୭</text>
 | 
			
		||||
    <text category="letter">କ୍ଷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">୮</text>
 | 
			
		||||
    <text category="letter">ଶ୍ର</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">୯</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">୦</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ଃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ୃ</text>
 | 
			
		||||
    <text category="letter">ଋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ୌ</text>
 | 
			
		||||
    <text category="letter">ଔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ୈ</text>
 | 
			
		||||
    <text category="letter">ଐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ା</text>
 | 
			
		||||
    <text category="letter">ଆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ୀ</text>
 | 
			
		||||
    <text category="letter">ଈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ୂ</text>
 | 
			
		||||
    <text category="letter">ଊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ବ</text>
 | 
			
		||||
    <text category="letter">ଭ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ହ</text>
 | 
			
		||||
    <text category="letter">ଙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ଗ</text>
 | 
			
		||||
    <text category="letter">ଘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ଦ</text>
 | 
			
		||||
    <text category="letter">ଧ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ଜ</text>
 | 
			
		||||
    <text category="letter">ଝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ଡ</text>
 | 
			
		||||
    <text category="letter">ଢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">଼</text>
 | 
			
		||||
    <text category="letter">ଞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ୋ</text>
 | 
			
		||||
    <text category="letter">ଓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">େ</text>
 | 
			
		||||
    <text category="letter">ଏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">୍</text>
 | 
			
		||||
    <text category="letter">ଅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ି</text>
 | 
			
		||||
    <text category="letter">ଇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ୁ</text>
 | 
			
		||||
    <text category="letter">ଉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ପ</text>
 | 
			
		||||
    <text category="letter">ଫ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ର</text>
 | 
			
		||||
    <text category="letter">J</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">କ</text>
 | 
			
		||||
    <text category="letter">ଖ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ତ</text>
 | 
			
		||||
    <text category="letter">ଥ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ଚ</text>
 | 
			
		||||
    <text category="letter">ଛ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ଠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">z</text>
 | 
			
		||||
    <text category="letter">Z</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ଂ</text>
 | 
			
		||||
    <text category="letter">ଁ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ମ</text>
 | 
			
		||||
    <text category="letter">ଣ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ନ</text>
 | 
			
		||||
    <text category="letter">V</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ୱ</text>
 | 
			
		||||
    <text category="letter">ଵ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ଲ</text>
 | 
			
		||||
    <text category="letter">ଳ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ସ</text>
 | 
			
		||||
    <text category="letter">ଶ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ଷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ୟ</text>
 | 
			
		||||
    <text category="letter">ଯ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/pa-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/pa-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">੧</text>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">੨</text>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">੩</text>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">੪</text>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">੫</text>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">੬</text>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">੭</text>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">੮</text>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">੯</text>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">੦</text>
 | 
			
		||||
    <keysym keyval="41">parenright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">_</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">=</text>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ੌ</text>
 | 
			
		||||
    <text category="letter">ਔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ੈ</text>
 | 
			
		||||
    <text category="letter">ਐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ਾ</text>
 | 
			
		||||
    <text category="letter">ਆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ੀ</text>
 | 
			
		||||
    <text category="letter">ਈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ੂ</text>
 | 
			
		||||
    <text category="letter">ਊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ਬ</text>
 | 
			
		||||
    <text category="letter">ਭ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ਹ</text>
 | 
			
		||||
    <text category="letter">ਙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ਗ</text>
 | 
			
		||||
    <text category="letter">ਘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ਦ</text>
 | 
			
		||||
    <text category="letter">ਧ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ਜ</text>
 | 
			
		||||
    <text category="letter">ਝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ਡ</text>
 | 
			
		||||
    <text category="letter">ਢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">਼</text>
 | 
			
		||||
    <text category="letter">ਞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ੋ</text>
 | 
			
		||||
    <text category="letter">ਓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ੇ</text>
 | 
			
		||||
    <text category="letter">ਏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">੍</text>
 | 
			
		||||
    <text category="letter">ਅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ਿ</text>
 | 
			
		||||
    <text category="letter">ਇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ੁ</text>
 | 
			
		||||
    <text category="letter">ਉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ਪ</text>
 | 
			
		||||
    <text category="letter">ਫ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ਰ</text>
 | 
			
		||||
    <text category="letter">ੜ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ਕ</text>
 | 
			
		||||
    <text category="letter">ਖ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ਤ</text>
 | 
			
		||||
    <text category="letter">ਥ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ਚ</text>
 | 
			
		||||
    <text category="letter">ਛ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ਠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ੰ</text>
 | 
			
		||||
    <text category="letter">ੱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ਜ਼</text>
 | 
			
		||||
    <text category="letter">ਫ਼</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ਮ</text>
 | 
			
		||||
    <text category="letter">ਣ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ਨ</text>
 | 
			
		||||
    <text category="letter">ਂ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ਵ</text>
 | 
			
		||||
    <text category="letter">ਞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ਲ</text>
 | 
			
		||||
    <text category="letter">ਲ਼</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ਸ</text>
 | 
			
		||||
    <text category="letter">ਸ਼</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ੳ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">ੲ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ਯ</text>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ru.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ru.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">Ё</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <text category="letter">№</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <text category="letter">;</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <text category="letter">_</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">й</text>
 | 
			
		||||
    <text category="letter">Й</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ц</text>
 | 
			
		||||
    <text category="letter">Ц</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">у</text>
 | 
			
		||||
    <text category="letter">У</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">к</text>
 | 
			
		||||
    <text category="letter">К</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">е</text>
 | 
			
		||||
    <text category="letter">Е</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">н</text>
 | 
			
		||||
    <text category="letter">Н</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">г</text>
 | 
			
		||||
    <text category="letter">Г</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ш</text>
 | 
			
		||||
    <text category="letter">Ш</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">щ</text>
 | 
			
		||||
    <text category="letter">Щ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">з</text>
 | 
			
		||||
    <text category="letter">З</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">х</text>
 | 
			
		||||
    <text category="letter">Х</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">ъ</text>
 | 
			
		||||
    <text category="letter">Ъ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ф</text>
 | 
			
		||||
    <text category="letter">Ф</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ы</text>
 | 
			
		||||
    <text category="letter">Ы</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">в</text>
 | 
			
		||||
    <text category="letter">В</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">а</text>
 | 
			
		||||
    <text category="letter">А</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">п</text>
 | 
			
		||||
    <text category="letter">П</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">р</text>
 | 
			
		||||
    <text category="letter">Р</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">о</text>
 | 
			
		||||
    <text category="letter">О</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">л</text>
 | 
			
		||||
    <text category="letter">Л</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">д</text>
 | 
			
		||||
    <text category="letter">Д</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ж</text>
 | 
			
		||||
    <text category="letter">Ж</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">Э</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">я</text>
 | 
			
		||||
    <text category="letter">Я</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ч</text>
 | 
			
		||||
    <text category="letter">Ч</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">с</text>
 | 
			
		||||
    <text category="letter">С</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">м</text>
 | 
			
		||||
    <text category="letter">М</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">и</text>
 | 
			
		||||
    <text category="letter">И</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">т</text>
 | 
			
		||||
    <text category="letter">Т</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ь</text>
 | 
			
		||||
    <text category="letter">Ь</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">б</text>
 | 
			
		||||
    <text category="letter">Б</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ю</text>
 | 
			
		||||
    <text category="letter">Ю</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/sd-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/sd-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ऒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">१</text>
 | 
			
		||||
    <text category="letter">ऍ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">२</text>
 | 
			
		||||
    <text category="letter">ॅ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">३</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">४</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">५</text>
 | 
			
		||||
    <text category="letter">ज्ञ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">६</text>
 | 
			
		||||
    <text category="letter">त्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">७</text>
 | 
			
		||||
    <text category="letter">क्ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">८</text>
 | 
			
		||||
    <text category="letter">श्र</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">९</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">०</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ः</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ृ</text>
 | 
			
		||||
    <text category="letter">ऋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ौ</text>
 | 
			
		||||
    <text category="letter">औ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ै</text>
 | 
			
		||||
    <text category="letter">ऐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ा</text>
 | 
			
		||||
    <text category="letter">आ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ी</text>
 | 
			
		||||
    <text category="letter">ई</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ू</text>
 | 
			
		||||
    <text category="letter">ऊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ॿ</text>
 | 
			
		||||
    <text category="letter">भ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ह</text>
 | 
			
		||||
    <text category="letter">ङ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ॻ</text>
 | 
			
		||||
    <text category="letter">घ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">द</text>
 | 
			
		||||
    <text category="letter">ध</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ॼ</text>
 | 
			
		||||
    <text category="letter">झ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">ॾ</text>
 | 
			
		||||
    <text category="letter">ढ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">़</text>
 | 
			
		||||
    <text category="letter">ञ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ॉ</text>
 | 
			
		||||
    <text category="letter">ऑ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ो</text>
 | 
			
		||||
    <text category="letter">ओ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">े</text>
 | 
			
		||||
    <text category="letter">ए</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">्</text>
 | 
			
		||||
    <text category="letter">अ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ि</text>
 | 
			
		||||
    <text category="letter">इ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ु</text>
 | 
			
		||||
    <text category="letter">उ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">प</text>
 | 
			
		||||
    <text category="letter">फ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">र</text>
 | 
			
		||||
    <text category="letter">ऱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">क</text>
 | 
			
		||||
    <text category="letter">ख</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">त</text>
 | 
			
		||||
    <text category="letter">थ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">च</text>
 | 
			
		||||
    <text category="letter">छ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ठ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ॆ</text>
 | 
			
		||||
    <text category="letter">ऎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ं</text>
 | 
			
		||||
    <text category="letter">ँ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">म</text>
 | 
			
		||||
    <text category="letter">ण</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">न</text>
 | 
			
		||||
    <text category="letter">ऩ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">व</text>
 | 
			
		||||
    <text category="letter">ऴ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ल</text>
 | 
			
		||||
    <text category="letter">ळ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">स</text>
 | 
			
		||||
    <text category="letter">श</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ष</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">।</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">य</text>
 | 
			
		||||
    <text category="letter">य़</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ta-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ta-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ஒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">1</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">2</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">3</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">4</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">5</text>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">6</text>
 | 
			
		||||
    <text category="letter">^</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">7</text>
 | 
			
		||||
    <text category="letter">க்ஷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">8</text>
 | 
			
		||||
    <text category="letter">ஷ்ர</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">9</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">0</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">ஃ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">=</text>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ௌ</text>
 | 
			
		||||
    <text category="letter">ஔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ை</text>
 | 
			
		||||
    <text category="letter">ஐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ா</text>
 | 
			
		||||
    <text category="letter">ஆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ீ</text>
 | 
			
		||||
    <text category="letter">ஈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ூ</text>
 | 
			
		||||
    <text category="letter">ஊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">y</text>
 | 
			
		||||
    <text category="letter">Y</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ஹ</text>
 | 
			
		||||
    <text category="letter">ங</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">i</text>
 | 
			
		||||
    <text category="letter">I</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">o</text>
 | 
			
		||||
    <text category="letter">O</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ஜ</text>
 | 
			
		||||
    <text category="letter">P</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">[</text>
 | 
			
		||||
    <text category="letter">{</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">]</text>
 | 
			
		||||
    <text category="letter">ஞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ோ</text>
 | 
			
		||||
    <text category="letter">ஓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ே</text>
 | 
			
		||||
    <text category="letter">ஏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">்</text>
 | 
			
		||||
    <text category="letter">அ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ி</text>
 | 
			
		||||
    <text category="letter">இ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ு</text>
 | 
			
		||||
    <text category="letter">உ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ப</text>
 | 
			
		||||
    <text category="letter">H</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ர</text>
 | 
			
		||||
    <text category="letter">ற</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">க</text>
 | 
			
		||||
    <text category="letter">K</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">த</text>
 | 
			
		||||
    <text category="letter">L</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ச</text>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ெ</text>
 | 
			
		||||
    <text category="letter">எ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">x</text>
 | 
			
		||||
    <text category="letter">X</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ம</text>
 | 
			
		||||
    <text category="letter">ண</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ந</text>
 | 
			
		||||
    <text category="letter">ன</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">வ</text>
 | 
			
		||||
    <text category="letter">ழ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ல</text>
 | 
			
		||||
    <text category="letter">ள</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ஸ</text>
 | 
			
		||||
    <text category="letter">M</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ஷ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ய</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										194
									
								
								data/keyboards/symbols/te-inscript.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								data/keyboards/symbols/te-inscript.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,194 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">ఒ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">౧</text>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">౨</text>
 | 
			
		||||
    <text category="letter">@</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">౩</text>
 | 
			
		||||
    <text category="letter">#</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">౪</text>
 | 
			
		||||
    <text category="letter">$</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">౫</text>
 | 
			
		||||
    <text category="letter">జ్ఞ</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">౬</text>
 | 
			
		||||
    <text category="letter">త్ర</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">౭</text>
 | 
			
		||||
    <text category="letter">క్ష</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">౮</text>
 | 
			
		||||
    <text category="letter">శ్ర</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">౯</text>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">౦</text>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">-</text>
 | 
			
		||||
    <text category="letter">_</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <text category="letter">ృ</text>
 | 
			
		||||
    <text category="letter">ఋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ౌ</text>
 | 
			
		||||
    <text category="letter">ఔ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ై</text>
 | 
			
		||||
    <text category="letter">ఐ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ా</text>
 | 
			
		||||
    <text category="letter">ఆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ీ</text>
 | 
			
		||||
    <text category="letter">ఈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ూ</text>
 | 
			
		||||
    <text category="letter">ఊ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">బ</text>
 | 
			
		||||
    <text category="letter">భ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">హ</text>
 | 
			
		||||
    <text category="letter">ఙ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">గ</text>
 | 
			
		||||
    <text category="letter">ఘ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ద</text>
 | 
			
		||||
    <text category="letter">ధ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">జ</text>
 | 
			
		||||
    <text category="letter">ఝ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">డ</text>
 | 
			
		||||
    <text category="letter">ఢ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
    <text category="letter">ఞ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">ౄ</text>
 | 
			
		||||
    <text category="letter">ౠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ో</text>
 | 
			
		||||
    <text category="letter">ఓ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ే</text>
 | 
			
		||||
    <text category="letter">ఏ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">్</text>
 | 
			
		||||
    <text category="letter">అ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ి</text>
 | 
			
		||||
    <text category="letter">ఇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ు</text>
 | 
			
		||||
    <text category="letter">ఉ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ప</text>
 | 
			
		||||
    <text category="letter">ఫ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ర</text>
 | 
			
		||||
    <text category="letter">ఱ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">క</text>
 | 
			
		||||
    <text category="letter">ఖ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">త</text>
 | 
			
		||||
    <text category="letter">థ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">చ</text>
 | 
			
		||||
    <text category="letter">ఛ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">ఠ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ె</text>
 | 
			
		||||
    <text category="letter">ఎ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ం</text>
 | 
			
		||||
    <text category="letter">ఁ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">మ</text>
 | 
			
		||||
    <text category="letter">ణ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">న</text>
 | 
			
		||||
    <text category="letter">ః</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">వ</text>
 | 
			
		||||
    <text category="letter"></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ల</text>
 | 
			
		||||
    <text category="letter">ళ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">స</text>
 | 
			
		||||
    <text category="letter">శ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
    <text category="letter">ష</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">></text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">య</text>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										192
									
								
								data/keyboards/symbols/th.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								data/keyboards/symbols/th.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,192 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="3557">Thai_lakkhangyao</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="47">slash</keysym>
 | 
			
		||||
    <keysym keyval="3569">Thai_leknung</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <keysym keyval="3570">Thai_leksong</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="3520">Thai_phosamphao</keysym>
 | 
			
		||||
    <keysym keyval="3571">Thai_leksam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="3510">Thai_thothung</keysym>
 | 
			
		||||
    <keysym keyval="3572">Thai_leksi</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="3544">Thai_sarau</keysym>
 | 
			
		||||
    <keysym keyval="3545">Thai_sarauu</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="3542">Thai_saraue</keysym>
 | 
			
		||||
    <keysym keyval="3551">Thai_baht</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="3492">Thai_khokhwai</keysym>
 | 
			
		||||
    <keysym keyval="3573">Thai_lekha</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="3509">Thai_totao</keysym>
 | 
			
		||||
    <keysym keyval="3574">Thai_lekhok</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="3496">Thai_chochan</keysym>
 | 
			
		||||
    <keysym keyval="3575">Thai_lekchet</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="3490">Thai_khokhai</keysym>
 | 
			
		||||
    <keysym keyval="3576">Thai_lekpaet</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="3498">Thai_chochang</keysym>
 | 
			
		||||
    <keysym keyval="3577">Thai_lekkao</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <keysym keyval="3558">Thai_maiyamok</keysym>
 | 
			
		||||
    <keysym keyval="3568">Thai_leksun</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <keysym keyval="3556">Thai_saraaimaimalai</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <keysym keyval="3539">Thai_saraam</keysym>
 | 
			
		||||
    <keysym keyval="3502">Thai_dochada</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <keysym keyval="3518">Thai_phophan</keysym>
 | 
			
		||||
    <keysym keyval="3505">Thai_thonangmontho</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <keysym keyval="3536">Thai_saraa</keysym>
 | 
			
		||||
    <keysym keyval="3512">Thai_thothong</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <keysym keyval="3537">Thai_maihanakat</keysym>
 | 
			
		||||
    <keysym keyval="3565">Thai_nikhahit</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <keysym keyval="3541">Thai_saraii</keysym>
 | 
			
		||||
    <keysym keyval="3562">Thai_maitri</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <keysym keyval="3523">Thai_rorua</keysym>
 | 
			
		||||
    <keysym keyval="3507">Thai_nonen</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <keysym keyval="3513">Thai_nonu</keysym>
 | 
			
		||||
    <keysym keyval="3535">Thai_paiyannoi</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <keysym keyval="3522">Thai_yoyak</keysym>
 | 
			
		||||
    <keysym keyval="3501">Thai_yoying</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <keysym keyval="3514">Thai_bobaimai</keysym>
 | 
			
		||||
    <keysym keyval="3504">Thai_thothan</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <keysym keyval="3525">Thai_loling</keysym>
 | 
			
		||||
    <keysym keyval="44">comma</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="3491">Thai_khokhuat</keysym>
 | 
			
		||||
    <keysym keyval="3493">Thai_khokhon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <keysym keyval="3519">Thai_fofan</keysym>
 | 
			
		||||
    <keysym keyval="3524">Thai_ru</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <keysym keyval="3531">Thai_hohip</keysym>
 | 
			
		||||
    <keysym keyval="3494">Thai_khorakhang</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <keysym keyval="3489">Thai_kokai</keysym>
 | 
			
		||||
    <keysym keyval="3503">Thai_topatak</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <keysym keyval="3508">Thai_dodek</keysym>
 | 
			
		||||
    <keysym keyval="3554">Thai_sarao</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <keysym keyval="3552">Thai_sarae</keysym>
 | 
			
		||||
    <keysym keyval="3500">Thai_chochoe</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <keysym keyval="3561">Thai_maitho</keysym>
 | 
			
		||||
    <keysym keyval="3559">Thai_maitaikhu</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <keysym keyval="3560">Thai_maiek</keysym>
 | 
			
		||||
    <keysym keyval="3563">Thai_maichattawa</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <keysym keyval="3538">Thai_saraaa</keysym>
 | 
			
		||||
    <keysym keyval="3529">Thai_sorusi</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <keysym keyval="3530">Thai_sosua</keysym>
 | 
			
		||||
    <keysym keyval="3528">Thai_sosala</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <keysym keyval="3527">Thai_wowaen</keysym>
 | 
			
		||||
    <keysym keyval="3499">Thai_soso</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="3495">Thai_ngongu</keysym>
 | 
			
		||||
    <keysym keyval="46">period</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <keysym keyval="3516">Thai_phophung</keysym>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <keysym keyval="3515">Thai_popla</keysym>
 | 
			
		||||
    <keysym keyval="41">parenright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <keysym keyval="3553">Thai_saraae</keysym>
 | 
			
		||||
    <keysym keyval="3497">Thai_choching</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <keysym keyval="3533">Thai_oang</keysym>
 | 
			
		||||
    <keysym keyval="3534">Thai_honokhuk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <keysym keyval="3540">Thai_sarai</keysym>
 | 
			
		||||
    <keysym keyval="3546">Thai_phinthu</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <keysym keyval="3543">Thai_sarauee</keysym>
 | 
			
		||||
    <keysym keyval="3564">Thai_thanthakhat</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <keysym keyval="3511">Thai_thothahan</keysym>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <keysym keyval="3521">Thai_moma</keysym>
 | 
			
		||||
    <keysym keyval="3506">Thai_thophuthao</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <keysym keyval="3555">Thai_saraaimaimuan</keysym>
 | 
			
		||||
    <keysym keyval="3532">Thai_lochula</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <keysym keyval="3517">Thai_fofa</keysym>
 | 
			
		||||
    <keysym keyval="3526">Thai_lu</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ua.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ua.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <text category="letter">Ґ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <text category="letter">!</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <text category="letter">"</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <text category="letter">№</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <text category="letter">;</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <text category="letter">%</text>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <text category="letter">:</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <text category="letter">?</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <text category="letter">*</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <text category="letter">(</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <text category="letter">)</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <text category="letter">_</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <text category="letter">+</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">й</text>
 | 
			
		||||
    <text category="letter">Й</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ц</text>
 | 
			
		||||
    <text category="letter">Ц</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">у</text>
 | 
			
		||||
    <text category="letter">У</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">к</text>
 | 
			
		||||
    <text category="letter">К</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">е</text>
 | 
			
		||||
    <text category="letter">Е</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">н</text>
 | 
			
		||||
    <text category="letter">Н</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">г</text>
 | 
			
		||||
    <text category="letter">Г</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ш</text>
 | 
			
		||||
    <text category="letter">Ш</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">щ</text>
 | 
			
		||||
    <text category="letter">Щ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">з</text>
 | 
			
		||||
    <text category="letter">З</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <text category="letter">х</text>
 | 
			
		||||
    <text category="letter">Х</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <text category="letter">ї</text>
 | 
			
		||||
    <text category="letter">Ї</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <text category="letter">\</text>
 | 
			
		||||
    <text category="letter">|</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ф</text>
 | 
			
		||||
    <text category="letter">Ф</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">і</text>
 | 
			
		||||
    <text category="letter">І</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">в</text>
 | 
			
		||||
    <text category="letter">В</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">а</text>
 | 
			
		||||
    <text category="letter">А</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">п</text>
 | 
			
		||||
    <text category="letter">П</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">р</text>
 | 
			
		||||
    <text category="letter">Р</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">о</text>
 | 
			
		||||
    <text category="letter">О</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">л</text>
 | 
			
		||||
    <text category="letter">Л</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">д</text>
 | 
			
		||||
    <text category="letter">Д</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ж</text>
 | 
			
		||||
    <text category="letter">Ж</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <text category="letter">Є</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">я</text>
 | 
			
		||||
    <text category="letter">Я</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ч</text>
 | 
			
		||||
    <text category="letter">Ч</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">с</text>
 | 
			
		||||
    <text category="letter">С</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">м</text>
 | 
			
		||||
    <text category="letter">М</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">и</text>
 | 
			
		||||
    <text category="letter">И</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">т</text>
 | 
			
		||||
    <text category="letter">Т</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ь</text>
 | 
			
		||||
    <text category="letter">Ь</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">б</text>
 | 
			
		||||
    <text category="letter">Б</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ю</text>
 | 
			
		||||
    <text category="letter">Ю</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">.</text>
 | 
			
		||||
    <text category="letter">,</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/ug.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/ug.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <keysym keyval="41">parenright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <text category="letter">—</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">چ</text>
 | 
			
		||||
    <text category="letter">چ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ۋ</text>
 | 
			
		||||
    <text category="letter">ۋ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ې</text>
 | 
			
		||||
    <text category="letter">ې</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ر</text>
 | 
			
		||||
    <text category="letter">ر</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ت</text>
 | 
			
		||||
    <text category="letter">ت</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ي</text>
 | 
			
		||||
    <text category="letter">ي</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ۇ</text>
 | 
			
		||||
    <text category="letter">ۇ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ڭ</text>
 | 
			
		||||
    <text category="letter">ڭ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">و</text>
 | 
			
		||||
    <text category="letter">و</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">پ</text>
 | 
			
		||||
    <text category="letter">پ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <keysym keyval="91">bracketleft</keysym>
 | 
			
		||||
    <text category="letter">«</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <keysym keyval="93">bracketright</keysym>
 | 
			
		||||
    <text category="letter">»</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ھ</text>
 | 
			
		||||
    <text category="letter">ھ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">س</text>
 | 
			
		||||
    <text category="letter">س</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">د</text>
 | 
			
		||||
    <text category="letter">ژ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ا</text>
 | 
			
		||||
    <text category="letter">ف</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ە</text>
 | 
			
		||||
    <text category="letter">گ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ى</text>
 | 
			
		||||
    <text category="letter">خ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ق</text>
 | 
			
		||||
    <text category="letter">ج</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ك</text>
 | 
			
		||||
    <text category="letter">ۆ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ل</text>
 | 
			
		||||
    <text category="letter">ل</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">؛</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ز</text>
 | 
			
		||||
    <text category="letter">ز</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ش</text>
 | 
			
		||||
    <text category="letter">ش</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">غ</text>
 | 
			
		||||
    <text category="letter">غ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ۈ</text>
 | 
			
		||||
    <text category="letter">ۈ</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ب</text>
 | 
			
		||||
    <text category="letter">ب</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ن</text>
 | 
			
		||||
    <text category="letter">ن</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">م</text>
 | 
			
		||||
    <text category="letter">م</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">،</text>
 | 
			
		||||
    <text category="letter">‹</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <keysym keyval="46">period</keysym>
 | 
			
		||||
    <text category="letter">›</text>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ئ</text>
 | 
			
		||||
    <text category="letter">؟</text>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										278
									
								
								data/keyboards/symbols/us.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										278
									
								
								data/keyboards/symbols/us.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,278 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <key keycode="9" name="ESC">
 | 
			
		||||
    <keysym keyval="65307">Escape</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="67" name="FK01">
 | 
			
		||||
    <keysym keyval="65470">F1</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="68" name="FK02">
 | 
			
		||||
    <keysym keyval="65471">F2</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="69" name="FK03">
 | 
			
		||||
    <keysym keyval="65472">F3</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="70" name="FK04">
 | 
			
		||||
    <keysym keyval="65473">F4</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="71" name="FK05">
 | 
			
		||||
    <keysym keyval="65474">F5</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="72" name="FK06">
 | 
			
		||||
    <keysym keyval="65475">F6</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="73" name="FK07">
 | 
			
		||||
    <keysym keyval="65476">F7</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="74" name="FK08">
 | 
			
		||||
    <keysym keyval="65477">F8</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="75" name="FK09">
 | 
			
		||||
    <keysym keyval="65478">F9</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="76" name="FK10">
 | 
			
		||||
    <keysym keyval="65479">F10</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="95" name="FK11">
 | 
			
		||||
    <keysym keyval="65480">F11</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="96" name="FK12">
 | 
			
		||||
    <keysym keyval="65481">F12</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <keysym keyval="49">1</keysym>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <keysym keyval="50">2</keysym>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <keysym keyval="51">3</keysym>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <keysym keyval="52">4</keysym>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <keysym keyval="53">5</keysym>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <keysym keyval="54">6</keysym>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <keysym keyval="55">7</keysym>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <keysym keyval="56">8</keysym>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <keysym keyval="57">9</keysym>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <keysym keyval="48">0</keysym>
 | 
			
		||||
    <keysym keyval="41">parenright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <keysym keyval="45">minus</keysym>
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="22" name="BKSP">
 | 
			
		||||
    <keysym keyval="65288">BackSpace</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="23" name="TAB">
 | 
			
		||||
    <keysym keyval="65289">Tab</keysym>
 | 
			
		||||
    <keysym keyval="65056">ISO_Left_Tab</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <keysym keyval="113">q</keysym>
 | 
			
		||||
    <keysym keyval="81">Q</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <keysym keyval="119">w</keysym>
 | 
			
		||||
    <keysym keyval="87">W</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <keysym keyval="101">e</keysym>
 | 
			
		||||
    <keysym keyval="69">E</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <keysym keyval="114">r</keysym>
 | 
			
		||||
    <keysym keyval="82">R</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <keysym keyval="116">t</keysym>
 | 
			
		||||
    <keysym keyval="84">T</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <keysym keyval="121">y</keysym>
 | 
			
		||||
    <keysym keyval="89">Y</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <keysym keyval="117">u</keysym>
 | 
			
		||||
    <keysym keyval="85">U</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <keysym keyval="105">i</keysym>
 | 
			
		||||
    <keysym keyval="73">I</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <keysym keyval="111">o</keysym>
 | 
			
		||||
    <keysym keyval="79">O</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <keysym keyval="112">p</keysym>
 | 
			
		||||
    <keysym keyval="80">P</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <keysym keyval="91">bracketleft</keysym>
 | 
			
		||||
    <keysym keyval="123">braceleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <keysym keyval="93">bracketright</keysym>
 | 
			
		||||
    <keysym keyval="125">braceright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="66" name="CAPS">
 | 
			
		||||
    <keysym keyval="65027">ISO_Level3_Shift</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <keysym keyval="97">a</keysym>
 | 
			
		||||
    <keysym keyval="65">A</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <keysym keyval="115">s</keysym>
 | 
			
		||||
    <keysym keyval="83">S</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <keysym keyval="100">d</keysym>
 | 
			
		||||
    <keysym keyval="68">D</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <keysym keyval="102">f</keysym>
 | 
			
		||||
    <keysym keyval="70">F</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <keysym keyval="103">g</keysym>
 | 
			
		||||
    <keysym keyval="71">G</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <keysym keyval="104">h</keysym>
 | 
			
		||||
    <keysym keyval="72">H</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <keysym keyval="106">j</keysym>
 | 
			
		||||
    <keysym keyval="74">J</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <keysym keyval="107">k</keysym>
 | 
			
		||||
    <keysym keyval="75">K</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <keysym keyval="108">l</keysym>
 | 
			
		||||
    <keysym keyval="76">L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <keysym keyval="59">semicolon</keysym>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="36" name="RTRN">
 | 
			
		||||
    <keysym keyval="65293">Return</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="50" name="LFSH">
 | 
			
		||||
    <keysym keyval="65505">Shift_L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <keysym keyval="122">z</keysym>
 | 
			
		||||
    <keysym keyval="90">Z</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <keysym keyval="120">x</keysym>
 | 
			
		||||
    <keysym keyval="88">X</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <keysym keyval="99">c</keysym>
 | 
			
		||||
    <keysym keyval="67">C</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <keysym keyval="118">v</keysym>
 | 
			
		||||
    <keysym keyval="86">V</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <keysym keyval="98">b</keysym>
 | 
			
		||||
    <keysym keyval="66">B</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <keysym keyval="110">n</keysym>
 | 
			
		||||
    <keysym keyval="78">N</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <keysym keyval="109">m</keysym>
 | 
			
		||||
    <keysym keyval="77">M</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <keysym keyval="44">comma</keysym>
 | 
			
		||||
    <keysym keyval="60">less</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <keysym keyval="46">period</keysym>
 | 
			
		||||
    <keysym keyval="62">greater</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <keysym keyval="47">slash</keysym>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="62" name="RTSH">
 | 
			
		||||
    <keysym keyval="65506">Shift_R</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="149" name="I149">
 | 
			
		||||
    <symbol label="⌨" icon="input-keyboard-symbolic" tooltip="Change keyboard">cycle-keyboard</symbol>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="150" name="I150">
 | 
			
		||||
    <symbol label="☺" icon="preferences-system-symbolic" tooltip="Setup">preferences</symbol>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="37" name="LCTL">
 | 
			
		||||
    <keysym keyval="65507">Control_L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="64" name="LALT">
 | 
			
		||||
    <keysym keyval="65513">Alt_L</keysym>
 | 
			
		||||
    <keysym keyval="65511">Meta_L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="65" name="SPCE">
 | 
			
		||||
    <keysym keyval="32">space</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="113" name="LEFT">
 | 
			
		||||
    <keysym keyval="65361">Left</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="111" name="UP">
 | 
			
		||||
    <keysym keyval="65362">Up</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="116" name="DOWN">
 | 
			
		||||
    <keysym keyval="65364">Down</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="114" name="RGHT">
 | 
			
		||||
    <keysym keyval="65363">Right</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										193
									
								
								data/keyboards/symbols/zh-bopomofo.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								data/keyboards/symbols/zh-bopomofo.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,193 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<symbols version="0.90">
 | 
			
		||||
  <include>us</include>
 | 
			
		||||
  <key keycode="49" name="TLDE">
 | 
			
		||||
    <keysym keyval="96">quoteleft</keysym>
 | 
			
		||||
    <keysym keyval="126">asciitilde</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="10" name="AE01">
 | 
			
		||||
    <text category="letter">ㄅ</text>
 | 
			
		||||
    <keysym keyval="33">exclam</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="11" name="AE02">
 | 
			
		||||
    <text category="letter">ㄉ</text>
 | 
			
		||||
    <keysym keyval="64">at</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="12" name="AE03">
 | 
			
		||||
    <text category="letter">ˇ</text>
 | 
			
		||||
    <keysym keyval="35">numbersign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="13" name="AE04">
 | 
			
		||||
    <text category="letter">ˋ</text>
 | 
			
		||||
    <keysym keyval="36">dollar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="14" name="AE05">
 | 
			
		||||
    <text category="letter">ㄓ</text>
 | 
			
		||||
    <keysym keyval="37">percent</keysym>
 | 
			
		||||
    <keysym keyval="8364">EuroSign</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="15" name="AE06">
 | 
			
		||||
    <text category="letter">ˊ</text>
 | 
			
		||||
    <keysym keyval="94">asciicircum</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="16" name="AE07">
 | 
			
		||||
    <text category="letter">˙</text>
 | 
			
		||||
    <keysym keyval="38">ampersand</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="17" name="AE08">
 | 
			
		||||
    <text category="letter">ㄚ</text>
 | 
			
		||||
    <keysym keyval="42">asterisk</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="18" name="AE09">
 | 
			
		||||
    <text category="letter">ㄞ</text>
 | 
			
		||||
    <keysym keyval="40">parenleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="19" name="AE10">
 | 
			
		||||
    <text category="letter">ㄢ</text>
 | 
			
		||||
    <keysym keyval="41">parenright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="20" name="AE11">
 | 
			
		||||
    <text category="letter">ㄦ</text>
 | 
			
		||||
    <keysym keyval="95">underscore</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="21" name="AE12">
 | 
			
		||||
    <keysym keyval="61">equal</keysym>
 | 
			
		||||
    <keysym keyval="43">plus</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="24" name="AD01">
 | 
			
		||||
    <text category="letter">ㄆ</text>
 | 
			
		||||
    <keysym keyval="81">Q</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="25" name="AD02">
 | 
			
		||||
    <text category="letter">ㄊ</text>
 | 
			
		||||
    <keysym keyval="87">W</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="26" name="AD03">
 | 
			
		||||
    <text category="letter">ㄍ</text>
 | 
			
		||||
    <keysym keyval="69">E</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="27" name="AD04">
 | 
			
		||||
    <text category="letter">ㄐ</text>
 | 
			
		||||
    <keysym keyval="82">R</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="28" name="AD05">
 | 
			
		||||
    <text category="letter">ㄔ</text>
 | 
			
		||||
    <keysym keyval="84">T</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="29" name="AD06">
 | 
			
		||||
    <text category="letter">ㄗ</text>
 | 
			
		||||
    <keysym keyval="89">Y</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="30" name="AD07">
 | 
			
		||||
    <text category="letter">ㄧ</text>
 | 
			
		||||
    <keysym keyval="85">U</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="31" name="AD08">
 | 
			
		||||
    <text category="letter">ㄛ</text>
 | 
			
		||||
    <keysym keyval="73">I</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="32" name="AD09">
 | 
			
		||||
    <text category="letter">ㄟ</text>
 | 
			
		||||
    <keysym keyval="79">O</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="33" name="AD10">
 | 
			
		||||
    <text category="letter">ㄣ</text>
 | 
			
		||||
    <keysym keyval="80">P</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="34" name="AD11">
 | 
			
		||||
    <keysym keyval="91">bracketleft</keysym>
 | 
			
		||||
    <keysym keyval="123">braceleft</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="35" name="AD12">
 | 
			
		||||
    <keysym keyval="93">bracketright</keysym>
 | 
			
		||||
    <keysym keyval="125">braceright</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="51" name="BKSL">
 | 
			
		||||
    <keysym keyval="92">backslash</keysym>
 | 
			
		||||
    <keysym keyval="124">bar</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="38" name="AC01">
 | 
			
		||||
    <text category="letter">ㄇ</text>
 | 
			
		||||
    <keysym keyval="65">A</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="39" name="AC02">
 | 
			
		||||
    <text category="letter">ㄋ</text>
 | 
			
		||||
    <keysym keyval="83">S</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="40" name="AC03">
 | 
			
		||||
    <text category="letter">ㄎ</text>
 | 
			
		||||
    <keysym keyval="68">D</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="41" name="AC04">
 | 
			
		||||
    <text category="letter">ㄑ</text>
 | 
			
		||||
    <keysym keyval="70">F</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="42" name="AC05">
 | 
			
		||||
    <text category="letter">ㄕ</text>
 | 
			
		||||
    <keysym keyval="71">G</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="43" name="AC06">
 | 
			
		||||
    <text category="letter">ㄘ</text>
 | 
			
		||||
    <keysym keyval="72">H</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="44" name="AC07">
 | 
			
		||||
    <text category="letter">ㄨ</text>
 | 
			
		||||
    <keysym keyval="74">J</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="45" name="AC08">
 | 
			
		||||
    <text category="letter">ㄜ</text>
 | 
			
		||||
    <keysym keyval="75">K</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="46" name="AC09">
 | 
			
		||||
    <text category="letter">ㄠ</text>
 | 
			
		||||
    <keysym keyval="76">L</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="47" name="AC10">
 | 
			
		||||
    <text category="letter">ㄤ</text>
 | 
			
		||||
    <keysym keyval="58">colon</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="48" name="AC11">
 | 
			
		||||
    <keysym keyval="39">quoteright</keysym>
 | 
			
		||||
    <keysym keyval="34">quotedbl</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="52" name="AB01">
 | 
			
		||||
    <text category="letter">ㄈ</text>
 | 
			
		||||
    <keysym keyval="90">Z</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="53" name="AB02">
 | 
			
		||||
    <text category="letter">ㄌ</text>
 | 
			
		||||
    <keysym keyval="88">X</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="54" name="AB03">
 | 
			
		||||
    <text category="letter">ㄏ</text>
 | 
			
		||||
    <keysym keyval="67">C</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="55" name="AB04">
 | 
			
		||||
    <text category="letter">ㄒ</text>
 | 
			
		||||
    <keysym keyval="86">V</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="56" name="AB05">
 | 
			
		||||
    <text category="letter">ㄖ</text>
 | 
			
		||||
    <keysym keyval="66">B</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="57" name="AB06">
 | 
			
		||||
    <text category="letter">ㄙ</text>
 | 
			
		||||
    <keysym keyval="78">N</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="58" name="AB07">
 | 
			
		||||
    <text category="letter">ㄩ</text>
 | 
			
		||||
    <keysym keyval="77">M</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="59" name="AB08">
 | 
			
		||||
    <text category="letter">ㄝ</text>
 | 
			
		||||
    <keysym keyval="60">less</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="60" name="AB09">
 | 
			
		||||
    <text category="letter">ㄡ</text>
 | 
			
		||||
    <keysym keyval="62">greater</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
  <key keycode="61" name="AB10">
 | 
			
		||||
    <text category="letter">ㄥ</text>
 | 
			
		||||
    <keysym keyval="63">question</keysym>
 | 
			
		||||
  </key>
 | 
			
		||||
</symbols>
 | 
			
		||||
							
								
								
									
										60
									
								
								data/org.fedorahosted.eekboard.gschema.xml.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								data/org.fedorahosted.eekboard.gschema.xml.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,60 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<schemalist>
 | 
			
		||||
  <schema id="org.fedorahosted.eekboard" path="/org/fedorahosted/eekboard/">
 | 
			
		||||
    <key name="keyboards" type="as">
 | 
			
		||||
      <default>['us']</default>
 | 
			
		||||
      <summary>Keyboard types</summary>
 | 
			
		||||
      <description>keyboard types.</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="size-constraint-landscape" type="(dd)">
 | 
			
		||||
      <default>(1.0, 0.3)</default>
 | 
			
		||||
      <summary>Constraint of the maximum window size on landscape screen</summary>
 | 
			
		||||
      <description>Constraint of maximum window size on landscape screen</description>
 | 
			
		||||
    </key>
 | 
			
		||||
    <key name="size-constraint-portrait" type="(dd)">
 | 
			
		||||
      <default>(1.0, 0.5)</default>
 | 
			
		||||
      <summary>Constraint of the maximum window size on portrait screen</summary>
 | 
			
		||||
      <description>Constraint of maximum window size on portrait screen</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>
 | 
			
		||||
							
								
								
									
										4
									
								
								data/themes/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/themes/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
themedir = $(pkgdatadir)/themes
 | 
			
		||||
dist_theme_DATA = default.css
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
							
								
								
									
										22
									
								
								data/themes/default.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								data/themes/default.css
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
.keyboard {
 | 
			
		||||
    background-color: rgba(0, 0, 0, 255);
 | 
			
		||||
    color: #ffffff;
 | 
			
		||||
    font-family: cantarell, sans-serif;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.key {
 | 
			
		||||
    color: #ffffff;
 | 
			
		||||
    background-gradient-direction: vertical;
 | 
			
		||||
    background-gradient-start: rgba(0, 0, 0, 255);
 | 
			
		||||
    background-gradient-end: rgba(64, 64, 64, 255);
 | 
			
		||||
    border-width: 2px;
 | 
			
		||||
    border-color: rgba(128, 128, 128, 255);
 | 
			
		||||
    border-radius: 3px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.key:active {
 | 
			
		||||
    background-gradient-direction: vertical;
 | 
			
		||||
    background-gradient-start: rgba(0, 0, 255, 255);
 | 
			
		||||
    background-gradient-end: rgba(64, 64, 255, 255);
 | 
			
		||||
    border-color: rgba(160, 160, 255, 255);
 | 
			
		||||
}
 | 
			
		||||
@ -17,3 +17,5 @@
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
SUBDIRS = reference
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -17,3 +17,5 @@
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
SUBDIRS = eek eekboard
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -47,7 +47,7 @@ SCANGOBJ_OPTIONS=
 | 
			
		||||
 | 
			
		||||
# Extra options to supply to gtkdoc-scan.
 | 
			
		||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
 | 
			
		||||
SCAN_OPTIONS=
 | 
			
		||||
SCAN_OPTIONS=--rebuild-types --deprecated-guards="EEK_DISABLE_DEPRECATED"
 | 
			
		||||
 | 
			
		||||
# Extra options to supply to gtkdoc-mkdb.
 | 
			
		||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
 | 
			
		||||
@ -76,7 +76,13 @@ EXTRA_HFILES=
 | 
			
		||||
 | 
			
		||||
# Header files to ignore when scanning. Use base file name, no paths
 | 
			
		||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
 | 
			
		||||
IGNORE_HFILES=config.h
 | 
			
		||||
IGNORE_HFILES = \
 | 
			
		||||
	config.h \
 | 
			
		||||
	eek-renderer.h \
 | 
			
		||||
	eek-gtk-renderer.h \
 | 
			
		||||
	eek-theme.h \
 | 
			
		||||
	eek-theme-node.h \
 | 
			
		||||
	eek-enumtypes.h
 | 
			
		||||
 | 
			
		||||
# Images to copy into HTML directory.
 | 
			
		||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 | 
			
		||||
@ -97,16 +103,12 @@ expand_content_files=eek-overview.xml
 | 
			
		||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 | 
			
		||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
 | 
			
		||||
GTKDOC_CFLAGS = $(GIO2_CFLAGS)
 | 
			
		||||
GTKDOC_LIBS = $(top_srcdir)/eek/libeek.la \
 | 
			
		||||
	$(top_srcdir)/eek/libeek-gtk.la \
 | 
			
		||||
	$(top_srcdir)/eek/libeek-xkb.la \
 | 
			
		||||
	$(top_srcdir)/eek/libeek-xkl.la \
 | 
			
		||||
GTKDOC_LIBS = $(top_builddir)/eek/libeek.la \
 | 
			
		||||
	$(top_builddir)/eek/libeek-gtk.la \
 | 
			
		||||
	$(top_builddir)/eek/libeek-xkl.la \
 | 
			
		||||
	$(GIO2_LIBS) \
 | 
			
		||||
	$(XKB_LIBS)
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
GTKDOC_LIBS += $(top_srcdir)/eek/libeek-clutter.la $(CLUTTER_LIBS)
 | 
			
		||||
endif
 | 
			
		||||
	$(GTK_LIBS) \
 | 
			
		||||
	$(LIBXKLAVIER_LIBS)
 | 
			
		||||
 | 
			
		||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
 | 
			
		||||
include $(top_srcdir)/gtk-doc.make
 | 
			
		||||
@ -127,3 +129,5 @@ if ENABLE_GTK_DOC
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/gtk-doc.mk
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -37,23 +37,27 @@
 | 
			
		||||
    <title>API Manual</title>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>Base Classes, Interfaces, and Utilities</title>
 | 
			
		||||
      <xi:include href="xml/eek.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-serializable.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-element.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-container.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-keyboard.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-section.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-key.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-symbol.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-keysym.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-text.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-layout.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-types.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-keysym.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>Clutter Keyboard</title>
 | 
			
		||||
      <xi:include href="xml/eek-clutter-keyboard.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>GTK Keyboard</title>
 | 
			
		||||
      <title>GTK Adapter</title>
 | 
			
		||||
      <xi:include href="xml/eek-gtk-keyboard.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>Clutter Adapter</title>
 | 
			
		||||
      <xi:include href="xml/eek-clutter-keyboard.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>Libxklavier Layout Engine</title>
 | 
			
		||||
      <xi:include href="xml/eek-xkl-layout.xml"/>
 | 
			
		||||
@ -62,6 +66,11 @@
 | 
			
		||||
      <title>XKB Layout Engine</title>
 | 
			
		||||
      <xi:include href="xml/eek-xkb-layout.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>XML Layout Engine</title>
 | 
			
		||||
      <xi:include href="xml/eek-xml-layout.xml"/>
 | 
			
		||||
      <xi:include href="xml/eek-xml.xml"/>
 | 
			
		||||
    </chapter>
 | 
			
		||||
    <chapter id="object-tree">
 | 
			
		||||
      <title>Object Hierarchy</title>
 | 
			
		||||
      <xi:include href="xml/tree_index.sgml"/>
 | 
			
		||||
 | 
			
		||||
@ -43,19 +43,14 @@ clutter_group_add (CLUTTER_GROUP(stage), actor);
 | 
			
		||||
      </programlisting>
 | 
			
		||||
    </informalexample>
 | 
			
		||||
 | 
			
		||||
    <para>The most interesting feature of libeek is that developer can
 | 
			
		||||
    choose arbitrary combination of UI toolkits and layout engine
 | 
			
		||||
    supported by libeek.  For example, to create a keyboard-like
 | 
			
		||||
    #GtkWidget instead of #ClutterActor, all you need is to replace
 | 
			
		||||
    eek_clutter_keyboard_new() with eek_gtk_keyboard_new() and
 | 
			
		||||
    eek_clutter_keyboard_get_actor() with
 | 
			
		||||
    eek_gtk_keyboard_get_widget().  Similarly, if you want to use XKB
 | 
			
		||||
    configuration directly (without libxklavier), you will only need to
 | 
			
		||||
    replace eek_xkl_layout_new () with eek_xkb_layout_new().</para>
 | 
			
		||||
    <para>libeek currently supports GTK+ and Clutter as UI toolkits.
 | 
			
		||||
    To create a keyboard-like #GtkWidget instead of #ClutterActor,
 | 
			
		||||
    replace eek_clutter_keyboard_new() with eek_gtk_keyboard_new().
 | 
			
		||||
    Similarly, if you want to use XKB configuration directly (without
 | 
			
		||||
    libxklavier), you will only need to replace eek_xkl_layout_new ()
 | 
			
		||||
    with eek_xkb_layout_new().</para>
 | 
			
		||||
 | 
			
		||||
    <para>To achieve portability across different UI toolkits,
 | 
			
		||||
    there is a seperate represention of keyboard elements apart from
 | 
			
		||||
    the actual UI widgets.  For example, a keyboard is represented as a tree of
 | 
			
		||||
    <para>In the above example, a keyboard is represented as a tree of
 | 
			
		||||
    #EekElement -- #EekKeyboard contains one or more #EekSection's and
 | 
			
		||||
    #EekSection contains one or more #EekKey's.  Each element may emit
 | 
			
		||||
    events when user pushes the corresponding UI widget.</para>
 | 
			
		||||
 | 
			
		||||
@ -1,101 +1,28 @@
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-keyboard</FILE>
 | 
			
		||||
<TITLE>EekKeyboard</TITLE>
 | 
			
		||||
EekKeyboardClass
 | 
			
		||||
EekKeyboard
 | 
			
		||||
eek_keyboard_new
 | 
			
		||||
eek_keyboard_get_layout
 | 
			
		||||
eek_keyboard_set_symbol_index
 | 
			
		||||
eek_keyboard_get_symbol_index
 | 
			
		||||
eek_keyboard_get_group
 | 
			
		||||
eek_keyboard_get_level
 | 
			
		||||
eek_keyboard_set_group
 | 
			
		||||
eek_keyboard_set_level
 | 
			
		||||
eek_keyboard_get_size
 | 
			
		||||
eek_keyboard_get_modifier_behavior
 | 
			
		||||
eek_keyboard_set_modifier_behavior
 | 
			
		||||
eek_keyboard_get_modifiers
 | 
			
		||||
eek_keyboard_create_section
 | 
			
		||||
eek_keyboard_find_key_by_keycode
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_KEYBOARD
 | 
			
		||||
EEK_IS_KEYBOARD
 | 
			
		||||
EEK_TYPE_KEYBOARD
 | 
			
		||||
eek_keyboard_get_type
 | 
			
		||||
EEK_KEYBOARD_CLASS
 | 
			
		||||
EEK_IS_KEYBOARD_CLASS
 | 
			
		||||
EEK_KEYBOARD_GET_CLASS
 | 
			
		||||
<FILE>eek</FILE>
 | 
			
		||||
eek_init
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-layout</FILE>
 | 
			
		||||
<TITLE>EekLayout</TITLE>
 | 
			
		||||
EekLayoutClass
 | 
			
		||||
EekLayout
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_LAYOUT
 | 
			
		||||
EEK_IS_LAYOUT
 | 
			
		||||
EEK_TYPE_LAYOUT
 | 
			
		||||
eek_layout_get_type
 | 
			
		||||
EEK_LAYOUT_CLASS
 | 
			
		||||
EEK_LAYOUT_GET_CLASS
 | 
			
		||||
<FILE>eek-clutter</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-gtk-keyboard</FILE>
 | 
			
		||||
<TITLE>EekGtkKeyboard</TITLE>
 | 
			
		||||
EekGtkKeyboard
 | 
			
		||||
EekGtkKeyboardClass
 | 
			
		||||
eek_gtk_keyboard_new
 | 
			
		||||
<FILE>eek-clutter-key</FILE>
 | 
			
		||||
<TITLE>EekClutterKey</TITLE>
 | 
			
		||||
EekClutterKey
 | 
			
		||||
EekClutterKeyClass
 | 
			
		||||
eek_clutter_key_new
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_GTK_KEYBOARD
 | 
			
		||||
EEK_IS_GTK_KEYBOARD
 | 
			
		||||
EEK_TYPE_GTK_KEYBOARD
 | 
			
		||||
eek_gtk_keyboard_get_type
 | 
			
		||||
EEK_GTK_KEYBOARD_CLASS
 | 
			
		||||
EEK_IS_GTK_KEYBOARD_CLASS
 | 
			
		||||
EEK_GTK_KEYBOARD_GET_CLASS
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-section</FILE>
 | 
			
		||||
<TITLE>EekSection</TITLE>
 | 
			
		||||
EekSectionClass
 | 
			
		||||
EekSection
 | 
			
		||||
eek_section_set_angle
 | 
			
		||||
eek_section_get_angle
 | 
			
		||||
eek_section_get_n_rows
 | 
			
		||||
eek_section_add_row
 | 
			
		||||
eek_section_get_row
 | 
			
		||||
eek_section_create_key
 | 
			
		||||
eek_section_find_key_by_keycode
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_SECTION
 | 
			
		||||
EEK_IS_SECTION
 | 
			
		||||
EEK_TYPE_SECTION
 | 
			
		||||
eek_section_get_type
 | 
			
		||||
EEK_SECTION_CLASS
 | 
			
		||||
EEK_IS_SECTION_CLASS
 | 
			
		||||
EEK_SECTION_GET_CLASS
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-container</FILE>
 | 
			
		||||
<TITLE>EekContainer</TITLE>
 | 
			
		||||
EekContainerClass
 | 
			
		||||
EekCallback
 | 
			
		||||
EekCompareFunc
 | 
			
		||||
EekContainer
 | 
			
		||||
eek_container_foreach_child
 | 
			
		||||
eek_container_find
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_CONTAINER
 | 
			
		||||
EEK_IS_CONTAINER
 | 
			
		||||
EEK_TYPE_CONTAINER
 | 
			
		||||
eek_container_get_type
 | 
			
		||||
EEK_CONTAINER_CLASS
 | 
			
		||||
EEK_IS_CONTAINER_CLASS
 | 
			
		||||
EEK_CONTAINER_GET_CLASS
 | 
			
		||||
EEK_CLUTTER_KEY
 | 
			
		||||
EEK_CLUTTER_KEY_CLASS
 | 
			
		||||
EEK_CLUTTER_KEY_GET_CLASS
 | 
			
		||||
EEK_IS_CLUTTER_KEY
 | 
			
		||||
EEK_IS_CLUTTER_KEY_CLASS
 | 
			
		||||
EEK_TYPE_CLUTTER_KEY
 | 
			
		||||
EekClutterKeyPrivate
 | 
			
		||||
eek_clutter_key_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
@ -104,59 +31,424 @@ EEK_CONTAINER_GET_CLASS
 | 
			
		||||
EekClutterKeyboard
 | 
			
		||||
EekClutterKeyboardClass
 | 
			
		||||
eek_clutter_keyboard_new
 | 
			
		||||
eek_clutter_keyboard_set_theme
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_CLUTTER_KEYBOARD
 | 
			
		||||
EEK_IS_CLUTTER_KEYBOARD
 | 
			
		||||
EEK_TYPE_CLUTTER_KEYBOARD
 | 
			
		||||
eek_clutter_keyboard_get_type
 | 
			
		||||
EEK_CLUTTER_KEYBOARD_CLASS
 | 
			
		||||
EEK_IS_CLUTTER_KEYBOARD_CLASS
 | 
			
		||||
EEK_CLUTTER_KEYBOARD_GET_CLASS
 | 
			
		||||
EEK_IS_CLUTTER_KEYBOARD
 | 
			
		||||
EEK_IS_CLUTTER_KEYBOARD_CLASS
 | 
			
		||||
EEK_TYPE_CLUTTER_KEYBOARD
 | 
			
		||||
EekClutterKeyboardPrivate
 | 
			
		||||
eek_clutter_keyboard_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xkl-layout</FILE>
 | 
			
		||||
<TITLE>EekXklLayout</TITLE>
 | 
			
		||||
EekXklLayout
 | 
			
		||||
EekXklLayoutClass
 | 
			
		||||
eek_xkl_layout_new
 | 
			
		||||
eek_xkl_layout_set_config
 | 
			
		||||
eek_xkl_layout_set_config_full
 | 
			
		||||
eek_xkl_layout_set_model
 | 
			
		||||
eek_xkl_layout_set_layouts
 | 
			
		||||
eek_xkl_layout_set_variants
 | 
			
		||||
eek_xkl_layout_set_options
 | 
			
		||||
eek_xkl_layout_get_model
 | 
			
		||||
eek_xkl_layout_get_layouts
 | 
			
		||||
eek_xkl_layout_get_variants
 | 
			
		||||
eek_xkl_layout_get_options
 | 
			
		||||
eek_xkl_layout_disable_option
 | 
			
		||||
eek_xkl_layout_enable_option
 | 
			
		||||
eek_xkl_layout_get_option
 | 
			
		||||
<FILE>eek-clutter-renderer</FILE>
 | 
			
		||||
<TITLE>EekClutterRenderer</TITLE>
 | 
			
		||||
EekClutterRenderer
 | 
			
		||||
EekClutterRendererClass
 | 
			
		||||
eek_clutter_renderer_new
 | 
			
		||||
eek_clutter_renderer_render_key
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_XKL_LAYOUT
 | 
			
		||||
EEK_IS_XKL_LAYOUT
 | 
			
		||||
EEK_TYPE_XKL_LAYOUT
 | 
			
		||||
eek_xkl_layout_get_type
 | 
			
		||||
EEK_XKL_LAYOUT_CLASS
 | 
			
		||||
EEK_IS_XKL_LAYOUT_CLASS
 | 
			
		||||
EEK_XKL_LAYOUT_GET_CLASS
 | 
			
		||||
EEK_CLUTTER_RENDERER
 | 
			
		||||
EEK_CLUTTER_RENDERER_CLASS
 | 
			
		||||
EEK_CLUTTER_RENDERER_GET_CLASS
 | 
			
		||||
EEK_IS_CLUTTER_RENDERER
 | 
			
		||||
EEK_IS_CLUTTER_RENDERER_CLASS
 | 
			
		||||
EEK_TYPE_CLUTTER_RENDERER
 | 
			
		||||
EekClutterRendererPrivate
 | 
			
		||||
eek_clutter_renderer_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xml-layout</FILE>
 | 
			
		||||
<TITLE>EekXmlLayout</TITLE>
 | 
			
		||||
eek_xml_layout_get_source
 | 
			
		||||
eek_xml_layout_new
 | 
			
		||||
eek_xml_layout_set_source
 | 
			
		||||
<FILE>eek-clutter-section</FILE>
 | 
			
		||||
<TITLE>EekClutterSection</TITLE>
 | 
			
		||||
EekClutterSection
 | 
			
		||||
EekClutterSectionClass
 | 
			
		||||
eek_clutter_section_new
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_XML_LAYOUT
 | 
			
		||||
EEK_IS_XML_LAYOUT
 | 
			
		||||
EEK_TYPE_XML_LAYOUT
 | 
			
		||||
eek_xml_layout_get_type
 | 
			
		||||
EEK_XML_LAYOUT_CLASS
 | 
			
		||||
EEK_IS_XML_LAYOUT_CLASS
 | 
			
		||||
EEK_XML_LAYOUT_GET_CLASS
 | 
			
		||||
EEK_CLUTTER_SECTION
 | 
			
		||||
EEK_CLUTTER_SECTION_CLASS
 | 
			
		||||
EEK_CLUTTER_SECTION_GET_CLASS
 | 
			
		||||
EEK_IS_CLUTTER_SECTION
 | 
			
		||||
EEK_IS_CLUTTER_SECTION_CLASS
 | 
			
		||||
EEK_TYPE_CLUTTER_SECTION
 | 
			
		||||
EekClutterSectionPrivate
 | 
			
		||||
eek_clutter_section_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-container</FILE>
 | 
			
		||||
<TITLE>EekContainer</TITLE>
 | 
			
		||||
EekCallback
 | 
			
		||||
EekCompareFunc
 | 
			
		||||
EekContainer
 | 
			
		||||
EekContainerClass
 | 
			
		||||
eek_container_add_child
 | 
			
		||||
eek_container_find
 | 
			
		||||
eek_container_foreach_child
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_CONTAINER
 | 
			
		||||
EEK_CONTAINER_CLASS
 | 
			
		||||
EEK_CONTAINER_GET_CLASS
 | 
			
		||||
EEK_IS_CONTAINER
 | 
			
		||||
EEK_IS_CONTAINER_CLASS
 | 
			
		||||
EEK_TYPE_CONTAINER
 | 
			
		||||
EekContainerPrivate
 | 
			
		||||
eek_container_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-element</FILE>
 | 
			
		||||
<TITLE>EekElement</TITLE>
 | 
			
		||||
EekElement
 | 
			
		||||
EekElementClass
 | 
			
		||||
eek_element_get_absolute_position
 | 
			
		||||
eek_element_get_bounds
 | 
			
		||||
eek_element_get_group
 | 
			
		||||
eek_element_get_level
 | 
			
		||||
eek_element_get_name
 | 
			
		||||
eek_element_get_parent
 | 
			
		||||
eek_element_get_symbol_index
 | 
			
		||||
eek_element_set_bounds
 | 
			
		||||
eek_element_set_group
 | 
			
		||||
eek_element_set_level
 | 
			
		||||
eek_element_set_name
 | 
			
		||||
eek_element_set_parent
 | 
			
		||||
eek_element_set_position
 | 
			
		||||
eek_element_set_size
 | 
			
		||||
eek_element_set_symbol_index
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_ELEMENT
 | 
			
		||||
EEK_ELEMENT_CLASS
 | 
			
		||||
EEK_ELEMENT_GET_CLASS
 | 
			
		||||
EEK_IS_ELEMENT
 | 
			
		||||
EEK_IS_ELEMENT_CLASS
 | 
			
		||||
EEK_TYPE_ELEMENT
 | 
			
		||||
EekElementPrivate
 | 
			
		||||
eek_element_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-gtk</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-gtk-keyboard</FILE>
 | 
			
		||||
<TITLE>EekGtkKeyboard</TITLE>
 | 
			
		||||
EekGtkKeyboard
 | 
			
		||||
EekGtkKeyboardClass
 | 
			
		||||
eek_gtk_keyboard_new
 | 
			
		||||
eek_gtk_keyboard_set_theme
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_GTK_KEYBOARD
 | 
			
		||||
EEK_GTK_KEYBOARD_CLASS
 | 
			
		||||
EEK_GTK_KEYBOARD_GET_CLASS
 | 
			
		||||
EEK_IS_GTK_KEYBOARD
 | 
			
		||||
EEK_IS_GTK_KEYBOARD_CLASS
 | 
			
		||||
EEK_TYPE_GTK_KEYBOARD
 | 
			
		||||
EekGtkKeyboardPrivate
 | 
			
		||||
eek_gtk_keyboard_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-key</FILE>
 | 
			
		||||
<TITLE>EekKey</TITLE>
 | 
			
		||||
EekKey
 | 
			
		||||
EekKeyClass
 | 
			
		||||
eek_key_get_index
 | 
			
		||||
eek_key_get_keycode
 | 
			
		||||
eek_key_get_oref
 | 
			
		||||
eek_key_get_symbol
 | 
			
		||||
eek_key_get_symbol_at_index
 | 
			
		||||
eek_key_get_symbol_matrix
 | 
			
		||||
eek_key_get_symbol_with_fallback
 | 
			
		||||
eek_key_is_locked
 | 
			
		||||
eek_key_is_pressed
 | 
			
		||||
eek_key_set_index
 | 
			
		||||
eek_key_set_keycode
 | 
			
		||||
eek_key_set_oref
 | 
			
		||||
eek_key_set_symbol_matrix
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_KEY
 | 
			
		||||
EEK_IS_KEY_CLASS
 | 
			
		||||
EEK_KEY
 | 
			
		||||
EEK_KEY_CLASS
 | 
			
		||||
EEK_KEY_GET_CLASS
 | 
			
		||||
EEK_TYPE_KEY
 | 
			
		||||
EekKeyPrivate
 | 
			
		||||
eek_key_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-keyboard</FILE>
 | 
			
		||||
<TITLE>EekKeyboard</TITLE>
 | 
			
		||||
EekKeyboard
 | 
			
		||||
EekKeyboardClass
 | 
			
		||||
EekModifierKey
 | 
			
		||||
eek_keyboard_add_outline
 | 
			
		||||
eek_keyboard_create_section
 | 
			
		||||
eek_keyboard_find_key_by_keycode
 | 
			
		||||
eek_keyboard_get_alt_gr_mask
 | 
			
		||||
eek_keyboard_get_group
 | 
			
		||||
eek_keyboard_get_layout
 | 
			
		||||
eek_keyboard_get_level
 | 
			
		||||
eek_keyboard_get_locked_keys
 | 
			
		||||
eek_keyboard_get_modifier_behavior
 | 
			
		||||
eek_keyboard_get_modifiers
 | 
			
		||||
eek_keyboard_get_num_lock_mask
 | 
			
		||||
eek_keyboard_get_outline
 | 
			
		||||
eek_keyboard_get_pressed_keys
 | 
			
		||||
eek_keyboard_get_size
 | 
			
		||||
eek_keyboard_get_symbol_index
 | 
			
		||||
eek_keyboard_new
 | 
			
		||||
eek_keyboard_set_alt_gr_mask
 | 
			
		||||
eek_keyboard_set_group
 | 
			
		||||
eek_keyboard_set_level
 | 
			
		||||
eek_keyboard_set_modifier_behavior
 | 
			
		||||
eek_keyboard_set_modifiers
 | 
			
		||||
eek_keyboard_set_num_lock_mask
 | 
			
		||||
eek_keyboard_set_size
 | 
			
		||||
eek_keyboard_set_symbol_index
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_KEYBOARD
 | 
			
		||||
EEK_IS_KEYBOARD_CLASS
 | 
			
		||||
EEK_KEYBOARD
 | 
			
		||||
EEK_KEYBOARD_CLASS
 | 
			
		||||
EEK_KEYBOARD_GET_CLASS
 | 
			
		||||
EEK_TYPE_KEYBOARD
 | 
			
		||||
EekKeyboardPrivate
 | 
			
		||||
eek_keyboard_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-keysym</FILE>
 | 
			
		||||
<TITLE>EekKeysym</TITLE>
 | 
			
		||||
EekKeysym
 | 
			
		||||
EekKeysymClass
 | 
			
		||||
eek_keysym_get_xkeysym
 | 
			
		||||
eek_keysym_new
 | 
			
		||||
eek_keysym_new_from_name
 | 
			
		||||
eek_keysym_new_with_modifier
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_INVALID_KEYSYM
 | 
			
		||||
EEK_IS_KEYSYM
 | 
			
		||||
EEK_IS_KEYSYM_CLASS
 | 
			
		||||
EEK_KEYSYM
 | 
			
		||||
EEK_KEYSYM_CLASS
 | 
			
		||||
EEK_KEYSYM_GET_CLASS
 | 
			
		||||
EEK_TYPE_KEYSYM
 | 
			
		||||
EekKeysymPrivate
 | 
			
		||||
eek_keysym_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-layout</FILE>
 | 
			
		||||
<TITLE>EekLayout</TITLE>
 | 
			
		||||
EekLayout
 | 
			
		||||
EekLayoutClass
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_LAYOUT
 | 
			
		||||
EEK_IS_LAYOUT_CLASS
 | 
			
		||||
EEK_LAYOUT
 | 
			
		||||
EEK_LAYOUT_CLASS
 | 
			
		||||
EEK_LAYOUT_GET_CLASS
 | 
			
		||||
EEK_TYPE_LAYOUT
 | 
			
		||||
eek_layout_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-marshalers</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-section</FILE>
 | 
			
		||||
<TITLE>EekSection</TITLE>
 | 
			
		||||
EekSection
 | 
			
		||||
EekSectionClass
 | 
			
		||||
eek_section_add_row
 | 
			
		||||
eek_section_create_key
 | 
			
		||||
eek_section_find_key_by_keycode
 | 
			
		||||
eek_section_get_angle
 | 
			
		||||
eek_section_get_n_rows
 | 
			
		||||
eek_section_get_row
 | 
			
		||||
eek_section_set_angle
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_SECTION
 | 
			
		||||
EEK_IS_SECTION_CLASS
 | 
			
		||||
EEK_SECTION
 | 
			
		||||
EEK_SECTION_CLASS
 | 
			
		||||
EEK_SECTION_GET_CLASS
 | 
			
		||||
EEK_TYPE_SECTION
 | 
			
		||||
EekSectionPrivate
 | 
			
		||||
eek_section_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-serializable</FILE>
 | 
			
		||||
<TITLE>EekSerializable</TITLE>
 | 
			
		||||
EekSerializableIface
 | 
			
		||||
eek_serializable_deserialize
 | 
			
		||||
eek_serializable_serialize
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_SERIALIZABLE
 | 
			
		||||
EEK_SERIALIZABLE
 | 
			
		||||
EEK_SERIALIZABLE_GET_IFACE
 | 
			
		||||
EEK_TYPE_SERIALIZABLE
 | 
			
		||||
eek_serializable_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-special-keysym-entries</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-symbol</FILE>
 | 
			
		||||
<TITLE>EekSymbol</TITLE>
 | 
			
		||||
EekSymbol
 | 
			
		||||
EekSymbolCategory
 | 
			
		||||
EekSymbolClass
 | 
			
		||||
eek_symbol_category_from_name
 | 
			
		||||
eek_symbol_category_get_name
 | 
			
		||||
eek_symbol_get_category
 | 
			
		||||
eek_symbol_get_icon_name
 | 
			
		||||
eek_symbol_get_label
 | 
			
		||||
eek_symbol_get_modifier_mask
 | 
			
		||||
eek_symbol_get_name
 | 
			
		||||
eek_symbol_is_modifier
 | 
			
		||||
eek_symbol_new
 | 
			
		||||
eek_symbol_set_category
 | 
			
		||||
eek_symbol_set_icon_name
 | 
			
		||||
eek_symbol_set_label
 | 
			
		||||
eek_symbol_set_modifier_mask
 | 
			
		||||
eek_symbol_set_name
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_SYMBOL
 | 
			
		||||
EEK_IS_SYMBOL_CLASS
 | 
			
		||||
EEK_SYMBOL
 | 
			
		||||
EEK_SYMBOL_CLASS
 | 
			
		||||
EEK_SYMBOL_GET_CLASS
 | 
			
		||||
EEK_TYPE_SYMBOL
 | 
			
		||||
EekSymbolPrivate
 | 
			
		||||
eek_symbol_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-symbol-matrix</FILE>
 | 
			
		||||
EekSymbolMatrix
 | 
			
		||||
eek_symbol_matrix_copy
 | 
			
		||||
eek_symbol_matrix_free
 | 
			
		||||
eek_symbol_matrix_get_symbol
 | 
			
		||||
eek_symbol_matrix_new
 | 
			
		||||
eek_symbol_matrix_set_symbol
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_TYPE_SYMBOL_MATRIX
 | 
			
		||||
eek_symbol_matrix_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-text</FILE>
 | 
			
		||||
<TITLE>EekText</TITLE>
 | 
			
		||||
EekText
 | 
			
		||||
EekTextClass
 | 
			
		||||
eek_text_get_text
 | 
			
		||||
eek_text_new
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_TEXT
 | 
			
		||||
EEK_IS_TEXT_CLASS
 | 
			
		||||
EEK_TEXT
 | 
			
		||||
EEK_TEXT_CLASS
 | 
			
		||||
EEK_TEXT_GET_CLASS
 | 
			
		||||
EEK_TYPE_TEXT
 | 
			
		||||
EekTextPrivate
 | 
			
		||||
eek_text_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-theme-context</FILE>
 | 
			
		||||
EekThemeContextClass
 | 
			
		||||
eek_theme_context_get_font
 | 
			
		||||
eek_theme_context_get_resolution
 | 
			
		||||
eek_theme_context_get_root_node
 | 
			
		||||
eek_theme_context_get_theme
 | 
			
		||||
eek_theme_context_new
 | 
			
		||||
eek_theme_context_set_default_resolution
 | 
			
		||||
eek_theme_context_set_font
 | 
			
		||||
eek_theme_context_set_resolution
 | 
			
		||||
eek_theme_context_set_theme
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_IS_THEME_CONTEXT
 | 
			
		||||
EEK_IS_THEME_CONTEXT_CLASS
 | 
			
		||||
EEK_THEME_CONTEXT
 | 
			
		||||
EEK_THEME_CONTEXT_CLASS
 | 
			
		||||
EEK_THEME_CONTEXT_GET_CLASS
 | 
			
		||||
EEK_TYPE_THEME_CONTEXT
 | 
			
		||||
eek_theme_context_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-theme-private</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-types</FILE>
 | 
			
		||||
EEK_INVALID_KEYCODE
 | 
			
		||||
EekBounds
 | 
			
		||||
EekColor
 | 
			
		||||
EekContainer
 | 
			
		||||
EekElement
 | 
			
		||||
EekGradientType
 | 
			
		||||
EekKey
 | 
			
		||||
EekKeyboard
 | 
			
		||||
EekKeysym
 | 
			
		||||
EekModifierBehavior
 | 
			
		||||
EekModifierType
 | 
			
		||||
EekOrientation
 | 
			
		||||
EekOutline
 | 
			
		||||
EekPoint
 | 
			
		||||
EekSection
 | 
			
		||||
EekSymbol
 | 
			
		||||
EekSymbolMatrix
 | 
			
		||||
EekText
 | 
			
		||||
EekTheme
 | 
			
		||||
EekThemeContext
 | 
			
		||||
EekThemeNode
 | 
			
		||||
I_
 | 
			
		||||
eek_bounds_copy
 | 
			
		||||
eek_bounds_free
 | 
			
		||||
eek_bounds_long_side
 | 
			
		||||
eek_color_copy
 | 
			
		||||
eek_color_free
 | 
			
		||||
eek_color_new
 | 
			
		||||
eek_outline_copy
 | 
			
		||||
eek_outline_free
 | 
			
		||||
eek_point_copy
 | 
			
		||||
eek_point_free
 | 
			
		||||
eek_point_rotate
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_TYPE_BOUNDS
 | 
			
		||||
EEK_TYPE_COLOR
 | 
			
		||||
EEK_TYPE_OUTLINE
 | 
			
		||||
EEK_TYPE_POINT
 | 
			
		||||
eek_bounds_get_type
 | 
			
		||||
eek_color_get_type
 | 
			
		||||
eek_outline_get_type
 | 
			
		||||
eek_point_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-unicode-keysym-entries</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xkb</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
@ -164,145 +456,89 @@ EEK_XML_LAYOUT_GET_CLASS
 | 
			
		||||
<TITLE>EekXkbLayout</TITLE>
 | 
			
		||||
EekXkbLayout
 | 
			
		||||
EekXkbLayoutClass
 | 
			
		||||
eek_xkb_layout_get_geometry
 | 
			
		||||
eek_xkb_layout_get_keycodes
 | 
			
		||||
eek_xkb_layout_get_symbols
 | 
			
		||||
eek_xkb_layout_new
 | 
			
		||||
eek_xkb_layout_set_geometry
 | 
			
		||||
eek_xkb_layout_set_keycodes
 | 
			
		||||
eek_xkb_layout_set_names
 | 
			
		||||
eek_xkb_layout_set_names_full
 | 
			
		||||
eek_xkb_layout_set_keycodes
 | 
			
		||||
eek_xkb_layout_set_geometry
 | 
			
		||||
eek_xkb_layout_set_names_full_valist
 | 
			
		||||
eek_xkb_layout_set_symbols
 | 
			
		||||
eek_xkb_layout_get_keycodes
 | 
			
		||||
eek_xkb_layout_get_geometry
 | 
			
		||||
eek_xkb_layout_get_symbols
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_XKB_LAYOUT
 | 
			
		||||
EEK_IS_XKB_LAYOUT
 | 
			
		||||
EEK_TYPE_XKB_LAYOUT
 | 
			
		||||
eek_xkb_layout_get_type
 | 
			
		||||
EEK_XKB_LAYOUT_CLASS
 | 
			
		||||
EEK_IS_XKB_LAYOUT_CLASS
 | 
			
		||||
EEK_TYPE_XKB_LAYOUT
 | 
			
		||||
EEK_XKB_LAYOUT
 | 
			
		||||
EEK_XKB_LAYOUT_CLASS
 | 
			
		||||
EEK_XKB_LAYOUT_GET_CLASS
 | 
			
		||||
EekXkbLayoutPrivate
 | 
			
		||||
eek_xkb_layout_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-key</FILE>
 | 
			
		||||
<TITLE>EekKey</TITLE>
 | 
			
		||||
EekKeyClass
 | 
			
		||||
EekKey
 | 
			
		||||
eek_key_set_keycode
 | 
			
		||||
eek_key_get_keycode
 | 
			
		||||
eek_key_set_symbol_matrix
 | 
			
		||||
eek_key_get_symbol_matrix
 | 
			
		||||
eek_key_get_symbol
 | 
			
		||||
eek_key_get_symbol_at_index
 | 
			
		||||
eek_key_get_symbol_with_fallback
 | 
			
		||||
eek_key_set_index
 | 
			
		||||
eek_key_get_index
 | 
			
		||||
eek_key_set_outline
 | 
			
		||||
eek_key_get_outline
 | 
			
		||||
eek_key_is_pressed
 | 
			
		||||
<FILE>eek-xkeysym-keysym-entries</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xkl</FILE>
 | 
			
		||||
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xkl-layout</FILE>
 | 
			
		||||
<TITLE>EekXklLayout</TITLE>
 | 
			
		||||
EekXklLayout
 | 
			
		||||
EekXklLayoutClass
 | 
			
		||||
eek_xkl_layout_disable_option
 | 
			
		||||
eek_xkl_layout_enable_option
 | 
			
		||||
eek_xkl_layout_get_layouts
 | 
			
		||||
eek_xkl_layout_get_model
 | 
			
		||||
eek_xkl_layout_get_option
 | 
			
		||||
eek_xkl_layout_get_options
 | 
			
		||||
eek_xkl_layout_get_variants
 | 
			
		||||
eek_xkl_layout_new
 | 
			
		||||
eek_xkl_layout_set_config
 | 
			
		||||
eek_xkl_layout_set_config_full
 | 
			
		||||
eek_xkl_layout_set_layouts
 | 
			
		||||
eek_xkl_layout_set_model
 | 
			
		||||
eek_xkl_layout_set_options
 | 
			
		||||
eek_xkl_layout_set_variants
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_KEY
 | 
			
		||||
EEK_IS_KEY
 | 
			
		||||
EEK_TYPE_KEY
 | 
			
		||||
eek_key_get_type
 | 
			
		||||
EEK_KEY_CLASS
 | 
			
		||||
EEK_IS_KEY_CLASS
 | 
			
		||||
EEK_KEY_GET_CLASS
 | 
			
		||||
EEK_IS_XKL_LAYOUT
 | 
			
		||||
EEK_IS_XKL_LAYOUT_CLASS
 | 
			
		||||
EEK_TYPE_XKL_LAYOUT
 | 
			
		||||
EEK_XKL_LAYOUT
 | 
			
		||||
EEK_XKL_LAYOUT_CLASS
 | 
			
		||||
EEK_XKL_LAYOUT_GET_CLASS
 | 
			
		||||
EekXklLayoutPrivate
 | 
			
		||||
eek_xkl_layout_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-element</FILE>
 | 
			
		||||
<TITLE>EekElement</TITLE>
 | 
			
		||||
EekElementClass
 | 
			
		||||
EekElement
 | 
			
		||||
eek_element_set_parent
 | 
			
		||||
eek_element_get_parent
 | 
			
		||||
eek_element_set_name
 | 
			
		||||
eek_element_get_name
 | 
			
		||||
eek_element_set_bounds
 | 
			
		||||
eek_element_get_bounds
 | 
			
		||||
eek_element_get_absolute_position
 | 
			
		||||
<FILE>eek-xml</FILE>
 | 
			
		||||
EEK_XML_SCHEMA_VERSION
 | 
			
		||||
eek_keyboard_output
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-xml-layout</FILE>
 | 
			
		||||
<TITLE>EekXmlLayout</TITLE>
 | 
			
		||||
EekXmlLayout
 | 
			
		||||
EekXmlLayoutClass
 | 
			
		||||
eek_xml_layout_get_source
 | 
			
		||||
eek_xml_layout_new
 | 
			
		||||
eek_xml_layout_set_source
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_ELEMENT
 | 
			
		||||
EEK_IS_ELEMENT
 | 
			
		||||
EEK_TYPE_ELEMENT
 | 
			
		||||
eek_element_get_type
 | 
			
		||||
EEK_ELEMENT_CLASS
 | 
			
		||||
EEK_IS_ELEMENT_CLASS
 | 
			
		||||
EEK_ELEMENT_GET_CLASS
 | 
			
		||||
EEK_IS_XML_LAYOUT
 | 
			
		||||
EEK_IS_XML_LAYOUT_CLASS
 | 
			
		||||
EEK_TYPE_XML_LAYOUT
 | 
			
		||||
EEK_XML_LAYOUT
 | 
			
		||||
EEK_XML_LAYOUT_CLASS
 | 
			
		||||
EEK_XML_LAYOUT_GET_CLASS
 | 
			
		||||
EekXmlLayoutPrivate
 | 
			
		||||
eek_xml_layout_get_type
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-symbol</FILE>
 | 
			
		||||
<TITLE>EekSymbol</TITLE>
 | 
			
		||||
EekSymbolClass
 | 
			
		||||
EekSymbol
 | 
			
		||||
eek_symbol_new
 | 
			
		||||
eek_symbol_set_name
 | 
			
		||||
eek_symbol_get_name
 | 
			
		||||
eek_symbol_set_label
 | 
			
		||||
eek_symbol_get_label
 | 
			
		||||
eek_symbol_set_category
 | 
			
		||||
eek_symbol_get_category
 | 
			
		||||
eek_symbol_set_modifier_mask
 | 
			
		||||
eek_symbol_get_modifier_mask
 | 
			
		||||
eek_symbol_is_modifier
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_SYMBOL
 | 
			
		||||
EEK_IS_SYMBOL
 | 
			
		||||
EEK_TYPE_SYMBOL
 | 
			
		||||
eek_symbol_get_type
 | 
			
		||||
EEK_SYMBOL_CLASS
 | 
			
		||||
EEK_IS_SYMBOL_CLASS
 | 
			
		||||
EEK_SYMBOL_GET_CLASS
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-types</FILE>
 | 
			
		||||
<TITLE>Basic Types</TITLE>
 | 
			
		||||
EekOrientation
 | 
			
		||||
EekModifierBehavior
 | 
			
		||||
EekModifierType
 | 
			
		||||
EekSymbolMatrix
 | 
			
		||||
EekSymbolCategory
 | 
			
		||||
EEK_TYPE_SYMBOL_MATRIX
 | 
			
		||||
eek_symbol_matrix_copy
 | 
			
		||||
eek_symbol_matrix_free
 | 
			
		||||
eek_symbol_matrix_get_type
 | 
			
		||||
eek_symbol_matrix_new
 | 
			
		||||
EekPoint
 | 
			
		||||
EEK_TYPE_POINT
 | 
			
		||||
eek_point_get_type
 | 
			
		||||
eek_point_rotate
 | 
			
		||||
EekBounds
 | 
			
		||||
EEK_TYPE_BOUNDS
 | 
			
		||||
eek_bounds_get_type
 | 
			
		||||
eek_bounds_long_side
 | 
			
		||||
EekOutline
 | 
			
		||||
EEK_TYPE_OUTLINE
 | 
			
		||||
eek_outline_get_type
 | 
			
		||||
EekColor
 | 
			
		||||
EEK_TYPE_COLOR
 | 
			
		||||
eek_color_get_type
 | 
			
		||||
eek_color_new
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eek-keysym</FILE>
 | 
			
		||||
<TITLE>EekKeysym</TITLE>
 | 
			
		||||
EekKeysymClass
 | 
			
		||||
EekKeysym
 | 
			
		||||
EEK_INVALID_KEYSYM
 | 
			
		||||
EEK_INVALID_KEYCODE
 | 
			
		||||
eek_keysym_get_xkeysym
 | 
			
		||||
eek_keysym_new
 | 
			
		||||
eek_keysym_new_from_name
 | 
			
		||||
<SUBSECTION Standard>
 | 
			
		||||
EEK_KEYSYM
 | 
			
		||||
EEK_IS_KEYSYM
 | 
			
		||||
EEK_TYPE_KEYSYM
 | 
			
		||||
eek_keysym_get_type
 | 
			
		||||
EEK_KEYSYM_CLASS
 | 
			
		||||
EEK_IS_KEYSYM_CLASS
 | 
			
		||||
EEK_KEYSYM_GET_CLASS
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
@ -76,7 +76,7 @@ EXTRA_HFILES=
 | 
			
		||||
 | 
			
		||||
# Header files to ignore when scanning. Use base file name, no paths
 | 
			
		||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
 | 
			
		||||
IGNORE_HFILES=config.h
 | 
			
		||||
IGNORE_HFILES=config.h eekboard.h
 | 
			
		||||
 | 
			
		||||
# Images to copy into HTML directory.
 | 
			
		||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 | 
			
		||||
@ -104,7 +104,7 @@ include $(top_srcdir)/gtk-doc.make
 | 
			
		||||
 | 
			
		||||
# Other files to distribute
 | 
			
		||||
# e.g. EXTRA_DIST += version.xml.in
 | 
			
		||||
EXTRA_DIST +=
 | 
			
		||||
# EXTRA_DIST +=
 | 
			
		||||
 | 
			
		||||
# Files not to distribute
 | 
			
		||||
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
 | 
			
		||||
@ -118,3 +118,5 @@ if ENABLE_GTK_DOC
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/gtk-doc.mk
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -35,10 +35,15 @@
 | 
			
		||||
  <part id="apireference">
 | 
			
		||||
    <title>API Manual</title>
 | 
			
		||||
    <chapter>
 | 
			
		||||
      <title>D-Bus proxy to eekboard-server</title>
 | 
			
		||||
      <xi:include href="xml/eekboard-server.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"/>
 | 
			
		||||
 | 
			
		||||
@ -1,22 +1,41 @@
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>eekboard-server</FILE>
 | 
			
		||||
<TITLE>EekboardServer</TITLE>
 | 
			
		||||
EekboardServer
 | 
			
		||||
EekboardServerClass
 | 
			
		||||
EekboardServerPrivate
 | 
			
		||||
eekboard_server_new
 | 
			
		||||
eekboard_server_create_context
 | 
			
		||||
eekboard_server_push_context
 | 
			
		||||
eekboard_server_pop_context
 | 
			
		||||
eekboard_server_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_SERVER
 | 
			
		||||
EEKBOARD_IS_SERVER
 | 
			
		||||
EEKBOARD_TYPE_SERVER
 | 
			
		||||
eekboard_server_get_type
 | 
			
		||||
EEKBOARD_SERVER_CLASS
 | 
			
		||||
EEKBOARD_IS_SERVER_CLASS
 | 
			
		||||
EEKBOARD_SERVER_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_SERVER_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>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,4 @@
 | 
			
		||||
eekboard_client_get_type
 | 
			
		||||
eekboard_context_get_type
 | 
			
		||||
eekboard_context_service_get_type
 | 
			
		||||
eekboard_service_get_type
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										262
									
								
								eek/Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										262
									
								
								eek/Makefile.am
									
									
									
									
									
								
							@ -16,15 +16,13 @@
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
NULL =
 | 
			
		||||
 | 
			
		||||
lib_LTLIBRARIES =				\
 | 
			
		||||
	libeek.la				\
 | 
			
		||||
	libeek-gtk.la				\
 | 
			
		||||
	libeek-xkb.la				\
 | 
			
		||||
	libeek-xkl.la
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
lib_LTLIBRARIES += libeek-clutter.la
 | 
			
		||||
endif
 | 
			
		||||
	libeek-xkl.la				\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_public_headers =				\
 | 
			
		||||
	$(srcdir)/eek-layout.h			\
 | 
			
		||||
@ -35,167 +33,198 @@ 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			\
 | 
			
		||||
	$(srcdir)/eek-xml-layout.h		\
 | 
			
		||||
	$(srcdir)/eek-serializable.h		\
 | 
			
		||||
	$(srcdir)/eek.h
 | 
			
		||||
	$(srcdir)/eek-theme.h			\
 | 
			
		||||
	$(srcdir)/eek.h				\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_private_headers =			\
 | 
			
		||||
	$(srcdir)/eek-renderer.h		\
 | 
			
		||||
	$(srcdir)/eek-special-keysym-entries.h	\
 | 
			
		||||
	$(srcdir)/eek-unicode-keysym-entries.h	\
 | 
			
		||||
	$(srcdir)/eek-xkeysym-keysym-entries.h	\
 | 
			
		||||
	$(srcdir)/eek-marshalers.h
 | 
			
		||||
	$(libeek_keysym_headers)		\
 | 
			
		||||
	$(builddir)/eek-marshalers.h		\
 | 
			
		||||
	$(srcdir)/eek-theme-context.h		\
 | 
			
		||||
	$(srcdir)/eek-theme-private.h		\
 | 
			
		||||
	$(srcdir)/eek-theme-node.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_sources =				\
 | 
			
		||||
	$(srcdir)/eek.c				\
 | 
			
		||||
	$(srcdir)/eek-layout.c			\
 | 
			
		||||
	$(srcdir)/eek-element.c			\
 | 
			
		||||
	$(srcdir)/eek-container.c		\
 | 
			
		||||
	$(srcdir)/eek-keyboard.c		\
 | 
			
		||||
	$(srcdir)/eek-section.c			\
 | 
			
		||||
	$(srcdir)/eek-key.c			\
 | 
			
		||||
	$(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			\
 | 
			
		||||
	$(srcdir)/eek-xml-layout.c		\
 | 
			
		||||
	$(srcdir)/eek-renderer.c		\
 | 
			
		||||
	$(srcdir)/eek-keyboard-drawing.c
 | 
			
		||||
	$(srcdir)/eek-keyboard-drawing.c	\
 | 
			
		||||
	$(srcdir)/eek-theme.c			\
 | 
			
		||||
	$(srcdir)/eek-theme-context.c		\
 | 
			
		||||
	$(srcdir)/eek-theme-node.c		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_keysym_sources =				\
 | 
			
		||||
	$(srcdir)/eek-special-keysym-entries.h	\
 | 
			
		||||
	$(srcdir)/eek-unicode-keysym-entries.h	\
 | 
			
		||||
	$(srcdir)/eek-xkeysym-keysym-entries.h
 | 
			
		||||
libeek_keysym_headers =					\
 | 
			
		||||
	$(builddir)/eek-special-keysym-entries.h	\
 | 
			
		||||
	$(builddir)/eek-unicode-keysym-entries.h	\
 | 
			
		||||
	$(builddir)/eek-xkeysym-keysym-entries.h	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_enumtypes_sources =			\
 | 
			
		||||
	$(srcdir)/eek-enumtypes.c		\
 | 
			
		||||
	$(srcdir)/eek-enumtypes.h
 | 
			
		||||
	$(builddir)/eek-enumtypes.c		\
 | 
			
		||||
	$(builddir)/eek-enumtypes.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_marshalers_sources =			\
 | 
			
		||||
	$(srcdir)/eek-marshalers.c		\
 | 
			
		||||
	$(srcdir)/eek-marshalers.h
 | 
			
		||||
	$(builddir)/eek-marshalers.c		\
 | 
			
		||||
	$(builddir)/eek-marshalers.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
BUILT_SOURCES =					\
 | 
			
		||||
	$(libeek_keysym_sources)		\
 | 
			
		||||
	$(libeek_marshalers_sources)
 | 
			
		||||
	$(libeek_keysym_headers)		\
 | 
			
		||||
	$(libeek_enumtypes_sources)		\
 | 
			
		||||
	$(libeek_marshalers_sources)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_la_SOURCES =				\
 | 
			
		||||
	$(libeek_sources)			\
 | 
			
		||||
	$(srcdir)/eek-marshalers.c
 | 
			
		||||
	$(builddir)/eek-enumtypes.c		\
 | 
			
		||||
	$(builddir)/eek-marshalers.c		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_la_CFLAGS = $(GIO2_CFLAGS) $(PANGOCAIRO_CFLAGS)
 | 
			
		||||
libeek_la_LIBADD = $(GIO2_LIBS) $(PANGOCAIRO_LIBS) -lm
 | 
			
		||||
libeek_la_CFLAGS =					\
 | 
			
		||||
	-DEEK_COMPILATION=1				\
 | 
			
		||||
	-DKEYBOARDSDIR=\"$(pkgdatadir)/keyboards\"	\
 | 
			
		||||
	$(GIO2_CFLAGS)					\
 | 
			
		||||
	$(PANGOCAIRO_CFLAGS)				\
 | 
			
		||||
	$(LIBCROCO_CFLAGS)				\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
libeek_clutter_public_headers =			\
 | 
			
		||||
	$(srcdir)/eek-clutter-keyboard.h	\
 | 
			
		||||
	$(srcdir)/eek-clutter.h
 | 
			
		||||
 | 
			
		||||
libeek_clutter_private_headers =		\
 | 
			
		||||
	$(srcdir)/eek-clutter-section.h		\
 | 
			
		||||
	$(srcdir)/eek-clutter-key.h		\
 | 
			
		||||
	$(srcdir)/eek-clutter-renderer.h
 | 
			
		||||
 | 
			
		||||
libeek_clutter_sources =			\
 | 
			
		||||
	$(srcdir)/eek-clutter-keyboard.c	\
 | 
			
		||||
	$(srcdir)/eek-clutter-section.c		\
 | 
			
		||||
	$(srcdir)/eek-clutter-key.c		\
 | 
			
		||||
	$(srcdir)/eek-clutter-renderer.c
 | 
			
		||||
 | 
			
		||||
libeek_clutter_la_SOURCES = $(libeek_clutter_sources)
 | 
			
		||||
libeek_clutter_la_CFLAGS = $(CLUTTER_CFLAGS)
 | 
			
		||||
libeek_clutter_la_LIBADD = libeek.la $(CLUTTER_LIBS)
 | 
			
		||||
endif
 | 
			
		||||
libeek_la_LIBADD =				\
 | 
			
		||||
	$(GIO2_LIBS)				\
 | 
			
		||||
	$(PANGOCAIRO_LIBS)			\
 | 
			
		||||
	$(LIBCROCO_LIBS)			\
 | 
			
		||||
	-lm					\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_gtk_public_headers =			\
 | 
			
		||||
	$(srcdir)/eek-gtk-keyboard.h		\
 | 
			
		||||
	$(srcdir)/eek-gtk.h
 | 
			
		||||
	$(srcdir)/eek-gtk.h			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
libeek_gtk_private_headers =			\
 | 
			
		||||
	$(srcdir)/eek-gtk-renderer.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
libeek_gtk_sources =				\
 | 
			
		||||
	$(srcdir)/eek-gtk-keyboard.c
 | 
			
		||||
	$(srcdir)/eek-gtk-keyboard.c		\
 | 
			
		||||
	$(srcdir)/eek-gtk-renderer.c		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_gtk_la_SOURCES = $(libeek_gtk_sources)
 | 
			
		||||
libeek_gtk_la_CFLAGS = $(GTK_CFLAGS)
 | 
			
		||||
libeek_gtk_la_LIBADD = libeek.la $(GTK_LIBS)
 | 
			
		||||
 | 
			
		||||
libeek_xkb_public_headers =			\
 | 
			
		||||
	$(srcdir)/eek-xkb-layout.h		\
 | 
			
		||||
	$(srcdir)/eek-xkb.h
 | 
			
		||||
 | 
			
		||||
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_LIBADD = libeek.la $(XKB_LIBS) $(GTK_LIBS)
 | 
			
		||||
libeek_gtk_la_CFLAGS = -DEEK_COMPILATION=1 $(GTK_CFLAGS) $(LIBCANBERRA_CFLAGS)
 | 
			
		||||
libeek_gtk_la_LIBADD = libeek.la $(GTK_LIBS) $(LIBCANBERRA_LIBS)
 | 
			
		||||
 | 
			
		||||
libeek_xkl_public_headers =			\
 | 
			
		||||
	$(srcdir)/eek-xkl-layout.h		\
 | 
			
		||||
	$(srcdir)/eek-xkl.h
 | 
			
		||||
	$(srcdir)/eek-xkl.h			\
 | 
			
		||||
	$(srcdir)/eek-xkb-layout.h		\
 | 
			
		||||
	$(srcdir)/eek-xkb.h			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_xkl_sources =				\
 | 
			
		||||
	$(srcdir)/eek-xkl-layout.c
 | 
			
		||||
	$(srcdir)/eek-xkb-layout.c		\
 | 
			
		||||
	$(srcdir)/eek-xkl-layout.c		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libeek_xkl_la_SOURCES = $(libeek_xkl_sources)
 | 
			
		||||
libeek_xkl_la_CFLAGS = $(LIBXKLAVIER_CFLAGS) $(GTK_CFLAGS)
 | 
			
		||||
libeek_xkl_la_LIBADD = libeek-xkb.la $(LIBXKLAVIER_LIBS) $(GTK_LIBS)
 | 
			
		||||
libeek_xkl_la_CFLAGS = -DEEK_COMPILATION=1 $(LIBXKLAVIER_CFLAGS)
 | 
			
		||||
libeek_xkl_la_LIBADD = libeek.la $(LIBXKLAVIER_LIBS)
 | 
			
		||||
 | 
			
		||||
eekdir = $(includedir)/eek-$(EEK_API_VERSION)/eek
 | 
			
		||||
eek_HEADERS =					\
 | 
			
		||||
	$(libeek_public_headers)		\
 | 
			
		||||
	$(libeek_clutter_public_headers)	\
 | 
			
		||||
	$(builddir)/eek-enumtypes.h		\
 | 
			
		||||
	$(libeek_gtk_public_headers)		\
 | 
			
		||||
	$(libeek_xkb_public_headers)		\
 | 
			
		||||
	$(libeek_xkl_public_headers)
 | 
			
		||||
	$(libeek_xkl_public_headers)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
noinst_HEADERS =				\
 | 
			
		||||
	$(libeek_private_headers)		\
 | 
			
		||||
	$(libeek_clutter_private_headers)	\
 | 
			
		||||
	$(libeek_gtk_private_headers)		\
 | 
			
		||||
	$(libeek_xkb_private_headers)		\
 | 
			
		||||
	$(libeek_xkl_private_headers)
 | 
			
		||||
	$(libeek_xkl_private_headers)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
eek-special-keysym-entries.h: special-keysym-entries.txt
 | 
			
		||||
	$(PYTHON) ./gen-keysym-entries.py special_keysym_entries < $< > $@
 | 
			
		||||
	$(AM_V_GEN) $(PYTHON) $(srcdir)/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) $(srcdir)/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) $(srcdir)/gen-keysym-entries.py \
 | 
			
		||||
		xkeysym_keysym_entries \
 | 
			
		||||
		< $< > $@
 | 
			
		||||
 | 
			
		||||
eek-enumtypes.h: $(libeek_public_headers) eek-enumtypes.h.template
 | 
			
		||||
	$(AM_V_GEN) $(GLIB_MKENUMS) \
 | 
			
		||||
		--template $(srcdir)/eek-enumtypes.h.template \
 | 
			
		||||
		$(libeek_public_headers) > eek-enumtypes.h.tmp && \
 | 
			
		||||
		mv eek-enumtypes.h.tmp eek-enumtypes.h
 | 
			
		||||
 | 
			
		||||
eek-enumtypes.c: $(libeek_public_headers) eek-enumtypes.c.template
 | 
			
		||||
	$(AM_V_GEN) $(GLIB_MKENUMS) \
 | 
			
		||||
		--template $(srcdir)/eek-enumtypes.c.template \
 | 
			
		||||
		$(libeek_public_headers) > eek-enumtypes.c.tmp && \
 | 
			
		||||
		mv eek-enumtypes.c.tmp eek-enumtypes.c
 | 
			
		||||
 | 
			
		||||
# gen marshal
 | 
			
		||||
eek-marshalers.h: eek-marshalers.list
 | 
			
		||||
	$(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_eek_marshal $(srcdir)/eek-marshalers.list --header --internal > $@.tmp && \
 | 
			
		||||
	$(AM_V_GEN) $(GLIB_GENMARSHAL) \
 | 
			
		||||
		--prefix=_eek_marshal $(srcdir)/eek-marshalers.list \
 | 
			
		||||
		--header --internal > $@.tmp && \
 | 
			
		||||
	mv $@.tmp $@
 | 
			
		||||
 | 
			
		||||
eek-marshalers.c: eek-marshalers.list eek-marshalers.h
 | 
			
		||||
	$(AM_V_GEN) (echo "#include \"eek-marshalers.h\""; \
 | 
			
		||||
	$(GLIB_GENMARSHAL) --prefix=_eek_marshal $(srcdir)/eek-marshalers.list --body --internal) > $@.tmp && \
 | 
			
		||||
	$(GLIB_GENMARSHAL) --prefix=_eek_marshal \
 | 
			
		||||
		$(srcdir)/eek-marshalers.list --body --internal) > $@.tmp && \
 | 
			
		||||
	mv $@.tmp $@
 | 
			
		||||
 | 
			
		||||
pkgconfigdir = $(libdir)/pkgconfig
 | 
			
		||||
pkgconfig_DATA =				\
 | 
			
		||||
	eek-$(EEK_API_VERSION).pc		\
 | 
			
		||||
	eek-gtk-$(EEK_API_VERSION).pc		\
 | 
			
		||||
	eek-xkb-$(EEK_API_VERSION).pc		\
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).pc
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
pkgconfig_DATA += eek-clutter-$(EEK_API_VERSION).pc
 | 
			
		||||
endif
 | 
			
		||||
	eek-xkl-$(EEK_API_VERSION).pc		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
CLEANFILES =
 | 
			
		||||
 | 
			
		||||
DISTCLEANFILES =				\
 | 
			
		||||
	$(BUILT_SOURCES)			\
 | 
			
		||||
	$(pkgconfig_DATA)
 | 
			
		||||
	$(pkgconfig_DATA)			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST =					\
 | 
			
		||||
	gen-keysym-entries.py			\
 | 
			
		||||
	special-keysym-entries.txt		\
 | 
			
		||||
	unicode-keysym-entries.txt		\
 | 
			
		||||
	xkeysym-keysym-entries.txt		\
 | 
			
		||||
	eek-marshalers.list
 | 
			
		||||
	eek-enumtypes.h.template		\
 | 
			
		||||
	eek-enumtypes.c.template		\
 | 
			
		||||
	eek-marshalers.list			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
-include $(INTROSPECTION_MAKEFILE)
 | 
			
		||||
INTROSPECTION_GIRS =
 | 
			
		||||
@ -205,48 +234,57 @@ INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
 | 
			
		||||
if HAVE_INTROSPECTION
 | 
			
		||||
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX@.gir: libeek.la
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_SCANNERFLAGS = --strip-prefix=Eek --pkg=glib-2.0
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_SCANNERFLAGS =	\
 | 
			
		||||
	--identifier-prefix=Eek			\
 | 
			
		||||
	--symbol-prefix=eek			\
 | 
			
		||||
	--pkg=glib-2.0				\
 | 
			
		||||
	--pkg-export=eek-$(EEK_API_VERSION)	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GLib-2.0 GObject-2.0 Gio-2.0
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_CFLAGS = $(libeek_la_CFLAGS)
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_LIBS = libeek.la
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_FILES = $(libeek_sources) $(libeek_public_headers)
 | 
			
		||||
Eek@EEK_LIBRARY_SUFFIX_U@_gir_FILES =		\
 | 
			
		||||
	$(libeek_sources)			\
 | 
			
		||||
	$(libeek_public_headers)		\
 | 
			
		||||
	$(builddir)/eek-enumtypes.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX@.gir: libeek-gtk.la Eek@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GObject-2.0 Gtk-@GTK_API_VERSION@ Eek@EEK_LIBRARY_SUFFIX@
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_SCANNERFLAGS =	\
 | 
			
		||||
	--identifier-prefix=Eek			\
 | 
			
		||||
	--symbol-prefix=eek			\
 | 
			
		||||
	--pkg-export=eek-gtk-$(EEK_API_VERSION)	\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES =	\
 | 
			
		||||
	GObject-2.0				\
 | 
			
		||||
	Gtk-@GTK_API_VERSION@			\
 | 
			
		||||
	Eek@EEK_LIBRARY_SUFFIX@			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_CFLAGS = $(libeek_gtk_la_CFLAGS)
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_LIBS = libeek-gtk.la
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_FILES = $(libeek_gtk_sources) $(libeek_gtk_public_headers)
 | 
			
		||||
EekGtk@EEK_LIBRARY_SUFFIX_U@_gir_FILES =	\
 | 
			
		||||
	$(libeek_gtk_sources)			\
 | 
			
		||||
	$(libeek_gtk_public_headers)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
EekClutter@EEK_LIBRARY_SUFFIX@.gir: libeek-clutter.la Eek@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
EekClutter@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GObject-2.0 Clutter-1.0 Eek@EEK_LIBRARY_SUFFIX@
 | 
			
		||||
EekClutter@EEK_LIBRARY_SUFFIX_U@_gir_CFLAGS = $(libeek_clutter_la_CFLAGS)
 | 
			
		||||
EekClutter@EEK_LIBRARY_SUFFIX_U@_gir_LIBS = libeek-clutter.la
 | 
			
		||||
EekClutter@EEK_LIBRARY_SUFFIX_U@_gir_FILES = $(libeek_clutter_sources) $(libeek_clutter_public_headers)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
EekXkb@EEK_LIBRARY_SUFFIX@.gir: libeek-xkb.la Eek@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
EekXkb@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GObject-2.0 Eek@EEK_LIBRARY_SUFFIX@
 | 
			
		||||
EekXkb@EEK_LIBRARY_SUFFIX_U@_gir_CFLAGS = $(libeek_xkb_la_CFLAGS)
 | 
			
		||||
EekXkb@EEK_LIBRARY_SUFFIX_U@_gir_LIBS = libeek-xkb.la
 | 
			
		||||
EekXkb@EEK_LIBRARY_SUFFIX_U@_gir_FILES = $(libeek_xkb_sources) $(libeek_xkb_public_headers)
 | 
			
		||||
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX@.gir: libeek-xkl.la EekXkb@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GObject-2.0 EekXkb@EEK_LIBRARY_SUFFIX@
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX@.gir: libeek-xkl.la Eek@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_SCANNERFLAGS = \
 | 
			
		||||
	--identifier-prefix=Eek			\
 | 
			
		||||
	--symbol-prefix=eek			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_INCLUDES = GObject-2.0 Eek@EEK_LIBRARY_SUFFIX@
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_CFLAGS = $(libeek_xkl_la_CFLAGS)
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_LIBS = libeek-xkl.la
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_FILES = $(libeek_xkl_sources) $(libeek_xkl_public_headers)
 | 
			
		||||
EekXkl@EEK_LIBRARY_SUFFIX_U@_gir_FILES =	\
 | 
			
		||||
	$(libeek_xkl_sources)			\
 | 
			
		||||
	$(libeek_xkl_public_headers)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
INTROSPECTION_GIRS +=				\
 | 
			
		||||
	Eek@EEK_LIBRARY_SUFFIX@.gir		\
 | 
			
		||||
	EekGtk@EEK_LIBRARY_SUFFIX@.gir		\
 | 
			
		||||
	EekXkb@EEK_LIBRARY_SUFFIX@.gir		\
 | 
			
		||||
	EekXkl@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
 | 
			
		||||
if ENABLE_CLUTTER
 | 
			
		||||
INTROSPECTION_GIRS +=				\
 | 
			
		||||
	EekClutter@EEK_LIBRARY_SUFFIX@.gir
 | 
			
		||||
endif
 | 
			
		||||
	EekXkl@EEK_LIBRARY_SUFFIX@.gir		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
girdir = $(datadir)/gir-1.0
 | 
			
		||||
gir_DATA = $(INTROSPECTION_GIRS)
 | 
			
		||||
@ -256,3 +294,5 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 | 
			
		||||
 | 
			
		||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
-include $(top_srcdir)/git.mk
 | 
			
		||||
 | 
			
		||||
@ -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@
 | 
			
		||||
 | 
			
		||||
@ -1,30 +0,0 @@
 | 
			
		||||
# Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
# Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301 USA
 | 
			
		||||
 | 
			
		||||
prefix=@prefix@
 | 
			
		||||
exec_prefix=@exec_prefix@
 | 
			
		||||
libdir=@libdir@
 | 
			
		||||
includedir=@includedir@
 | 
			
		||||
 | 
			
		||||
Name: libeek-clutter
 | 
			
		||||
Description: A Library to Create Keyboard-like UI (Clutter Support)
 | 
			
		||||
URL: http://ueno.github.com/eekboard/
 | 
			
		||||
Version: @VERSION@
 | 
			
		||||
Requires: eek-@EEK_API_VERSION@ clutter-1.0
 | 
			
		||||
Libs: -L${libdir} -leek-clutter
 | 
			
		||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
 | 
			
		||||
@ -1,307 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include "eek-clutter-key.h"
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    PROP_0,
 | 
			
		||||
    PROP_KEY,
 | 
			
		||||
    PROP_RENDERER,
 | 
			
		||||
    PROP_LAST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE (EekClutterKey, eek_clutter_key, CLUTTER_TYPE_ACTOR);
 | 
			
		||||
 | 
			
		||||
#define EEK_CLUTTER_KEY_GET_PRIVATE(obj)                                  \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_CLUTTER_KEY, EekClutterKeyPrivate))
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKeyPrivate
 | 
			
		||||
{
 | 
			
		||||
    EekKey *key;
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
    gulong pressed_handler;
 | 
			
		||||
    gulong released_handler;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
on_pressed (EekKey *key, gpointer user_data)
 | 
			
		||||
{
 | 
			
		||||
    ClutterActor *actor = user_data, *parent;
 | 
			
		||||
 | 
			
		||||
    parent = clutter_actor_get_parent (actor);
 | 
			
		||||
    clutter_actor_raise_top (parent);
 | 
			
		||||
    clutter_actor_raise_top (actor);
 | 
			
		||||
    clutter_actor_set_scale_with_gravity (actor,
 | 
			
		||||
                                          1.0,
 | 
			
		||||
                                          1.0,
 | 
			
		||||
                                          CLUTTER_GRAVITY_CENTER);
 | 
			
		||||
 | 
			
		||||
    clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 150,
 | 
			
		||||
                           "scale-x", 1.5,
 | 
			
		||||
                           "scale-y", 1.5,
 | 
			
		||||
                           NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
on_released (EekKey *key, gpointer user_data)
 | 
			
		||||
{
 | 
			
		||||
    ClutterActor *actor = user_data, *parent;
 | 
			
		||||
 | 
			
		||||
    parent = clutter_actor_get_parent (actor);
 | 
			
		||||
    clutter_actor_raise_top (parent);
 | 
			
		||||
    clutter_actor_raise_top (actor);
 | 
			
		||||
    clutter_actor_set_scale_with_gravity (actor,
 | 
			
		||||
                                          1.5,
 | 
			
		||||
                                          1.5,
 | 
			
		||||
                                          CLUTTER_GRAVITY_CENTER);
 | 
			
		||||
    clutter_actor_animate (actor, CLUTTER_EASE_OUT_SINE, 150,
 | 
			
		||||
                           "scale-x", 1.0,
 | 
			
		||||
                           "scale-y", 1.0,
 | 
			
		||||
                           NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
set_position (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->key), &bounds);
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    clutter_actor_set_position (self, bounds.x * scale, bounds.y * scale);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_real_realize (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    set_position (self);
 | 
			
		||||
    clutter_actor_set_reactive (self, TRUE);
 | 
			
		||||
 | 
			
		||||
    priv->pressed_handler =
 | 
			
		||||
        g_signal_connect (priv->key, "pressed",
 | 
			
		||||
                          G_CALLBACK(on_pressed), self);
 | 
			
		||||
    priv->released_handler =
 | 
			
		||||
        g_signal_connect (priv->key, "released",
 | 
			
		||||
                          G_CALLBACK(on_released), self);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_real_paint (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    set_position (self);
 | 
			
		||||
    eek_clutter_renderer_render_key (priv->renderer, self, priv->key);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_real_get_preferred_width (ClutterActor *self,
 | 
			
		||||
                                          gfloat        for_height,
 | 
			
		||||
                                          gfloat       *min_width_p,
 | 
			
		||||
                                          gfloat       *natural_width_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->key), &bounds);
 | 
			
		||||
    *min_width_p = 0.0f;
 | 
			
		||||
    *natural_width_p = bounds.width * scale;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_real_get_preferred_height (ClutterActor *self,
 | 
			
		||||
                                           gfloat        for_width,
 | 
			
		||||
                                           gfloat       *min_height_p,
 | 
			
		||||
                                           gfloat       *natural_height_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->key), &bounds);
 | 
			
		||||
    *min_height_p = 0.0f;
 | 
			
		||||
    *natural_height_p = bounds.height * scale;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_real_allocate (ClutterActor          *self,
 | 
			
		||||
                               const ClutterActorBox *box,
 | 
			
		||||
                               ClutterAllocationFlags flags)
 | 
			
		||||
{
 | 
			
		||||
    CLUTTER_ACTOR_CLASS (eek_clutter_key_parent_class)->
 | 
			
		||||
        allocate (self, box, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gboolean
 | 
			
		||||
eek_clutter_key_real_button_press_event (ClutterActor       *self,
 | 
			
		||||
                                         ClutterButtonEvent *event)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_signal_emit_by_name (priv->key, "pressed");
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gboolean
 | 
			
		||||
eek_clutter_key_real_button_release_event (ClutterActor       *self,
 | 
			
		||||
                                           ClutterButtonEvent *event)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_signal_emit_by_name (priv->key, "released");
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gboolean
 | 
			
		||||
eek_clutter_key_real_leave_event (ClutterActor         *self,
 | 
			
		||||
                                  ClutterCrossingEvent *event)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    if (eek_key_is_pressed (priv->key))
 | 
			
		||||
        g_signal_emit_by_name (priv->key, "released");
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_set_property (GObject      *object,
 | 
			
		||||
                                  guint         prop_id,
 | 
			
		||||
                                  const GValue *value,
 | 
			
		||||
                                  GParamSpec   *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_KEY:
 | 
			
		||||
        priv->key = g_value_get_object (value);
 | 
			
		||||
        g_object_ref (priv->key);
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_RENDERER:
 | 
			
		||||
        priv->renderer = g_value_get_object (value);
 | 
			
		||||
        g_object_ref (priv->renderer);
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
        g_object_set_property (object,
 | 
			
		||||
                               g_param_spec_get_name (pspec),
 | 
			
		||||
                               value);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_dispose (GObject *object)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    if (priv->renderer) {
 | 
			
		||||
        g_object_unref (priv->renderer);
 | 
			
		||||
        priv->renderer = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (priv->key) {
 | 
			
		||||
        if (g_signal_handler_is_connected (priv->key, priv->pressed_handler))
 | 
			
		||||
            g_signal_handler_disconnect (priv->key, priv->pressed_handler);
 | 
			
		||||
        if (g_signal_handler_is_connected (priv->key, priv->released_handler))
 | 
			
		||||
            g_signal_handler_disconnect (priv->key, priv->released_handler);
 | 
			
		||||
        g_object_unref (priv->key);
 | 
			
		||||
        priv->key = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    G_OBJECT_CLASS (eek_clutter_key_parent_class)->dispose (object);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_class_init (EekClutterKeyClass *klass)
 | 
			
		||||
{
 | 
			
		||||
    ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
 | 
			
		||||
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 | 
			
		||||
    GParamSpec *pspec;
 | 
			
		||||
 | 
			
		||||
    g_type_class_add_private (gobject_class,
 | 
			
		||||
                              sizeof (EekClutterKeyPrivate));
 | 
			
		||||
 | 
			
		||||
    actor_class->realize = eek_clutter_key_real_realize;
 | 
			
		||||
    actor_class->paint = eek_clutter_key_real_paint;
 | 
			
		||||
    actor_class->get_preferred_width =
 | 
			
		||||
        eek_clutter_key_real_get_preferred_width;
 | 
			
		||||
    actor_class->get_preferred_height =
 | 
			
		||||
        eek_clutter_key_real_get_preferred_height;
 | 
			
		||||
    actor_class->allocate = eek_clutter_key_real_allocate;
 | 
			
		||||
 | 
			
		||||
    /* signals */
 | 
			
		||||
    actor_class->button_press_event =
 | 
			
		||||
        eek_clutter_key_real_button_press_event;
 | 
			
		||||
    actor_class->button_release_event =
 | 
			
		||||
        eek_clutter_key_real_button_release_event;
 | 
			
		||||
    actor_class->leave_event =
 | 
			
		||||
        eek_clutter_key_real_leave_event;
 | 
			
		||||
 | 
			
		||||
    gobject_class->set_property = eek_clutter_key_set_property;
 | 
			
		||||
    gobject_class->dispose = eek_clutter_key_dispose;
 | 
			
		||||
 | 
			
		||||
    pspec = g_param_spec_object ("key",
 | 
			
		||||
                                 "Key",
 | 
			
		||||
                                 "Key",
 | 
			
		||||
                                 EEK_TYPE_KEY,
 | 
			
		||||
                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_KEY,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
 | 
			
		||||
    pspec = g_param_spec_object ("renderer",
 | 
			
		||||
                                 "Renderer",
 | 
			
		||||
                                 "Renderer",
 | 
			
		||||
                                 EEK_TYPE_RENDERER,
 | 
			
		||||
                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_RENDERER,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_key_init (EekClutterKey *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyPrivate *priv;
 | 
			
		||||
    priv = self->priv = EEK_CLUTTER_KEY_GET_PRIVATE (self);
 | 
			
		||||
    priv->key = NULL;
 | 
			
		||||
    priv->renderer = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ClutterActor *
 | 
			
		||||
eek_clutter_key_new (EekKey *key, EekClutterRenderer *renderer)
 | 
			
		||||
{
 | 
			
		||||
    return g_object_new (EEK_TYPE_CLUTTER_KEY,
 | 
			
		||||
                         "key", key,
 | 
			
		||||
                         "renderer", renderer,
 | 
			
		||||
                         NULL);
 | 
			
		||||
}
 | 
			
		||||
@ -1,63 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
#ifndef EEK_CLUTTER_KEY_H
 | 
			
		||||
#define EEK_CLUTTER_KEY_H 1
 | 
			
		||||
 | 
			
		||||
#include <clutter/clutter.h>
 | 
			
		||||
#include "eek-key.h"
 | 
			
		||||
#include "eek-clutter-renderer.h"
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
#define EEK_TYPE_CLUTTER_KEY (eek_clutter_key_get_type())
 | 
			
		||||
#define EEK_CLUTTER_KEY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEK_TYPE_CLUTTER_KEY, EekClutterKey))
 | 
			
		||||
#define EEK_CLUTTER_KEY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEK_TYPE_CLUTTER_KEY, EekClutterKeyClass))
 | 
			
		||||
#define EEK_IS_CLUTTER_KEY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEK_TYPE_CLUTTER_KEY))
 | 
			
		||||
#define EEK_IS_CLUTTER_KEY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEK_TYPE_CLUTTER_KEY))
 | 
			
		||||
#define EEK_CLUTTER_KEY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEK_TYPE_CLUTTER_KEY, EekClutterKeyClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _EekClutterKey        EekClutterKey;
 | 
			
		||||
typedef struct _EekClutterKeyClass   EekClutterKeyClass;
 | 
			
		||||
typedef struct _EekClutterKeyPrivate EekClutterKeyPrivate;
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKey
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterActor parent;
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    EekClutterKeyPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKeyClass
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterActorClass parent_class;
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
    gpointer pdummy[24];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType         eek_clutter_key_get_type (void) G_GNUC_CONST;
 | 
			
		||||
ClutterActor *eek_clutter_key_new      (EekKey      *key,
 | 
			
		||||
                                        EekClutterRenderer *renderer);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* EEK_CLUTTER_KEY_H */
 | 
			
		||||
@ -1,250 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * SECTION:eek-clutter-keyboard
 | 
			
		||||
 * @short_description: a #ClutterActor displaying #EekKeyboard
 | 
			
		||||
 */
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <gdk-pixbuf/gdk-pixbuf.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include "eek-clutter-keyboard.h"
 | 
			
		||||
#include "eek-clutter-section.h"
 | 
			
		||||
#include "eek-clutter-renderer.h"
 | 
			
		||||
#include "eek-keyboard.h"
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    PROP_0,
 | 
			
		||||
    PROP_KEYBOARD,
 | 
			
		||||
    PROP_LAST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE (EekClutterKeyboard, eek_clutter_keyboard, CLUTTER_TYPE_GROUP);
 | 
			
		||||
 | 
			
		||||
#define EEK_CLUTTER_KEYBOARD_GET_PRIVATE(obj)                                  \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_CLUTTER_KEYBOARD, EekClutterKeyboardPrivate))
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKeyboardPrivate
 | 
			
		||||
{
 | 
			
		||||
    EekKeyboard *keyboard;
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _CreateSectionCallbackData {
 | 
			
		||||
    ClutterActor *actor;
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
};
 | 
			
		||||
typedef struct _CreateSectionCallbackData CreateSectionCallbackData;
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
create_section (EekElement *element, gpointer user_data)
 | 
			
		||||
{
 | 
			
		||||
    CreateSectionCallbackData *data = user_data;
 | 
			
		||||
    ClutterActor *section;
 | 
			
		||||
    
 | 
			
		||||
    section = eek_clutter_section_new (EEK_SECTION(element), data->renderer);
 | 
			
		||||
    clutter_container_add_actor (CLUTTER_CONTAINER(data->actor), section);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_real_realize (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv;
 | 
			
		||||
    CreateSectionCallbackData data;
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    clutter_actor_set_position (CLUTTER_ACTOR(self),
 | 
			
		||||
                                bounds.x * scale,
 | 
			
		||||
                                bounds.y * scale);
 | 
			
		||||
 | 
			
		||||
    data.actor = CLUTTER_ACTOR(self);
 | 
			
		||||
    data.renderer = priv->renderer;
 | 
			
		||||
 | 
			
		||||
    eek_container_foreach_child (EEK_CONTAINER(priv->keyboard),
 | 
			
		||||
                                 create_section,
 | 
			
		||||
                                 &data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_real_get_preferred_width (ClutterActor *self,
 | 
			
		||||
                                               float         for_height,
 | 
			
		||||
                                               float        *min_width_p,
 | 
			
		||||
                                               float        *natural_width_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
    gdouble width;
 | 
			
		||||
 | 
			
		||||
    eek_renderer_get_size (EEK_RENDERER(priv->renderer), &width, NULL);
 | 
			
		||||
    *min_width_p = 0.0f;
 | 
			
		||||
    *natural_width_p = width;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_real_get_preferred_height (ClutterActor *self,
 | 
			
		||||
                                                float         for_width,
 | 
			
		||||
                                                float        *min_height_p,
 | 
			
		||||
                                                float        *natural_height_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
    gdouble height;
 | 
			
		||||
 | 
			
		||||
    eek_renderer_get_size (EEK_RENDERER(priv->renderer), NULL, &height);
 | 
			
		||||
    *min_height_p = 0.0f;
 | 
			
		||||
    *natural_height_p = height;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_real_allocate (ClutterActor          *self,
 | 
			
		||||
                                    const ClutterActorBox *box,
 | 
			
		||||
                                    ClutterAllocationFlags flags)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_assert (priv->renderer);
 | 
			
		||||
    eek_renderer_set_allocation_size (EEK_RENDERER(priv->renderer),
 | 
			
		||||
                                      box->x2 - box->x1,
 | 
			
		||||
                                      box->y2 - box->y1);
 | 
			
		||||
 | 
			
		||||
    CLUTTER_ACTOR_CLASS (eek_clutter_keyboard_parent_class)->
 | 
			
		||||
        allocate (self, box, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
create_renderer (EekClutterKeyboard *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
    PangoContext *pcontext;
 | 
			
		||||
    PangoFontDescription *font;
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
 | 
			
		||||
    pcontext = clutter_actor_get_pango_context (CLUTTER_ACTOR(self));
 | 
			
		||||
    font = pango_font_description_from_string ("Sans 48px");
 | 
			
		||||
    pango_context_set_font_description (pcontext, font);
 | 
			
		||||
    pango_font_description_free (font);
 | 
			
		||||
 | 
			
		||||
    priv->renderer = eek_clutter_renderer_new (priv->keyboard, pcontext);
 | 
			
		||||
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->keyboard), &bounds);
 | 
			
		||||
    eek_renderer_set_allocation_size (EEK_RENDERER(priv->renderer),
 | 
			
		||||
                                      bounds.width,
 | 
			
		||||
                                      bounds.height);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_set_property (GObject      *object,
 | 
			
		||||
                                   guint         prop_id,
 | 
			
		||||
                                   const GValue *value,
 | 
			
		||||
                                   GParamSpec   *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_KEYBOARD:
 | 
			
		||||
        priv->keyboard = g_value_get_object (value);
 | 
			
		||||
        g_object_ref (priv->keyboard);
 | 
			
		||||
        create_renderer (EEK_CLUTTER_KEYBOARD(object));
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
        g_object_set_property (object,
 | 
			
		||||
                               g_param_spec_get_name (pspec),
 | 
			
		||||
                               value);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_dispose (GObject *object)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    if (priv->renderer) {
 | 
			
		||||
        g_object_unref (G_OBJECT(priv->renderer));
 | 
			
		||||
        priv->renderer = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (priv->keyboard) {
 | 
			
		||||
        g_object_unref (priv->keyboard);
 | 
			
		||||
        priv->keyboard = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    G_OBJECT_CLASS (eek_clutter_keyboard_parent_class)->dispose (object);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_class_init (EekClutterKeyboardClass *klass)
 | 
			
		||||
{
 | 
			
		||||
    ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
 | 
			
		||||
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 | 
			
		||||
    GParamSpec *pspec;
 | 
			
		||||
 | 
			
		||||
    g_type_class_add_private (gobject_class,
 | 
			
		||||
                              sizeof (EekClutterKeyboardPrivate));
 | 
			
		||||
 | 
			
		||||
    actor_class->realize =
 | 
			
		||||
        eek_clutter_keyboard_real_realize;
 | 
			
		||||
    actor_class->get_preferred_width =
 | 
			
		||||
        eek_clutter_keyboard_real_get_preferred_width;
 | 
			
		||||
    actor_class->get_preferred_height =
 | 
			
		||||
        eek_clutter_keyboard_real_get_preferred_height;
 | 
			
		||||
    actor_class->allocate = eek_clutter_keyboard_real_allocate;
 | 
			
		||||
 | 
			
		||||
    gobject_class->set_property = eek_clutter_keyboard_set_property;
 | 
			
		||||
    gobject_class->dispose = eek_clutter_keyboard_dispose;
 | 
			
		||||
 | 
			
		||||
    pspec = g_param_spec_object ("keyboard",
 | 
			
		||||
                                 "Keyboard",
 | 
			
		||||
                                 "Keyboard",
 | 
			
		||||
                                 EEK_TYPE_KEYBOARD,
 | 
			
		||||
                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_KEYBOARD,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_keyboard_init (EekClutterKeyboard *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterKeyboardPrivate *priv;
 | 
			
		||||
 | 
			
		||||
    priv = self->priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(self);
 | 
			
		||||
    priv->keyboard = NULL;
 | 
			
		||||
    priv->renderer = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_clutter_keyboard_new:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 *
 | 
			
		||||
 * Create a new #ClutterActor displaying @keyboard.
 | 
			
		||||
 * Returns: a #ClutterActor
 | 
			
		||||
 */
 | 
			
		||||
ClutterActor *
 | 
			
		||||
eek_clutter_keyboard_new (EekKeyboard *keyboard)
 | 
			
		||||
{
 | 
			
		||||
    return g_object_new (EEK_TYPE_CLUTTER_KEYBOARD, "keyboard", keyboard, NULL);
 | 
			
		||||
}
 | 
			
		||||
@ -1,60 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
#ifndef EEK_CLUTTER_KEYBOARD_H
 | 
			
		||||
#define EEK_CLUTTER_KEYBOARD_H 1
 | 
			
		||||
 | 
			
		||||
#include <clutter/clutter.h>
 | 
			
		||||
#include "eek-keyboard.h"
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
#define EEK_TYPE_CLUTTER_KEYBOARD (eek_clutter_keyboard_get_type())
 | 
			
		||||
#define EEK_CLUTTER_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEK_TYPE_CLUTTER_KEYBOARD, EekClutterKeyboard))
 | 
			
		||||
#define EEK_CLUTTER_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEK_TYPE_CLUTTER_KEYBOARD, EekClutterKeyboardClass))
 | 
			
		||||
#define EEK_IS_CLUTTER_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEK_TYPE_CLUTTER_KEYBOARD))
 | 
			
		||||
#define EEK_IS_CLUTTER_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEK_TYPE_CLUTTER_KEYBOARD))
 | 
			
		||||
#define EEK_CLUTTER_KEYBOARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEK_TYPE_CLUTTER_KEYBOARD, EekClutterKeyboardClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _EekClutterKeyboard EekClutterKeyboard;
 | 
			
		||||
typedef struct _EekClutterKeyboardClass EekClutterKeyboardClass;
 | 
			
		||||
typedef struct _EekClutterKeyboardPrivate EekClutterKeyboardPrivate;
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKeyboard
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterGroup parent;
 | 
			
		||||
 | 
			
		||||
    EekClutterKeyboardPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _EekClutterKeyboardClass
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterGroupClass parent_class;
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
    gpointer pdummy[24];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType         eek_clutter_keyboard_get_type  (void) G_GNUC_CONST;
 | 
			
		||||
ClutterActor *eek_clutter_keyboard_new       (EekKeyboard *keyboard);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* EEK_CLUTTER_KEYBOARD_H */
 | 
			
		||||
@ -1,209 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <gdk-pixbuf/gdk-pixbuf.h>
 | 
			
		||||
#include <cogl/cogl.h>
 | 
			
		||||
#include <cogl/cogl-pango.h>
 | 
			
		||||
#include <clutter/clutter.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include "eek-clutter-renderer.h"
 | 
			
		||||
#include "eek-key.h"
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE (EekClutterRenderer, eek_clutter_renderer, EEK_TYPE_RENDERER);
 | 
			
		||||
 | 
			
		||||
#define EEK_CLUTTER_RENDERER_GET_PRIVATE(obj)                                  \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_CLUTTER_RENDERER, EekClutterRendererPrivate))
 | 
			
		||||
 | 
			
		||||
struct _EekClutterRendererPrivate
 | 
			
		||||
{
 | 
			
		||||
    GHashTable *outline_texture_cache;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* This routine is copied from librsvg:
 | 
			
		||||
   Copyright © 2005 Dom Lachowicz <cinamod@hotmail.com>
 | 
			
		||||
   Copyright © 2005 Caleb Moore <c.moore@student.unsw.edu.au>
 | 
			
		||||
   Copyright © 2005 Red Hat, Inc.
 | 
			
		||||
 */
 | 
			
		||||
static void
 | 
			
		||||
cairo_pixels_to_pixbuf (guint8 *pixels,
 | 
			
		||||
                        int     rowstride,
 | 
			
		||||
                        int     height)
 | 
			
		||||
{
 | 
			
		||||
    int row;
 | 
			
		||||
 | 
			
		||||
    /* un-premultiply data */
 | 
			
		||||
    for (row = 0; row < height; row++) {
 | 
			
		||||
        guint8 *row_data = (pixels + (row * rowstride));
 | 
			
		||||
        int i;
 | 
			
		||||
 | 
			
		||||
        for (i = 0; i < rowstride; i += 4) {
 | 
			
		||||
            guint8 *b = &row_data[i];
 | 
			
		||||
            guint32 pixel;
 | 
			
		||||
            guint8 alpha;
 | 
			
		||||
 | 
			
		||||
            memcpy (&pixel, b, sizeof (guint32));
 | 
			
		||||
            alpha = (pixel & 0xff000000) >> 24;
 | 
			
		||||
            if (alpha == 0) {
 | 
			
		||||
                b[0] = b[1] = b[2] = b[3] = 0;
 | 
			
		||||
            } else {
 | 
			
		||||
                b[0] = (((pixel & 0xff0000) >> 16) * 255 + alpha / 2) / alpha;
 | 
			
		||||
                b[1] = (((pixel & 0x00ff00) >> 8) * 255 + alpha / 2) / alpha;
 | 
			
		||||
                b[2] = (((pixel & 0x0000ff) >> 0) * 255 + alpha / 2) / alpha;
 | 
			
		||||
                b[3] = alpha;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_renderer_class_init (EekClutterRendererClass *klass)
 | 
			
		||||
{
 | 
			
		||||
    GObjectClass      *gobject_class = G_OBJECT_CLASS (klass);
 | 
			
		||||
 | 
			
		||||
    g_type_class_add_private (gobject_class,
 | 
			
		||||
                              sizeof (EekClutterRendererPrivate));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_renderer_init (EekClutterRenderer *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterRendererPrivate *priv;
 | 
			
		||||
 | 
			
		||||
    priv = self->priv = EEK_CLUTTER_RENDERER_GET_PRIVATE(self);
 | 
			
		||||
    priv->outline_texture_cache =
 | 
			
		||||
        g_hash_table_new_full (g_direct_hash,
 | 
			
		||||
                               g_direct_equal,
 | 
			
		||||
                               NULL,
 | 
			
		||||
                               cogl_handle_unref);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
eek_clutter_renderer_render_key (EekClutterRenderer *renderer,
 | 
			
		||||
                                 ClutterActor       *actor,
 | 
			
		||||
                                 EekKey             *key)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterRendererPrivate *priv;
 | 
			
		||||
    EekOutline *outline;
 | 
			
		||||
    CoglHandle *outline_texture;
 | 
			
		||||
    PangoLayout *layout;
 | 
			
		||||
    PangoRectangle extents = { 0, };
 | 
			
		||||
    CoglColor color = { 0x00, 0x00, 0x00, 0xFF };
 | 
			
		||||
    ClutterGeometry geom;
 | 
			
		||||
 | 
			
		||||
    g_assert (EEK_IS_CLUTTER_RENDERER(renderer));
 | 
			
		||||
    g_assert (CLUTTER_IS_ACTOR(actor));
 | 
			
		||||
    g_assert (EEK_IS_KEY(key));
 | 
			
		||||
 | 
			
		||||
    priv = EEK_CLUTTER_RENDERER_GET_PRIVATE(renderer);
 | 
			
		||||
 | 
			
		||||
    outline = eek_key_get_outline (key);
 | 
			
		||||
 | 
			
		||||
    outline_texture = g_hash_table_lookup (priv->outline_texture_cache,
 | 
			
		||||
                                           outline);
 | 
			
		||||
    if (!outline_texture) {
 | 
			
		||||
        gint rowstride;
 | 
			
		||||
        guint8 *data;
 | 
			
		||||
        cairo_surface_t *surface;
 | 
			
		||||
        cairo_t *cr;
 | 
			
		||||
        EekBounds bounds;
 | 
			
		||||
        gdouble scale;
 | 
			
		||||
        GdkPixbuf *pixbuf;
 | 
			
		||||
 | 
			
		||||
        eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
 | 
			
		||||
        scale = eek_renderer_get_scale (EEK_RENDERER(renderer));
 | 
			
		||||
        rowstride = cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32,
 | 
			
		||||
                                                   bounds.width * scale);
 | 
			
		||||
 | 
			
		||||
        data = g_malloc0 (rowstride * bounds.height);
 | 
			
		||||
        surface = cairo_image_surface_create_for_data (data,
 | 
			
		||||
                                                       CAIRO_FORMAT_ARGB32,
 | 
			
		||||
                                                       bounds.width * scale,
 | 
			
		||||
                                                       bounds.height * scale,
 | 
			
		||||
                                                       rowstride);
 | 
			
		||||
        cr = cairo_create (surface);
 | 
			
		||||
        eek_renderer_render_key_outline (EEK_RENDERER(renderer),
 | 
			
		||||
                                         cr,
 | 
			
		||||
                                         key,
 | 
			
		||||
                                         1.0,
 | 
			
		||||
                                         FALSE);
 | 
			
		||||
        cairo_destroy (cr);
 | 
			
		||||
        cairo_surface_destroy (surface);
 | 
			
		||||
        cairo_pixels_to_pixbuf (data, rowstride, bounds.height * scale);
 | 
			
		||||
 | 
			
		||||
        pixbuf = gdk_pixbuf_new_from_data (data,
 | 
			
		||||
                                           GDK_COLORSPACE_RGB,
 | 
			
		||||
                                           TRUE,
 | 
			
		||||
                                           8,
 | 
			
		||||
                                           bounds.width * scale,
 | 
			
		||||
                                           bounds.height * scale,
 | 
			
		||||
                                           rowstride,
 | 
			
		||||
                                           (GdkPixbufDestroyNotify) g_free,
 | 
			
		||||
                                           data);
 | 
			
		||||
 | 
			
		||||
        outline_texture =
 | 
			
		||||
            cogl_texture_new_from_data (gdk_pixbuf_get_width (pixbuf),
 | 
			
		||||
                                        gdk_pixbuf_get_height (pixbuf),
 | 
			
		||||
                                        COGL_TEXTURE_NONE,
 | 
			
		||||
                                        gdk_pixbuf_get_has_alpha (pixbuf)
 | 
			
		||||
                                        ? COGL_PIXEL_FORMAT_RGBA_8888
 | 
			
		||||
                                        : COGL_PIXEL_FORMAT_RGB_888,
 | 
			
		||||
                                        COGL_PIXEL_FORMAT_ANY,
 | 
			
		||||
                                        gdk_pixbuf_get_rowstride (pixbuf),
 | 
			
		||||
                                        gdk_pixbuf_get_pixels (pixbuf));
 | 
			
		||||
        g_object_unref (pixbuf);
 | 
			
		||||
 | 
			
		||||
        g_hash_table_insert (priv->outline_texture_cache,
 | 
			
		||||
                             outline,
 | 
			
		||||
                             outline_texture);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    clutter_actor_get_allocation_geometry (actor, &geom);
 | 
			
		||||
    cogl_set_source_texture (outline_texture);
 | 
			
		||||
    cogl_rectangle (0.0f, 0.0f, geom.width, geom.height);
 | 
			
		||||
 | 
			
		||||
    layout = eek_renderer_create_pango_layout (EEK_RENDERER(renderer));
 | 
			
		||||
    eek_renderer_render_key_label (EEK_RENDERER(renderer), layout, key);
 | 
			
		||||
    pango_layout_get_extents (layout, NULL, &extents);
 | 
			
		||||
    cogl_pango_render_layout (layout,
 | 
			
		||||
                              (geom.width - extents.width / PANGO_SCALE) / 2,
 | 
			
		||||
                              (geom.height - extents.height / PANGO_SCALE) / 2,
 | 
			
		||||
                              &color,
 | 
			
		||||
                              0);
 | 
			
		||||
    g_object_unref (layout);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
EekClutterRenderer *
 | 
			
		||||
eek_clutter_renderer_new (EekKeyboard        *keyboard,
 | 
			
		||||
                          PangoContext       *pcontext)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
 | 
			
		||||
    renderer = g_object_new (EEK_TYPE_CLUTTER_RENDERER,
 | 
			
		||||
                             "keyboard", keyboard,
 | 
			
		||||
                             "pango-context", pcontext,
 | 
			
		||||
                             NULL);
 | 
			
		||||
 | 
			
		||||
    return renderer;
 | 
			
		||||
}
 | 
			
		||||
@ -1,64 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef EEK_CLUTTER_RENDERER_H
 | 
			
		||||
#define EEK_CLUTTER_RENDERER_H 1
 | 
			
		||||
 | 
			
		||||
#include "eek-renderer.h"
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define EEK_TYPE_CLUTTER_RENDERER (eek_clutter_renderer_get_type())
 | 
			
		||||
#define EEK_CLUTTER_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEK_TYPE_CLUTTER_RENDERER, EekClutterRenderer))
 | 
			
		||||
#define EEK_CLUTTER_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEK_TYPE_CLUTTER_RENDERER, EekClutterRendererClass))
 | 
			
		||||
#define EEK_IS_CLUTTER_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEK_TYPE_CLUTTER_RENDERER))
 | 
			
		||||
#define EEK_IS_CLUTTER_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEK_TYPE_CLUTTER_RENDERER))
 | 
			
		||||
#define EEK_CLUTTER_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEK_TYPE_CLUTTER_RENDERER, EekClutterRendererClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _EekClutterRenderer EekClutterRenderer;
 | 
			
		||||
typedef struct _EekClutterRendererClass EekClutterRendererClass;
 | 
			
		||||
typedef struct _EekClutterRendererPrivate EekClutterRendererPrivate;
 | 
			
		||||
 | 
			
		||||
struct _EekClutterRenderer {
 | 
			
		||||
    EekRenderer parent;
 | 
			
		||||
 | 
			
		||||
    EekClutterRendererPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _EekClutterRendererClass
 | 
			
		||||
{
 | 
			
		||||
    EekRendererClass parent_class;
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
    gpointer pdummy[24];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType               eek_clutter_renderer_get_type
 | 
			
		||||
                                             (void) G_GNUC_CONST;
 | 
			
		||||
EekClutterRenderer *eek_clutter_renderer_new (EekKeyboard        *keyboard,
 | 
			
		||||
                                              PangoContext       *pcontext);
 | 
			
		||||
void                eek_clutter_renderer_render_key
 | 
			
		||||
                                             (EekClutterRenderer *renderer,
 | 
			
		||||
                                              ClutterActor       *actor,
 | 
			
		||||
                                              EekKey             *key);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* EEK_CLUTTER_RENDERER_H */
 | 
			
		||||
@ -1,232 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include "eek-clutter-section.h"
 | 
			
		||||
#include "eek-clutter-key.h"
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    PROP_0,
 | 
			
		||||
    PROP_SECTION,
 | 
			
		||||
    PROP_RENDERER,
 | 
			
		||||
    PROP_LAST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE (EekClutterSection, eek_clutter_section, CLUTTER_TYPE_GROUP);
 | 
			
		||||
 | 
			
		||||
#define EEK_CLUTTER_SECTION_GET_PRIVATE(obj)                           \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_CLUTTER_SECTION, EekClutterSectionPrivate))
 | 
			
		||||
 | 
			
		||||
struct _EekClutterSectionPrivate
 | 
			
		||||
{
 | 
			
		||||
    EekSection *section;
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _CreateKeyCallbackData {
 | 
			
		||||
    ClutterActor *actor;
 | 
			
		||||
    EekClutterRenderer *renderer;
 | 
			
		||||
};
 | 
			
		||||
typedef struct _CreateKeyCallbackData CreateKeyCallbackData;
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
create_key (EekElement *element, gpointer user_data)
 | 
			
		||||
{
 | 
			
		||||
    CreateKeyCallbackData *data = user_data;
 | 
			
		||||
    ClutterActor *key;
 | 
			
		||||
 | 
			
		||||
    key = eek_clutter_key_new (EEK_KEY(element), data->renderer);
 | 
			
		||||
    clutter_container_add_actor (CLUTTER_CONTAINER(data->actor), key);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
set_position (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->section), &bounds);
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    clutter_actor_set_position (self, bounds.x * scale, bounds.y * scale);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_real_realize (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
 | 
			
		||||
    CreateKeyCallbackData data;
 | 
			
		||||
 | 
			
		||||
    clutter_actor_set_rotation (self,
 | 
			
		||||
                                CLUTTER_Z_AXIS,
 | 
			
		||||
                                eek_section_get_angle (priv->section),
 | 
			
		||||
                                0.0f, 0.0f, 0.0f);
 | 
			
		||||
    set_position (self);
 | 
			
		||||
    data.actor = self;
 | 
			
		||||
    data.renderer = priv->renderer;
 | 
			
		||||
    eek_container_foreach_child (EEK_CONTAINER(priv->section),
 | 
			
		||||
                                 create_key,
 | 
			
		||||
                                 &data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_real_paint (ClutterActor *self)
 | 
			
		||||
{
 | 
			
		||||
    set_position (self);
 | 
			
		||||
    CLUTTER_ACTOR_CLASS (eek_clutter_section_parent_class)->
 | 
			
		||||
        paint (self);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_real_get_preferred_width (ClutterActor *self,
 | 
			
		||||
                                              float         for_height,
 | 
			
		||||
                                              float        *min_width_p,
 | 
			
		||||
                                              float        *natural_width_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->section), &bounds);
 | 
			
		||||
    *min_width_p = 0.0f;
 | 
			
		||||
    *natural_width_p = bounds.width * scale;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_real_get_preferred_height (ClutterActor *self,
 | 
			
		||||
                                               float         for_width,
 | 
			
		||||
                                               float        *min_height_p,
 | 
			
		||||
                                               float        *natural_height_p)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(self);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    gdouble scale;
 | 
			
		||||
 | 
			
		||||
    scale = eek_renderer_get_scale (EEK_RENDERER(priv->renderer));
 | 
			
		||||
    eek_element_get_bounds (EEK_ELEMENT(priv->section), &bounds);
 | 
			
		||||
    *min_height_p = 0.0f;
 | 
			
		||||
    *natural_height_p = bounds.height * scale;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_set_property (GObject      *object,
 | 
			
		||||
                                  guint         prop_id,
 | 
			
		||||
                                  const GValue *value,
 | 
			
		||||
                                  GParamSpec   *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_SECTION:
 | 
			
		||||
        priv->section = g_value_get_object (value);
 | 
			
		||||
        g_object_ref (priv->section);
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_RENDERER:
 | 
			
		||||
        priv->renderer = g_value_get_object (value);
 | 
			
		||||
        g_object_ref (priv->renderer);
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
        g_object_set_property (object,
 | 
			
		||||
                               g_param_spec_get_name (pspec),
 | 
			
		||||
                               value);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_dispose (GObject *object)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(object);
 | 
			
		||||
 | 
			
		||||
    if (priv->renderer) {
 | 
			
		||||
        g_object_unref (priv->renderer);
 | 
			
		||||
        priv->renderer = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (priv->section) {
 | 
			
		||||
        g_object_unref (priv->section);
 | 
			
		||||
        priv->section = NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    G_OBJECT_CLASS (eek_clutter_section_parent_class)->dispose (object);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_class_init (EekClutterSectionClass *klass)
 | 
			
		||||
{
 | 
			
		||||
    ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
 | 
			
		||||
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 | 
			
		||||
    GParamSpec *pspec;
 | 
			
		||||
 | 
			
		||||
    g_type_class_add_private (gobject_class, sizeof (EekClutterSectionPrivate));
 | 
			
		||||
 | 
			
		||||
    actor_class->realize =
 | 
			
		||||
        eek_clutter_section_real_realize;
 | 
			
		||||
    actor_class->paint =
 | 
			
		||||
        eek_clutter_section_real_paint;
 | 
			
		||||
    actor_class->get_preferred_width =
 | 
			
		||||
        eek_clutter_section_real_get_preferred_width;
 | 
			
		||||
    actor_class->get_preferred_height =
 | 
			
		||||
        eek_clutter_section_real_get_preferred_height;
 | 
			
		||||
 | 
			
		||||
    gobject_class->set_property = eek_clutter_section_set_property;
 | 
			
		||||
    gobject_class->dispose = eek_clutter_section_dispose;
 | 
			
		||||
 | 
			
		||||
    pspec = g_param_spec_object ("section",
 | 
			
		||||
                                 "Section",
 | 
			
		||||
                                 "Section",
 | 
			
		||||
                                 EEK_TYPE_SECTION,
 | 
			
		||||
                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_SECTION,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
 | 
			
		||||
    pspec = g_param_spec_object ("renderer",
 | 
			
		||||
                                 "Renderer",
 | 
			
		||||
                                 "Renderer",
 | 
			
		||||
                                 EEK_TYPE_RENDERER,
 | 
			
		||||
                                 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_RENDERER,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_clutter_section_init (EekClutterSection *self)
 | 
			
		||||
{
 | 
			
		||||
    EekClutterSectionPrivate *priv;
 | 
			
		||||
    priv = self->priv = EEK_CLUTTER_SECTION_GET_PRIVATE (self);
 | 
			
		||||
    priv->section = NULL;
 | 
			
		||||
    priv->renderer = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ClutterActor *
 | 
			
		||||
eek_clutter_section_new (EekSection         *section,
 | 
			
		||||
                         EekClutterRenderer *renderer)
 | 
			
		||||
{
 | 
			
		||||
    return g_object_new (EEK_TYPE_CLUTTER_SECTION,
 | 
			
		||||
                         "section", section,
 | 
			
		||||
                         "renderer", renderer,
 | 
			
		||||
                         NULL);
 | 
			
		||||
}
 | 
			
		||||
@ -1,62 +0,0 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
 | 
			
		||||
 * Copyright (C) 2010-2011 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 library; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
 * 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
#ifndef EEK_CLUTTER_SECTION_H
 | 
			
		||||
#define EEK_CLUTTER_SECTION_H 1
 | 
			
		||||
 | 
			
		||||
#include <clutter/clutter.h>
 | 
			
		||||
#include "eek-section.h"
 | 
			
		||||
#include "eek-clutter-renderer.h"
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
#define EEK_TYPE_CLUTTER_SECTION (eek_clutter_section_get_type())
 | 
			
		||||
#define EEK_CLUTTER_SECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEK_TYPE_CLUTTER_SECTION, EekClutterSection))
 | 
			
		||||
#define EEK_CLUTTER_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEK_TYPE_CLUTTER_SECTION, EekClutterSectionClass))
 | 
			
		||||
#define EEK_IS_CLUTTER_SECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEK_TYPE_CLUTTER_SECTION))
 | 
			
		||||
#define EEK_IS_CLUTTER_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEK_TYPE_CLUTTER_SECTION))
 | 
			
		||||
#define EEK_CLUTTER_SECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEK_TYPE_CLUTTER_SECTION, EekClutterSectionClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _EekClutterSection        EekClutterSection;
 | 
			
		||||
typedef struct _EekClutterSectionClass   EekClutterSectionClass;
 | 
			
		||||
typedef struct _EekClutterSectionPrivate EekClutterSectionPrivate;
 | 
			
		||||
 | 
			
		||||
struct _EekClutterSection
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterGroup parent;
 | 
			
		||||
 | 
			
		||||
    EekClutterSectionPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _EekClutterSectionClass
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    ClutterGroupClass parent_class;
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
    gpointer pdummy[24];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType         eek_clutter_section_get_type (void) G_GNUC_CONST;
 | 
			
		||||
ClutterActor *eek_clutter_section_new      (EekSection         *section,
 | 
			
		||||
                                            EekClutterRenderer *renderer);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* EEK_CLUTTER_SECTION_H */
 | 
			
		||||
@ -31,7 +31,6 @@
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include "eek-container.h"
 | 
			
		||||
#include "eek-serializable.h"
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    CHILD_ADDED,
 | 
			
		||||
@ -41,11 +40,7 @@ enum {
 | 
			
		||||
 | 
			
		||||
static guint signals[LAST_SIGNAL] = { 0, };
 | 
			
		||||
 | 
			
		||||
static void eek_serializable_iface_init (EekSerializableIface *iface);
 | 
			
		||||
 | 
			
		||||
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (EekContainer, eek_container, EEK_TYPE_ELEMENT,
 | 
			
		||||
                                  G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE,
 | 
			
		||||
                                                         eek_serializable_iface_init));
 | 
			
		||||
G_DEFINE_ABSTRACT_TYPE (EekContainer, eek_container, EEK_TYPE_ELEMENT);
 | 
			
		||||
 | 
			
		||||
#define EEK_CONTAINER_GET_PRIVATE(obj)                                  \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_CONTAINER, EekContainerPrivate))
 | 
			
		||||
@ -53,63 +48,10 @@ 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;
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_container_real_serialize (EekSerializable *self,
 | 
			
		||||
                              GVariantBuilder *builder)
 | 
			
		||||
{
 | 
			
		||||
    EekContainerPrivate *priv = EEK_CONTAINER_GET_PRIVATE(self);
 | 
			
		||||
    GSList *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)) {
 | 
			
		||||
        GVariant *variant =
 | 
			
		||||
            eek_serializable_serialize (EEK_SERIALIZABLE(head->data));
 | 
			
		||||
        g_variant_builder_add (&array, "v", variant);
 | 
			
		||||
    }
 | 
			
		||||
    g_variant_builder_add (builder, "v", g_variant_builder_end (&array));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gsize
 | 
			
		||||
eek_container_real_deserialize (EekSerializable *self,
 | 
			
		||||
                                GVariant        *variant,
 | 
			
		||||
                                gsize            index)
 | 
			
		||||
{
 | 
			
		||||
    GVariant *array, *child;
 | 
			
		||||
    GVariantIter iter;
 | 
			
		||||
 | 
			
		||||
    index = eek_container_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", &child)) {
 | 
			
		||||
        EekSerializable *serializable = eek_serializable_deserialize (child);
 | 
			
		||||
        eek_container_add_child (EEK_CONTAINER(self),
 | 
			
		||||
                                 EEK_ELEMENT(serializable));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_serializable_iface_init (EekSerializableIface *iface)
 | 
			
		||||
{
 | 
			
		||||
    eek_container_parent_serializable_iface =
 | 
			
		||||
        g_type_interface_peek_parent (iface);
 | 
			
		||||
 | 
			
		||||
    iface->serialize = eek_container_real_serialize;
 | 
			
		||||
    iface->deserialize = eek_container_real_deserialize;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_container_real_add_child (EekContainer *self,
 | 
			
		||||
                              EekElement   *child)
 | 
			
		||||
@ -119,9 +61,14 @@ 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);
 | 
			
		||||
    g_signal_emit (self, signals[CHILD_ADDED], 0, child);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@ -129,15 +76,17 @@ 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);
 | 
			
		||||
    g_signal_emit (self, signals[CHILD_REMOVED], 0, child);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@ -146,9 +95,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 +107,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 +119,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);
 | 
			
		||||
}
 | 
			
		||||
@ -208,7 +157,7 @@ eek_container_class_init (EekContainerClass *klass)
 | 
			
		||||
     * added to @container.
 | 
			
		||||
     */
 | 
			
		||||
    signals[CHILD_ADDED] =
 | 
			
		||||
        g_signal_new ("child-added",
 | 
			
		||||
        g_signal_new (I_("child-added"),
 | 
			
		||||
                      G_TYPE_FROM_CLASS(gobject_class),
 | 
			
		||||
                      G_SIGNAL_RUN_FIRST,
 | 
			
		||||
                      G_STRUCT_OFFSET(EekContainerClass, child_added),
 | 
			
		||||
@ -226,7 +175,7 @@ eek_container_class_init (EekContainerClass *klass)
 | 
			
		||||
     * removed from @container.
 | 
			
		||||
     */
 | 
			
		||||
    signals[CHILD_REMOVED] =
 | 
			
		||||
        g_signal_new ("child-removed",
 | 
			
		||||
        g_signal_new (I_("child-removed"),
 | 
			
		||||
                      G_TYPE_FROM_CLASS(gobject_class),
 | 
			
		||||
                      G_SIGNAL_RUN_FIRST,
 | 
			
		||||
                      G_STRUCT_OFFSET(EekContainerClass, child_removed),
 | 
			
		||||
@ -240,16 +189,13 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_container_foreach_child:
 | 
			
		||||
 * @container: an #EekContainer
 | 
			
		||||
 * @callback: an #EekCallback
 | 
			
		||||
 * @callback: (scope call): an #EekCallback
 | 
			
		||||
 * @user_data: additional data passed to @callback
 | 
			
		||||
 *
 | 
			
		||||
 * Enumerate children of @container and run @callback with each child.
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -34,6 +39,14 @@ G_BEGIN_DECLS
 | 
			
		||||
typedef struct _EekContainerClass EekContainerClass;
 | 
			
		||||
typedef struct _EekContainerPrivate EekContainerPrivate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * EekCallback:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @user_data: user-supplied data
 | 
			
		||||
 *
 | 
			
		||||
 * The type of the callback function used for iterating over the
 | 
			
		||||
 * children of a container, see eek_container_foreach_child().
 | 
			
		||||
 */
 | 
			
		||||
typedef void (*EekCallback) (EekElement *element, gpointer user_data);
 | 
			
		||||
typedef gint (*EekCompareFunc) (EekElement *element, gpointer user_data);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -26,28 +26,33 @@
 | 
			
		||||
 * shall be used to implement #EekKeyboard, #EekSection, or #EekKey.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif  /* HAVE_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include "eek-element.h"
 | 
			
		||||
#include "eek-container.h"
 | 
			
		||||
#include "eek-serializable.h"
 | 
			
		||||
#include "eek-marshalers.h"
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    PROP_0,
 | 
			
		||||
    PROP_NAME,
 | 
			
		||||
    PROP_BOUNDS,
 | 
			
		||||
    PROP_GROUP,
 | 
			
		||||
    PROP_LEVEL,
 | 
			
		||||
    PROP_LAST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void eek_serializable_iface_init (EekSerializableIface *iface);
 | 
			
		||||
enum {
 | 
			
		||||
    SYMBOL_INDEX_CHANGED,
 | 
			
		||||
    LAST_SIGNAL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (EekElement, eek_element, G_TYPE_OBJECT,
 | 
			
		||||
                                  G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE,
 | 
			
		||||
                                                         eek_serializable_iface_init));
 | 
			
		||||
static guint signals[LAST_SIGNAL] = { 0, };
 | 
			
		||||
 | 
			
		||||
G_DEFINE_ABSTRACT_TYPE (EekElement, eek_element, G_TYPE_OBJECT);
 | 
			
		||||
 | 
			
		||||
#define EEK_ELEMENT_GET_PRIVATE(obj)                                  \
 | 
			
		||||
    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_ELEMENT, EekElementPrivate))
 | 
			
		||||
@ -58,128 +63,16 @@ struct _EekElementPrivate
 | 
			
		||||
    gchar *name;
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
    EekElement *parent;
 | 
			
		||||
    gint group;
 | 
			
		||||
    gint level;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static GVariant *
 | 
			
		||||
_g_variant_new_bounds (EekBounds *bounds)
 | 
			
		||||
{
 | 
			
		||||
    GVariantBuilder builder;
 | 
			
		||||
 | 
			
		||||
    g_variant_builder_init (&builder, G_VARIANT_TYPE ("ad"));
 | 
			
		||||
    g_variant_builder_add (&builder, "d", bounds->x);
 | 
			
		||||
    g_variant_builder_add (&builder, "d", bounds->y);
 | 
			
		||||
    g_variant_builder_add (&builder, "d", bounds->width);
 | 
			
		||||
    g_variant_builder_add (&builder, "d", bounds->height);
 | 
			
		||||
 | 
			
		||||
    return g_variant_builder_end (&builder);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
_g_variant_get_bounds (GVariant *variant, EekBounds *bounds)
 | 
			
		||||
eek_element_real_symbol_index_changed (EekElement *self,
 | 
			
		||||
                                       gint        group,
 | 
			
		||||
                                       gint        level)
 | 
			
		||||
{
 | 
			
		||||
    g_variant_get_child (variant, 0, "d", &bounds->x);
 | 
			
		||||
    g_variant_get_child (variant, 1, "d", &bounds->y);
 | 
			
		||||
    g_variant_get_child (variant, 2, "d", &bounds->width);
 | 
			
		||||
    g_variant_get_child (variant, 3, "d", &bounds->height);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_element_real_serialize (EekSerializable *self,
 | 
			
		||||
                            GVariantBuilder *builder)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_variant_builder_add (builder, "s", priv->name == NULL ? "" : priv->name);
 | 
			
		||||
    g_variant_builder_add (builder, "v", _g_variant_new_bounds (&priv->bounds));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gsize
 | 
			
		||||
eek_element_real_deserialize (EekSerializable *self,
 | 
			
		||||
                              GVariant        *variant,
 | 
			
		||||
                              gsize            index)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
    GVariant *bounds;
 | 
			
		||||
 | 
			
		||||
    g_variant_get_child (variant, index++, "s", &priv->name);
 | 
			
		||||
    g_variant_get_child (variant, index++, "v", &bounds);
 | 
			
		||||
    _g_variant_get_bounds (bounds, &priv->bounds);
 | 
			
		||||
 | 
			
		||||
    return index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_serializable_iface_init (EekSerializableIface *iface)
 | 
			
		||||
{
 | 
			
		||||
    iface->serialize = eek_element_real_serialize;
 | 
			
		||||
    iface->deserialize = eek_element_real_deserialize;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_element_real_set_parent (EekElement *self,
 | 
			
		||||
                             EekElement *parent)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    if (!parent) {
 | 
			
		||||
        g_return_if_fail (priv->parent);
 | 
			
		||||
        /* release self-reference acquired when setting parent */
 | 
			
		||||
        g_object_unref (self);
 | 
			
		||||
        priv->parent = NULL;
 | 
			
		||||
    } else {
 | 
			
		||||
        g_return_if_fail (!priv->parent);
 | 
			
		||||
        g_object_ref (self);
 | 
			
		||||
        priv->parent = parent;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static EekElement *
 | 
			
		||||
eek_element_real_get_parent (EekElement *self)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    return priv->parent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_element_real_set_name (EekElement  *self,
 | 
			
		||||
                           const gchar *name)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_free (priv->name);
 | 
			
		||||
    priv->name = g_strdup (name);
 | 
			
		||||
 | 
			
		||||
    g_object_notify (G_OBJECT(self), "name");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static G_CONST_RETURN gchar *
 | 
			
		||||
eek_element_real_get_name (EekElement *self)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    return priv->name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_element_real_set_bounds (EekElement *self,
 | 
			
		||||
                             EekBounds *bounds)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    priv->bounds = *bounds;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
eek_element_real_get_bounds (EekElement *self,
 | 
			
		||||
                             EekBounds  *bounds)
 | 
			
		||||
{
 | 
			
		||||
    EekElementPrivate *priv = EEK_ELEMENT_GET_PRIVATE(self);
 | 
			
		||||
 | 
			
		||||
    g_return_if_fail (bounds);
 | 
			
		||||
    *bounds = priv->bounds;
 | 
			
		||||
 | 
			
		||||
    g_object_notify (G_OBJECT(self), "bounds");
 | 
			
		||||
    // g_debug ("symbol-index-changed");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@ -197,15 +90,21 @@ eek_element_set_property (GObject      *object,
 | 
			
		||||
                          const GValue *value,
 | 
			
		||||
                          GParamSpec   *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekElement *element = EEK_ELEMENT(object);
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_NAME:
 | 
			
		||||
        eek_element_set_name (EEK_ELEMENT(object),
 | 
			
		||||
                              g_value_get_string (value));
 | 
			
		||||
        eek_element_set_name (element,
 | 
			
		||||
                              g_value_dup_string (value));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_BOUNDS:
 | 
			
		||||
        eek_element_set_bounds (EEK_ELEMENT(object),
 | 
			
		||||
                                g_value_get_boxed (value));
 | 
			
		||||
        eek_element_set_bounds (element, g_value_get_boxed (value));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_GROUP:
 | 
			
		||||
        eek_element_set_group (element, g_value_get_int (value));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LEVEL:
 | 
			
		||||
        eek_element_set_level (element, g_value_get_int (value));
 | 
			
		||||
    default:
 | 
			
		||||
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 | 
			
		||||
        break;
 | 
			
		||||
@ -218,16 +117,23 @@ eek_element_get_property (GObject    *object,
 | 
			
		||||
                          GValue     *value,
 | 
			
		||||
                          GParamSpec *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekElement *element = EEK_ELEMENT(object);
 | 
			
		||||
    EekBounds bounds;
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_NAME:
 | 
			
		||||
        g_value_set_string (value, eek_element_get_name (EEK_ELEMENT(object)));
 | 
			
		||||
        g_value_set_string (value, eek_element_get_name (element));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_BOUNDS:
 | 
			
		||||
        eek_element_get_bounds (EEK_ELEMENT(object), &bounds);
 | 
			
		||||
        eek_element_get_bounds (element, &bounds);
 | 
			
		||||
        g_value_set_boxed (value, &bounds);
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_GROUP:
 | 
			
		||||
        g_value_set_int (value, eek_element_get_group (element));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LEVEL:
 | 
			
		||||
        g_value_set_int (value, eek_element_get_level (element));
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 | 
			
		||||
        break;
 | 
			
		||||
@ -243,12 +149,8 @@ eek_element_class_init (EekElementClass *klass)
 | 
			
		||||
    g_type_class_add_private (gobject_class,
 | 
			
		||||
                              sizeof (EekElementPrivate));
 | 
			
		||||
 | 
			
		||||
    klass->set_parent = eek_element_real_set_parent;
 | 
			
		||||
    klass->get_parent = eek_element_real_get_parent;
 | 
			
		||||
    klass->set_name = eek_element_real_set_name;
 | 
			
		||||
    klass->get_name = eek_element_real_get_name;
 | 
			
		||||
    klass->set_bounds = eek_element_real_set_bounds;
 | 
			
		||||
    klass->get_bounds = eek_element_real_get_bounds;
 | 
			
		||||
    /* signals */
 | 
			
		||||
    klass->symbol_index_changed = eek_element_real_symbol_index_changed;
 | 
			
		||||
 | 
			
		||||
    gobject_class->set_property = eek_element_set_property;
 | 
			
		||||
    gobject_class->get_property = eek_element_get_property;
 | 
			
		||||
@ -281,6 +183,56 @@ eek_element_class_init (EekElementClass *klass)
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_BOUNDS,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * EekElement:group:
 | 
			
		||||
     *
 | 
			
		||||
     * The group value of the symbol index of #EekElement.
 | 
			
		||||
     */
 | 
			
		||||
    pspec = g_param_spec_int ("group",
 | 
			
		||||
                              "Group",
 | 
			
		||||
                              "Group value of the symbol index",
 | 
			
		||||
                              -1, G_MAXINT, -1,
 | 
			
		||||
                              G_PARAM_READWRITE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_GROUP,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * EekElement:level:
 | 
			
		||||
     *
 | 
			
		||||
     * The level value of the symbol index of #EekElement.
 | 
			
		||||
     */
 | 
			
		||||
    pspec = g_param_spec_int ("level",
 | 
			
		||||
                              "Level",
 | 
			
		||||
                              "Level value of the symbol index",
 | 
			
		||||
                              -1, G_MAXINT, -1,
 | 
			
		||||
                              G_PARAM_READWRITE);
 | 
			
		||||
    g_object_class_install_property (gobject_class,
 | 
			
		||||
                                     PROP_LEVEL,
 | 
			
		||||
                                     pspec);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * EekElement::symbol-index-changed:
 | 
			
		||||
     * @element: an #EekElement
 | 
			
		||||
     * @group: row index of the symbol matrix of keys on @element
 | 
			
		||||
     * @level: column index of the symbol matrix of keys on @element
 | 
			
		||||
     *
 | 
			
		||||
     * The ::symbol-index-changed signal is emitted each time the
 | 
			
		||||
     * global configuration of group/level index changes.
 | 
			
		||||
     */
 | 
			
		||||
    signals[SYMBOL_INDEX_CHANGED] =
 | 
			
		||||
        g_signal_new (I_("symbol-index-changed"),
 | 
			
		||||
                      G_TYPE_FROM_CLASS(gobject_class),
 | 
			
		||||
                      G_SIGNAL_RUN_LAST,
 | 
			
		||||
                      G_STRUCT_OFFSET(EekElementClass, symbol_index_changed),
 | 
			
		||||
                      NULL,
 | 
			
		||||
                      NULL,
 | 
			
		||||
                      _eek_marshal_VOID__INT_INT,
 | 
			
		||||
                      G_TYPE_NONE,
 | 
			
		||||
                      2,
 | 
			
		||||
                      G_TYPE_INT,
 | 
			
		||||
                      G_TYPE_INT);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@ -289,14 +241,14 @@ 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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_set_parent:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @parent: an #EekElement
 | 
			
		||||
 * @parent: (allow-none): an #EekElement or %NULL
 | 
			
		||||
 *
 | 
			
		||||
 * Set the parent of @element to @parent.
 | 
			
		||||
 */
 | 
			
		||||
@ -305,8 +257,21 @@ eek_element_set_parent (EekElement *element,
 | 
			
		||||
                        EekElement *parent)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(parent));
 | 
			
		||||
    EEK_ELEMENT_GET_CLASS(element)->set_parent (element, parent);
 | 
			
		||||
    g_return_if_fail (parent == NULL || EEK_IS_ELEMENT(parent));
 | 
			
		||||
 | 
			
		||||
    if (element->priv->parent == parent)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    if (element->priv->parent != NULL) {
 | 
			
		||||
        /* release self-reference acquired when setting parent */
 | 
			
		||||
        g_object_unref (element);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (parent != NULL) {
 | 
			
		||||
        g_object_ref (element);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    element->priv->parent = parent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -320,7 +285,7 @@ EekElement *
 | 
			
		||||
eek_element_get_parent (EekElement *element)
 | 
			
		||||
{
 | 
			
		||||
    g_return_val_if_fail (EEK_IS_ELEMENT(element), NULL);
 | 
			
		||||
    return EEK_ELEMENT_GET_CLASS(element)->get_parent (element);
 | 
			
		||||
    return element->priv->parent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -335,7 +300,8 @@ eek_element_set_name (EekElement  *element,
 | 
			
		||||
                      const gchar *name)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    EEK_ELEMENT_GET_CLASS(element)->set_name (element, name);
 | 
			
		||||
    g_free (element->priv->name);
 | 
			
		||||
    element->priv->name = g_strdup (name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -345,11 +311,11 @@ eek_element_set_name (EekElement  *element,
 | 
			
		||||
 * Get the name of @element.
 | 
			
		||||
 * Returns: the name of @element or NULL when the name is not set
 | 
			
		||||
 */
 | 
			
		||||
G_CONST_RETURN gchar *
 | 
			
		||||
const gchar *
 | 
			
		||||
eek_element_get_name (EekElement  *element)
 | 
			
		||||
{
 | 
			
		||||
    g_return_val_if_fail (EEK_IS_ELEMENT(element), NULL);
 | 
			
		||||
    return EEK_ELEMENT_GET_CLASS(element)->get_name (element);
 | 
			
		||||
    return element->priv->name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -366,13 +332,13 @@ eek_element_set_bounds (EekElement  *element,
 | 
			
		||||
                        EekBounds   *bounds)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    EEK_ELEMENT_GET_CLASS(element)->set_bounds (element, bounds);
 | 
			
		||||
    memcpy (&element->priv->bounds, bounds, sizeof(EekBounds));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 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
 | 
			
		||||
@ -383,7 +349,8 @@ eek_element_get_bounds (EekElement  *element,
 | 
			
		||||
                        EekBounds   *bounds)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    EEK_ELEMENT_GET_CLASS(element)->get_bounds (element, bounds);
 | 
			
		||||
    g_return_if_fail (bounds != NULL);
 | 
			
		||||
    memcpy (bounds, &element->priv->bounds, sizeof(EekBounds));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -452,3 +419,132 @@ eek_element_set_size (EekElement  *element,
 | 
			
		||||
    bounds.height = height;
 | 
			
		||||
    eek_element_set_bounds (element, &bounds);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_set_symbol_index:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @group: row index of the symbol matrix
 | 
			
		||||
 * @level: column index of the symbol matrix
 | 
			
		||||
 *
 | 
			
		||||
 * Set the default index of the symbol matrices of @element.  The
 | 
			
		||||
 * setting affects the child, if child does not have the index set, as
 | 
			
		||||
 * well as this element.  To unset, pass -1 as group/level.
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_element_set_symbol_index (EekElement *element,
 | 
			
		||||
                              gint        group,
 | 
			
		||||
                              gint        level)
 | 
			
		||||
{
 | 
			
		||||
    gboolean emit_signal;
 | 
			
		||||
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
 | 
			
		||||
    emit_signal = group != eek_element_get_group (element) ||
 | 
			
		||||
        level != eek_element_get_level (element);
 | 
			
		||||
 | 
			
		||||
    eek_element_set_group (element, group);
 | 
			
		||||
    eek_element_set_level (element, level);
 | 
			
		||||
 | 
			
		||||
    if (emit_signal)
 | 
			
		||||
        g_signal_emit (element, signals[SYMBOL_INDEX_CHANGED], 0, group, level);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_get_symbol_index:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @group: a pointer where the group value of the symbol index will be stored
 | 
			
		||||
 * @level: a pointer where the level value of the symbol index will be stored
 | 
			
		||||
 *
 | 
			
		||||
 * Get the default index of the symbol matrices of @element.
 | 
			
		||||
 * If the index is not set, -1 will be returned.
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_element_get_symbol_index (EekElement *element,
 | 
			
		||||
                              gint       *group,
 | 
			
		||||
                              gint       *level)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    g_return_if_fail (group != NULL || level != NULL);
 | 
			
		||||
    if (group != NULL)
 | 
			
		||||
        *group = eek_element_get_group (element);
 | 
			
		||||
    if (level != NULL)
 | 
			
		||||
        *level = eek_element_get_level (element);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_set_group:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @group: group index of @element
 | 
			
		||||
 *
 | 
			
		||||
 * Set the group value of the default symbol index of @element.  To
 | 
			
		||||
 * unset, pass -1 as @group.
 | 
			
		||||
 *
 | 
			
		||||
 * See also: eek_element_set_symbol_index()
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_element_set_group (EekElement *element,
 | 
			
		||||
                       gint        group)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    if (element->priv->group != group) {
 | 
			
		||||
        element->priv->group = group;
 | 
			
		||||
        g_object_notify (G_OBJECT(element), "group");
 | 
			
		||||
        g_signal_emit (element, signals[SYMBOL_INDEX_CHANGED], 0,
 | 
			
		||||
                       group, element->priv->level);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_set_level:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 * @level: level index of @element
 | 
			
		||||
 *
 | 
			
		||||
 * Set the level value of the default symbol index of @element.  To
 | 
			
		||||
 * unset, pass -1 as @level.
 | 
			
		||||
 *
 | 
			
		||||
 * See also: eek_element_set_symbol_index()
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_element_set_level (EekElement *element,
 | 
			
		||||
                       gint        level)
 | 
			
		||||
{
 | 
			
		||||
    g_return_if_fail (EEK_IS_ELEMENT(element));
 | 
			
		||||
    if (element->priv->level != level) {
 | 
			
		||||
        element->priv->level = level;
 | 
			
		||||
        g_object_notify (G_OBJECT(element), "level");
 | 
			
		||||
        g_signal_emit (element, signals[SYMBOL_INDEX_CHANGED], 0,
 | 
			
		||||
                       element->priv->group, level);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_get_group:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 *
 | 
			
		||||
 * Return the group value of the default symbol index of @element.
 | 
			
		||||
 * If the value is not set, -1 will be returned.
 | 
			
		||||
 *
 | 
			
		||||
 * See also: eek_element_get_symbol_index()
 | 
			
		||||
 */
 | 
			
		||||
gint
 | 
			
		||||
eek_element_get_group (EekElement *element)
 | 
			
		||||
{
 | 
			
		||||
    g_return_val_if_fail (EEK_IS_ELEMENT(element), -1);
 | 
			
		||||
    return element->priv->group;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_element_get_level:
 | 
			
		||||
 * @element: an #EekElement
 | 
			
		||||
 *
 | 
			
		||||
 * Return the level value of the default symbol index of @element.
 | 
			
		||||
 * If the value is not set, -1 will be returned.
 | 
			
		||||
 *
 | 
			
		||||
 * See also: eek_element_get_symbol_index()
 | 
			
		||||
 */
 | 
			
		||||
gint
 | 
			
		||||
eek_element_get_level (EekElement *element)
 | 
			
		||||
{
 | 
			
		||||
    g_return_val_if_fail (EEK_IS_ELEMENT(element), -1);
 | 
			
		||||
    return element->priv->level;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -46,23 +51,11 @@ struct _EekElementClass
 | 
			
		||||
{
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    GObjectClass parent_class;
 | 
			
		||||
    void                  (* set_parent) (EekElement  *self,
 | 
			
		||||
                                          EekElement  *parent);
 | 
			
		||||
    EekElement           *(* get_parent) (EekElement  *self);
 | 
			
		||||
    void                  (* set_name)   (EekElement  *self,
 | 
			
		||||
                                          const gchar *name);
 | 
			
		||||
 | 
			
		||||
    G_CONST_RETURN gchar *(* get_name)   (EekElement  *self);
 | 
			
		||||
 | 
			
		||||
    void                  (* set_bounds) (EekElement  *self,
 | 
			
		||||
                                          EekBounds   *bounds);
 | 
			
		||||
 | 
			
		||||
    void                  (* get_bounds) (EekElement  *self,
 | 
			
		||||
                                          EekBounds   *bounds);
 | 
			
		||||
 | 
			
		||||
    /*< private >*/
 | 
			
		||||
    /* padding */
 | 
			
		||||
    gpointer pdummy[24];
 | 
			
		||||
    /* signals */
 | 
			
		||||
    void                  (* symbol_index_changed) (EekElement  *self,
 | 
			
		||||
                                                    gint         group,
 | 
			
		||||
                                                    gint         level);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType        eek_element_get_type              (void) G_GNUC_CONST;
 | 
			
		||||
@ -73,7 +66,7 @@ EekElement           *eek_element_get_parent            (EekElement  *element);
 | 
			
		||||
void         eek_element_set_name              (EekElement  *element,
 | 
			
		||||
                                                const gchar *name);
 | 
			
		||||
 | 
			
		||||
G_CONST_RETURN gchar *eek_element_get_name              (EekElement  *element);
 | 
			
		||||
const gchar *eek_element_get_name              (EekElement  *element);
 | 
			
		||||
 | 
			
		||||
void         eek_element_set_bounds            (EekElement  *element,
 | 
			
		||||
                                                EekBounds   *bounds);
 | 
			
		||||
@ -92,5 +85,18 @@ void                  eek_element_get_absolute_position (EekElement  *element,
 | 
			
		||||
                                                gdouble     *x,
 | 
			
		||||
                                                gdouble     *y);
 | 
			
		||||
 | 
			
		||||
void         eek_element_set_symbol_index      (EekElement  *element,
 | 
			
		||||
                                                gint         group,
 | 
			
		||||
                                                gint         level);
 | 
			
		||||
void         eek_element_get_symbol_index      (EekElement  *element,
 | 
			
		||||
                                                gint        *group,
 | 
			
		||||
                                                gint        *level);
 | 
			
		||||
void         eek_element_set_group             (EekElement  *element,
 | 
			
		||||
                                                gint         group);
 | 
			
		||||
void         eek_element_set_level             (EekElement  *element,
 | 
			
		||||
                                                gint         level);
 | 
			
		||||
gint         eek_element_get_group             (EekElement  *element);
 | 
			
		||||
gint         eek_element_get_level             (EekElement  *element);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* EEK_ELEMENT_H */
 | 
			
		||||
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user