public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Takao Fujiwara <tfujiwar@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/ibus] autotool: Delete upstreamed ibus-HEAD.patch
Date: Sun, 31 May 2026 02:07:15 GMT	[thread overview]
Message-ID: <178019323583.1.7662532533405135163.rpms-ibus-f1eb5c5acd31@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/ibus
Branch : autotool
Commit : f1eb5c5acd31cb925b78f50a629e2b1eb8ec8ff2
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date   : 2019-08-23T19:58:27+09:00
Stats  : +0/-15310 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/ibus/c/f1eb5c5acd31cb925b78f50a629e2b1eb8ec8ff2?branch=autotool

Log:
Delete upstreamed ibus-HEAD.patch

---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
deleted file mode 100644
index ec88af6..0000000
--- a/ibus-HEAD.patch
+++ /dev/null
@@ -1,15310 +0,0 @@
-From 026b19ef169dd9612d8a4a1ee34f7c42e7215c9a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 13 Mar 2019 19:16:17 +0900
-Subject: [PATCH 01/27] setup: Enable to run ibus-setup with a different python
-
-BUG=https://github.com/ibus/ibus/issues/2086
----
- setup/ibus-setup.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in
-index bb5c85cf..4a6830af 100644
---- a/setup/ibus-setup.in
-+++ b/setup/ibus-setup.in
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2007-2018 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
-@@ -27,5 +27,5 @@ export IBUS_PREFIX=@prefix@
- export IBUS_DATAROOTDIR=@datarootdir@
- export IBUS_LOCALEDIR=@localedir@
- export IBUS_LIBEXECDIR=${libexecdir}
--exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@
-+exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
- 
--- 
-2.21.0
-
-From 2825bfc13618d382444aa1f87be22cd86e9bba29 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 13 Mar 2019 19:35:19 +0900
-Subject: [PATCH 02/27] src: Update ibusunicodegen.h for Unicode UCD 12.0
-
----
- src/ibusunicodegen.h | 36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-diff --git a/src/ibusunicodegen.h b/src/ibusunicodegen.h
-index 9952fe0a..6a60a5a9 100644
---- a/src/ibusunicodegen.h
-+++ b/src/ibusunicodegen.h
-@@ -855,6 +855,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Sogdian"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Elymaic"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -935,6 +939,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Warang Citi"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Nandinagari"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -967,6 +975,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Makasar"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Tamil Supplement"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -983,6 +995,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Egyptian Hieroglyphs"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Egyptian Hieroglyph Format Controls"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -1031,6 +1047,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Kana Extended-A"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Small Kana Extension"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -1079,6 +1099,14 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Glagolitic Supplement"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Nyiakeng Puachue Hmong"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Wancho"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -1091,6 +1119,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Indic Siyaq Numbers"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Ottoman Siyaq Numbers"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-@@ -1151,6 +1183,10 @@ const static char *unicode_blocks[] = {
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
-     N_("Chess Symbols"),
-+    /* TRANSLATORS: You might refer the translations from gucharmap with
-+                    the following command:
-+       msgmerge -C gucharmap.po ibus.po ibus.pot */
-+    N_("Symbols and Pictographs Extended-A"),
-     /* TRANSLATORS: You might refer the translations from gucharmap with
-                     the following command:
-        msgmerge -C gucharmap.po ibus.po ibus.pot */
--- 
-2.21.0
-
-From 6099a45f2e734458202383fdf157aea95b1f35a5 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 13 Mar 2019 19:36:05 +0900
-Subject: [PATCH 03/27] build: Delete built sources with MAINTAINERCLEANFILES
-
-BUG=https://github.com/ibus/ibus/issues/2082
----
- src/Makefile.am     | 9 ++++++++-
- ui/gtk3/Makefile.am | 6 ++++++
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 6a62e0f0..a8e3d07d 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2007-2017 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
-@@ -256,6 +256,10 @@ dicts/emoji-en.dict: emoji-parser
- 	    echo "WARNING: Not found $(EMOJI_ANNOTATION_DIR)/en.xml" 1>&2; \
- 	fi; \
- 	for f in $(LANG_FILES) ; do \
-+	    if test -f dicts/emoji-$$f.dict; then \
-+	        echo "Already exists dicts/emoji-$$f.dict"; \
-+	        continue; \
-+	    fi; \
- 	    if test -f \
- 	    "$(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml" ; then \
- 	        xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml"; \
-@@ -279,6 +283,9 @@ dicts/emoji-en.dict: emoji-parser
- 	    echo "Generated $$plus_comment dicts/emoji-$$f.dict"; \
- 	done
- 
-+ibusemojigen.h: dicts/emoji-en.dict
-+	$(NULL)
-+
- install-data-hook: $(dict_DATA)
- 	@$(NORMAL_INSTALL)
- 	$(AM_V_at)list='$(wildcard dicts/*.dict)'; \
-diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
-index 60205aa5..667d51c6 100644
---- a/ui/gtk3/Makefile.am
-+++ b/ui/gtk3/Makefile.am
-@@ -130,6 +130,8 @@ CLEANFILES =            \
-     gtkpanel.xml        \
-     $(NULL)
- 
-+MAINTAINERCLEANFILES =
-+
- emoji_headers =         \
-     ibusemojidialog.h   \
-     $(NULL)
-@@ -192,6 +194,8 @@ emojierapp.o: $(srcdir)/emojierapp.c
- 	$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
- 	$(NULL)
- 
-+MAINTAINERCLEANFILES += emojierapp.c
-+
- component_DATA += gtkextension.xml
- CLEANFILES += gtkextension.xml
- libexec_PROGRAMS += ibus-extension-gtk3
-@@ -240,6 +244,8 @@ panelbinding.o: $(srcdir)/panelbinding.c
- 	$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
- 	$(NULL)
- 
-+MAINTAINERCLEANFILES += extension.c panelbinding.c
-+
- man_seven_files = $(man_seven_in_files:.7.in=.7)
- man_seven_DATA =$(man_seven_files:.7=.7.gz)
- man_sevendir = $(mandir)/man7
--- 
-2.21.0
-
-From b497de5bc6525769e03b65c73fc991d4aa006223 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 20 Mar 2019 17:44:26 +0900
-Subject: [PATCH 04/27] test: Set GTK_IM_MODULE in test-console.sh
-
----
- src/tests/Makefile.am |  4 ++--
- 1 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index e337a59b..e2ff5ea7 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2007-2018 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
-@@ -78,7 +78,7 @@ TESTS_ENVIRONMENT = \
- 
- LOG_COMPILER = $(srcdir)/runtest
- 
--EXTRA_DIST = runtest
-+EXTRA_DIST = runtest ibus-compose.env
- 
- ibus_bus_SOURCES = ibus-bus.c
- ibus_bus_LDADD = $(prog_ldadd)
--- 
-2.21.0
-
-From 1cb5032e85d85f496e349236d1b74f17fb8db966 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 23 Apr 2019 15:40:45 +0900
-Subject: [PATCH 05/27] configure: Move ibus-setup from configure.ac to
- Makefile.am
-
-@localedir@ can be extracted to ${datarootdir}/locale and
-it needs datarootdir=/usr/share in case configure.ac is used
-and deleting the datarootdir line caused a regression.
-All variables can be extracted in Makefile.am with sed.
----
- configure.ac      |  1 -
- setup/Makefile.am | 13 +++++++++++--
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9518e808..7503f3e8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -724,7 +724,6 @@ ibus/interface/Makefile
- ui/Makefile
- ui/gtk3/Makefile
- setup/Makefile
--setup/ibus-setup
- bindings/Makefile
- bindings/pygobject/Makefile
- bindings/vala/Makefile
-diff --git a/setup/Makefile.am b/setup/Makefile.am
-index cb4dd8d1..34c8f136 100644
---- a/setup/Makefile.am
-+++ b/setup/Makefile.am
-@@ -3,8 +3,8 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
--# Copyright (c) 2007-2018 Red Hat, Inc.
-+# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2007-2019 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
-@@ -40,6 +40,15 @@ ibussetup_DATA = \
- bin_SCRIPTS = ibus-setup
- ibussetupdir = $(pkgdatadir)/setup
- 
-+ibus-setup: ibus-setup.in
-+	$(AM_V_GEN) sed -e "s|\@datarootdir\@|$(datarootdir)|g" \
-+	                -e "s|\@localedir\@|$(localedir)|g" \
-+	                -e "s|\@libexecdir\@|$(libexecdir)|g" \
-+	                -e "s|\@prefix\@|$(prefix)|g" \
-+	                -e "s|\@PYTHON\@|$(PYTHON)|g" \
-+	$< > $@.tmp && \
-+	mv $@.tmp $@
-+
- desktop_notrans_files = ibus-setup.desktop
- desktop_DATA = org.freedesktop.IBus.Setup.desktop
- desktopdir = $(datadir)/applications
--- 
-2.21.0
-
-From cc849c20d4dff31f6f88f93789790759bf087b77 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 23 Apr 2019 17:56:20 +0900
-Subject: [PATCH 06/27] NEWS: Add shortlog
-
-Update Makefile.am to insert shortlog in NEWS
-Update po/Makevars to add multiple COPYRIGHT_HOLDER
----
- Makefile.am | 7 +++++--
- po/Makevars | 3 ++-
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index cf7460d6..9ff786dc 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -3,8 +3,8 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
--# Copyright (c) 2007-2017 Red Hat, Inc.
-+# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2007-2019 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
-@@ -103,6 +103,9 @@ dist-hook:
- "$(IBUS_MAJOR_VERSION).$(IBUS_MINOR_VERSION).$$IBUS_PREV_MICRO_VERSION"; \
- 		echo "Changes in IBus $(IBUS_VERSION)" > $(distdir)/NEWS; \
- 		echo "" >> $(distdir)/NEWS; \
-+		git shortlog $$IBUS_PREV_VERSION...$(IBUS_VERSION) \
-+		        >> $(distdir)/NEWS; \
-+		echo "" >> $(distdir)/NEWS; \
- 		git log $$IBUS_PREV_VERSION...$(IBUS_VERSION) --reverse \
- 		        --pretty=format:'%s (%an) %h' >> $(distdir)/NEWS; \
- 	fi
-diff --git a/po/Makevars b/po/Makevars
-index d3fbeab2..1d16cc98 100644
---- a/po/Makevars
-+++ b/po/Makevars
-@@ -20,7 +20,8 @@ XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2
- # or entity, or to disclaim their copyright.  The empty string stands for
- # the public domain; in this case the translators are expected to disclaim
- # their copyright.
--COPYRIGHT_HOLDER = Peng Huang <shawn.p.huang@gmail.com>
-+COPYRIGHT_HOLDER = Peng Huang <shawn.p.huang@gmail.com> \
-+Takao Fujiwara <takao.fujiwara1@gmail.com>
- 
- # This is the email address or URL to which the translators shall report
- # bugs in the untranslated strings:
--- 
-2.21.0
-
-From 1c54fea645b2ec3a385d492e4ca30a70dbb87c3a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 23 Apr 2019 18:44:45 +0900
-Subject: [PATCH 07/27] data/its: Add ibus.its for IME's component files
-
-IBusEngineDesc has translatable strings in longname and
-description tags and they needs to be extracted by xgettext.
-
-After you install the ibus.[its|loc] to /usr/share/gettext/its,
-each engine's component file needs to renamed with
-'.inputMethod.xml' in the source directory suffix. E.g.
-Rename 'anthy.xml' to 'anthy.inputMethod.xml' and write the file
-path to the engine's POTFILES.in
----
- configure.ac         |  1 +
- data/Makefile.am     |  3 ++-
- data/its/Makefile.am | 29 +++++++++++++++++++++++++++++
- data/its/ibus.its    | 14 ++++++++++++++
- data/its/ibus.loc    |  7 +++++++
- 5 files changed, 53 insertions(+), 1 deletion(-)
- create mode 100644 data/its/Makefile.am
- create mode 100644 data/its/ibus.its
- create mode 100644 data/its/ibus.loc
-
-diff --git a/configure.ac b/configure.ac
-index 7503f3e8..b5a87b56 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -711,6 +711,7 @@ util/IMdkit/Makefile
- data/Makefile
- data/annotations/Makefile
- data/icons/Makefile
-+data/its/Makefile
- data/keymaps/Makefile
- data/dconf/Makefile
- docs/Makefile
-diff --git a/data/Makefile.am b/data/Makefile.am
-index 2533f444..aa3ee466 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2018 Red Hat, Inc.
-+# Copyright (c) 2007-2019 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
-@@ -23,6 +23,7 @@
- SUBDIRS = \
- 	annotations \
- 	icons \
-+	its \
- 	keymaps \
- 	$(NULL)
- 
-diff --git a/data/its/Makefile.am b/data/its/Makefile.am
-new file mode 100644
-index 00000000..07c8a96d
---- /dev/null
-+++ b/data/its/Makefile.am
-@@ -0,0 +1,29 @@
-+# vim:set noet ts=4:
-+#
-+# ibus - The Input Bus
-+#
-+# Copyright (c) 2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2019 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.1 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
-+
-+itsdir = $(datadir)/gettext/its
-+its_DATA = \
-+    ibus.its \
-+    ibus.loc \
-+    $(NULL)
-+
-+-include $(top_srcdir)/git.mk
-diff --git a/data/its/ibus.its b/data/its/ibus.its
-new file mode 100644
-index 00000000..30d8d4e2
---- /dev/null
-+++ b/data/its/ibus.its
-@@ -0,0 +1,14 @@
-+<?xml version="1.0"?>
-+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
-+           version="2.0">
-+  <its:translateRule selector="/component" translate="no"/>
-+  <its:translateRule selector="/engines" translate="no"/>
-+  <its:translateRule selector="//engine" translate="no"/>
-+  <its:translateRule selector="//longname |
-+                               //description"
-+                     translate="yes"/>
-+  <its:translateRule selector="//longname[@translatable = 'no']"
-+                     translate="no"/>
-+  <its:translateRule selector="//description[@translatable = 'no']"
-+                     translate="no"/>
-+</its:rules>
-diff --git a/data/its/ibus.loc b/data/its/ibus.loc
-new file mode 100644
-index 00000000..5a73798b
---- /dev/null
-+++ b/data/its/ibus.loc
-@@ -0,0 +1,7 @@
-+<?xml version="1.0"?>
-+<locatingRules>
-+  <locatingRule name="IBusEngineDesc" pattern="*.inputMethod.xml">
-+    <documentRule localName="engines" target="ibus.its"/>
-+    <documentRule localName="component" target="ibus.its"/>
-+  </locatingRule>
-+</locatingRules>
--- 
-2.21.0
-
-From 91a256163427f04eb7763196b4ffe553911d2e01 Mon Sep 17 00:00:00 2001
-From: Gunnar Hjalmarsson <gunnarhj@users.noreply.github.com>
-Date: Tue, 7 May 2019 19:42:28 +0900
-Subject: [PATCH 08/27] bus: Indistinguishable address of ibus-daemon
-
-BUG=https://github.com/ibus/ibus/issues/2095
----
- bus/global.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bus/global.c b/bus/global.c
-index f147cd6f..2ba8b2a7 100644
---- a/bus/global.c
-+++ b/bus/global.c
-@@ -24,7 +24,7 @@
- #include "global.h"
- 
- gchar **g_argv = NULL;
--gchar *g_address = "unix:tmpdir=/tmp";
-+gchar *g_address = "unix:tmpdir=/tmp/ibus";
- gchar *g_cache = "auto";
- gboolean g_mempro = FALSE;
- gboolean g_verbose = FALSE;
--- 
-2.21.0
-
-From 05a10950d635602fb3fcf4ed0021aa0b15dbd698 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 9 May 2019 15:49:09 +0900
-Subject: [PATCH 09/27] src: Make ISO 639 language names with title
-
-Danish translations are small in iso-codes-iso-639-2-da.po for the
-genral usage but the users ask the title format on UI.
-Now ibus_get_language_name() and ibus_get_untranslated_language_name()
-return the dynamic allocation instead of the static characters
-to make the capital character.
-
-BUG=https://github.com/ibus/ibus/issues/2079
----
- src/ibusutil.c | 63 ++++++++++++++++++++++++++++++++++++++++++--------
- src/ibusutil.h |  8 +++----
- 2 files changed, 58 insertions(+), 13 deletions(-)
-
-diff --git a/src/ibusutil.c b/src/ibusutil.c
-index fd1da006..9d003e2e 100644
---- a/src/ibusutil.c
-+++ b/src/ibusutil.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* bus - The Input Bus
-  * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2010-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2010-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  * Copyright (C) 2008-2016 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-@@ -125,8 +125,8 @@ _load_lang()
-     ibus_xml_free (node);
- }
- 
--const gchar *
--ibus_get_untranslated_language_name (const gchar *_locale)
-+const static gchar *
-+ibus_get_untranslated_raw_language_name (const gchar *_locale)
- {
-     const gchar *retval;
-     gchar *p = NULL;
-@@ -148,19 +148,64 @@ ibus_get_untranslated_language_name (const gchar *_locale)
-         return "Other";
- }
- 
--const gchar *
-+static char *
-+get_first_item_in_semicolon_list (const char *list)
-+{
-+        char **items;
-+        char  *item;
-+
-+        items = g_strsplit (list, "; ", 2);
-+
-+        item = g_strdup (items[0]);
-+        g_strfreev (items);
-+
-+        return item;
-+}
-+
-+static char *
-+capitalize_utf8_string (const char *str)
-+{
-+    char first[8] = { 0 };
-+
-+    if (!str)
-+        return NULL;
-+
-+    g_unichar_to_utf8 (g_unichar_totitle (g_utf8_get_char (str)), first);
-+
-+    return g_strconcat (first, g_utf8_offset_to_pointer (str, 1), NULL);
-+}
-+
-+gchar *
-+ibus_get_untranslated_language_name (const gchar *_locale)
-+{
-+    const gchar *raw = ibus_get_untranslated_raw_language_name (_locale);
-+    gchar *tmp = get_first_item_in_semicolon_list (raw);
-+    gchar *retval = capitalize_utf8_string (tmp);
-+    g_free (tmp);
-+    return retval;
-+}
-+
-+gchar *
- ibus_get_language_name (const gchar *_locale)
- {
--    const gchar *retval = ibus_get_untranslated_language_name (_locale);
-+    const gchar *raw = ibus_get_untranslated_raw_language_name (_locale);
-+    const gchar *translation = NULL;
-+    gchar *tmp;
-+    gchar *retval;
- 
- #ifdef ENABLE_NLS
--    if (g_strcmp0 (retval, "Other") == 0)
--        return dgettext (GETTEXT_PACKAGE, N_("Other"));
-+    if (g_strcmp0 (raw, "Other") == 0)
-+        return g_strdup (dgettext (GETTEXT_PACKAGE, N_("Other")));
-     else
--        return dgettext ("iso_639-3", retval);
-+        translation = dgettext ("iso_639-3", raw);
- #else
--    return retval;
-+    translation = raw;
- #endif
-+
-+    tmp = get_first_item_in_semicolon_list (translation);
-+    retval = capitalize_utf8_string (tmp);
-+    g_free (tmp);
-+    return retval;
- }
- 
- void
-diff --git a/src/ibusutil.h b/src/ibusutil.h
-index 226dd7a8..795365f6 100644
---- a/src/ibusutil.h
-+++ b/src/ibusutil.h
-@@ -2,8 +2,8 @@
- /* vim:set et sts=4: */
- /* bus - The Input Bus
-  * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2010-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
-- * Copyright (C) 2008-2016 Red Hat, Inc.
-+ * Copyright (C) 2010-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2018 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
-@@ -42,7 +42,7 @@
-  *
-  * Returns: untranslated language name
-  */
--const gchar *    ibus_get_untranslated_language_name
-+gchar *          ibus_get_untranslated_language_name
-                                                 (const gchar    *_locale);
- 
- /**
-@@ -51,6 +51,6 @@ const gchar *    ibus_get_untranslated_language_name
-  *
-  * Returns: translated language name
-  */
--const gchar *    ibus_get_language_name         (const gchar    *_locale);
-+gchar *          ibus_get_language_name         (const gchar    *_locale);
- 
- #endif
--- 
-2.21.0
-
-From cebe7a9553de69943b955ec99285f74961c9ee4e Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 9 May 2019 15:49:21 +0900
-Subject: [PATCH 10/27] client/gtk2: Keep preedit cursor_pos and visible in
- clearing preedit text
-
-Clear the preedit_string but keep the preedit_cursor_pos and
-preedit_visible because a time lag could happen, firefox commit
-the preedit text before the preedit text is cleared and it cause
-a double commits of the Hangul preedit in firefox if the preedit
-would be located on the URL bar and click on anywhere of firefox
-out of the URL bar.
----
- client/gtk2/ibusimcontext.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index 264a747a..5e3457ba 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -881,10 +881,18 @@ ibus_im_context_clear_preedit_text (IBusIMContext *ibusimcontext)
-         ibusimcontext->preedit_mode == IBUS_ENGINE_PREEDIT_COMMIT) {
-         preedit_string = g_strdup (ibusimcontext->preedit_string);
-     }
-+
-+    /* Clear the preedit_string but keep the preedit_cursor_pos and
-+     * preedit_visible because a time lag could happen, firefox commit
-+     * the preedit text before the preedit text is cleared and it cause
-+     * a double commits of the Hangul preedit in firefox if the preedit
-+     * would be located on the URL bar and click on anywhere of firefox
-+     * out of the URL bar.
-+     */
-     _ibus_context_update_preedit_text_cb (ibusimcontext->ibuscontext,
-                                           ibus_text_new_from_string (""),
--                                          0,
--                                          FALSE,
-+                                          ibusimcontext->preedit_cursor_pos,
-+                                          ibusimcontext->preedit_visible,
-                                           IBUS_ENGINE_PREEDIT_CLEAR,
-                                           ibusimcontext);
-     if (preedit_string) {
--- 
-2.21.0
-
-From b59f7f823b7b2051e4ca31834f9299a72f01b339 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 9 May 2019 17:02:21 +0900
-Subject: [PATCH 14/27] src: Support 32bit and multiple compose outputs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compose file in en_US.UTF-8 now includes wide codepoints more than
-U+FFFF likes '<Multi_key> <F> <U> : "🖕"  U1F595' but the current
-gtk_compose_seqs_compact[] is a guint16 array.
-To support 32bit and multiple compose outputs, the array is now
-separated to 16bit and 32bit arrays and 32bit array is also
-separated to gtk_compose_seqs_compact_32bit_first[] for 16bit
-key sequences and gtk_compose_seqs_compact_32bit_second[] for
-32bit output values.
-
-BUG=https://github.com/ibus/ibus/issues/2074
----
- src/gtkimcontextsimpleseqs.h  | 9912 +++++++++++++++++----------------
- src/ibuscomposetable.h        |   13 +-
- src/ibusenginesimple.c        |  166 +-
- src/ibusenginesimpleprivate.h |    8 +-
- 4 files changed, 5380 insertions(+), 4719 deletions(-)
-
-diff --git a/src/gtkimcontextsimpleseqs.h b/src/gtkimcontextsimpleseqs.h
-index 632391a1..ffa5f125 100644
---- a/src/gtkimcontextsimpleseqs.h
-+++ b/src/gtkimcontextsimpleseqs.h
-@@ -94,4680 +94,5244 @@ IBUS_KEY_dead_belowdiaeresis, 3705, 3705, 3708, 3708, 3708,
- IBUS_KEY_dead_belowcomma, 3708, 3722, 3722, 3722, 3722, 
- IBUS_KEY_dead_currency, 3722, 3820, 3826, 3826, 3826, 
- IBUS_KEY_dead_greek, 3826, 3928, 3952, 3952, 3952, 
--IBUS_KEY_Multi_key, 3952, 3952, 10348, 14044, 15919, 
--IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_space, 0x0060, 
--IBUS_KEY_V, 0x01DB, 
--IBUS_KEY_v, 0x01DC, 
--IBUS_KEY_nobreakspace, 0x0300, 
--IBUS_KEY_Abreve, 0x1EB0, 
--IBUS_KEY_abreve, 0x1EB1, 
--IBUS_KEY_Emacron, 0x1E14, 
--IBUS_KEY_emacron, 0x1E15, 
--IBUS_KEY_Omacron, 0x1E50, 
--IBUS_KEY_omacron, 0x1E51, 
--IBUS_KEY_Cyrillic_ie, 0x0450, 
--IBUS_KEY_Cyrillic_i, 0x045D, 
--IBUS_KEY_Cyrillic_IE, 0x0400, 
--IBUS_KEY_Cyrillic_I, 0x040D, 
--IBUS_KEY_Greek_iotadieresis, 0x1FD2, 
--IBUS_KEY_Greek_upsilondieresis, 0x1FE2, 
--IBUS_KEY_Greek_ALPHA, 0x1FBA, 
--IBUS_KEY_Greek_EPSILON, 0x1FC8, 
--IBUS_KEY_Greek_ETA, 0x1FCA, 
--IBUS_KEY_Greek_IOTA, 0x1FDA, 
--IBUS_KEY_Greek_OMICRON, 0x1FF8, 
--IBUS_KEY_Greek_UPSILON, 0x1FEA, 
--IBUS_KEY_Greek_OMEGA, 0x1FFA, 
--IBUS_KEY_Greek_alpha, 0x1F70, 
--IBUS_KEY_Greek_epsilon, 0x1F72, 
--IBUS_KEY_Greek_eta, 0x1F74, 
--IBUS_KEY_Greek_iota, 0x1F76, 
--IBUS_KEY_Greek_omicron, 0x1F78, 
--IBUS_KEY_Greek_upsilon, 0x1F7A, 
--IBUS_KEY_Greek_omega, 0x1F7C, 
--IBUS_KEY_dead_grave, 0x0060, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD2, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE2, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6A, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F02, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F12, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F22, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F32, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F42, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F52, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F62, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6B, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F03, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F13, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F23, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F33, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F43, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F53, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F63, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01DB, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DC, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD2, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE2, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6B, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F03, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F13, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F23, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F33, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F43, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F53, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F63, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6A, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F02, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F12, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F22, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F32, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F42, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F52, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F62, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDC, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEA, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDD, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEB, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EB0, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EB1, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA6, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC0, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED2, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC1, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED3, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E14, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E50, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E15, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E51, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EB0, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EB1, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E, 0x1E14, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O, 0x1E50, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e, 0x1E15, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o, 0x1E51, 
--IBUS_KEY_space, 0x0027, 
--IBUS_KEY_V, 0x01D7, 
--IBUS_KEY_v, 0x01D8, 
--IBUS_KEY_nobreakspace, 0x0301, 
--IBUS_KEY_Abreve, 0x1EAE, 
--IBUS_KEY_abreve, 0x1EAF, 
--IBUS_KEY_Emacron, 0x1E16, 
--IBUS_KEY_emacron, 0x1E17, 
--IBUS_KEY_Utilde, 0x1E78, 
--IBUS_KEY_omacron, 0x1E53, 
--IBUS_KEY_utilde, 0x1E79, 
--IBUS_KEY_Cyrillic_ghe, 0x0453, 
--IBUS_KEY_Cyrillic_ka, 0x045C, 
--IBUS_KEY_Cyrillic_GHE, 0x0403, 
--IBUS_KEY_Cyrillic_KA, 0x040C, 
--IBUS_KEY_Greek_iotadieresis, 0x0390, 
--IBUS_KEY_Greek_upsilondieresis, 0x03B0, 
--IBUS_KEY_Greek_ALPHA, 0x0386, 
--IBUS_KEY_Greek_EPSILON, 0x0388, 
--IBUS_KEY_Greek_ETA, 0x0389, 
--IBUS_KEY_Greek_IOTA, 0x038A, 
--IBUS_KEY_Greek_OMICRON, 0x038C, 
--IBUS_KEY_Greek_UPSILON, 0x038E, 
--IBUS_KEY_Greek_OMEGA, 0x038F, 
--IBUS_KEY_Greek_alpha, 0x03AC, 
--IBUS_KEY_Greek_epsilon, 0x03AD, 
--IBUS_KEY_Greek_eta, 0x03AE, 
--IBUS_KEY_Greek_iota, 0x03AF, 
--IBUS_KEY_Greek_omicron, 0x03CC, 
--IBUS_KEY_Greek_upsilon, 0x03CD, 
--IBUS_KEY_Greek_omega, 0x03CE, 
--IBUS_KEY_dead_acute, 0x00B4, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0x0385, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_dead_stroke, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_dead_stroke, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_I, 0x1E2E, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D7, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_i, 0x1E2F, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D8, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDA, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EE8, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDB, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EE9, 
--IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EBE, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED0, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EBF, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED1, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_A, 0x01FA, 
--IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_a, 0x01FB, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4C, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_U, 0x1E78, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4D, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_u, 0x1E79, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_space, 0x005E, 
--IBUS_KEY_parenleft, 0x207D, 
--IBUS_KEY_parenright, 0x207E, 
--IBUS_KEY_plus, 0x207A, 
--IBUS_KEY_minus, 0x207B, 
--IBUS_KEY_0, 0x2070, 
--IBUS_KEY_1, 0x00B9, 
--IBUS_KEY_2, 0x00B2, 
--IBUS_KEY_3, 0x00B3, 
--IBUS_KEY_4, 0x2074, 
--IBUS_KEY_5, 0x2075, 
--IBUS_KEY_6, 0x2076, 
--IBUS_KEY_7, 0x2077, 
--IBUS_KEY_8, 0x2078, 
--IBUS_KEY_9, 0x2079, 
--IBUS_KEY_equal, 0x207C, 
--IBUS_KEY_nobreakspace, 0x0302, 
--IBUS_KEY_Agrave, 0x1EA6, 
--IBUS_KEY_Aacute, 0x1EA4, 
--IBUS_KEY_Atilde, 0x1EAA, 
--IBUS_KEY_Egrave, 0x1EC0, 
--IBUS_KEY_Eacute, 0x1EBE, 
--IBUS_KEY_Ograve, 0x1ED2, 
--IBUS_KEY_Oacute, 0x1ED0, 
--IBUS_KEY_Otilde, 0x1ED6, 
--IBUS_KEY_agrave, 0x1EA7, 
--IBUS_KEY_aacute, 0x1EA5, 
--IBUS_KEY_atilde, 0x1EAB, 
--IBUS_KEY_egrave, 0x1EC1, 
--IBUS_KEY_eacute, 0x1EBF, 
--IBUS_KEY_ograve, 0x1ED3, 
--IBUS_KEY_oacute, 0x1ED1, 
--IBUS_KEY_otilde, 0x1ED7, 
--0x2212, 0x207B, 
--0x4E00, 0x3192, 
--0x4E01, 0x319C, 
--0x4E09, 0x3194, 
--0x4E0A, 0x3196, 
--0x4E0B, 0x3198, 
--0x4E19, 0x319B, 
--0x4E2D, 0x3197, 
--0x4E59, 0x319A, 
--0x4E8C, 0x3193, 
--0x4EBA, 0x319F, 
--0x56DB, 0x3195, 
--0x5730, 0x319E, 
--0x5929, 0x319D, 
--0x7532, 0x3199, 
--IBUS_KEY_dead_circumflex, 0x005E, 
--IBUS_KEY_KP_Space, 0x00B2, 
--IBUS_KEY_KP_Add, 0x207A, 
--IBUS_KEY_KP_0, 0x2070, 
--IBUS_KEY_KP_1, 0x00B9, 
--IBUS_KEY_KP_2, 0x00B2, 
--IBUS_KEY_KP_3, 0x00B3, 
--IBUS_KEY_KP_4, 0x2074, 
--IBUS_KEY_KP_5, 0x2075, 
--IBUS_KEY_KP_6, 0x2076, 
--IBUS_KEY_KP_7, 0x2077, 
--IBUS_KEY_KP_8, 0x2078, 
--IBUS_KEY_KP_9, 0x2079, 
--IBUS_KEY_KP_Equal, 0x207C, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_E, 0x1EC6, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_O, 0x1ED8, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_e, 0x1EC7, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_o, 0x1ED9, 
--IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_M, 0x2120, 
--IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_m, 0x2120, 
--IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_M, 0x2122, 
--IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_m, 0x2122, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_a, 0x00AA, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_h, 0x02B0, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_i, 0x2071, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_j, 0x02B2, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_l, 0x02E1, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_n, 0x207F, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x00BA, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_r, 0x02B3, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_s, 0x02E2, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_w, 0x02B7, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_x, 0x02E3, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_y, 0x02B8, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0263, 0x02E0, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0266, 0x02B1, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0279, 0x02B4, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x027B, 0x02B5, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0281, 0x02B6, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0295, 0x02E4, 
--IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_M, 0x2120, 
--IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_m, 0x2120, 
--IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_M, 0x2122, 
--IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_m, 0x2122, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_a, 0x00AA, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_h, 0x02B0, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_i, 0x2071, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_j, 0x02B2, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_l, 0x02E1, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_n, 0x207F, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_o, 0x00BA, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_r, 0x02B3, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_s, 0x02E2, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_w, 0x02B7, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_x, 0x02E3, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_y, 0x02B8, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0263, 0x02E0, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0266, 0x02B1, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0279, 0x02B4, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x027B, 0x02B5, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0281, 0x02B6, 
--IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0295, 0x02E4, 
--IBUS_KEY_space, 0x007E, 
--IBUS_KEY_less, 0x2272, 
--IBUS_KEY_equal, 0x2243, 
--IBUS_KEY_greater, 0x2273, 
--IBUS_KEY_nobreakspace, 0x0303, 
--IBUS_KEY_Oacute, 0x1E4C, 
--IBUS_KEY_Odiaeresis, 0x1E4E, 
--IBUS_KEY_Uacute, 0x1E78, 
--IBUS_KEY_oacute, 0x1E4D, 
--IBUS_KEY_odiaeresis, 0x1E4F, 
--IBUS_KEY_uacute, 0x1E79, 
--IBUS_KEY_Abreve, 0x1EB4, 
--IBUS_KEY_abreve, 0x1EB5, 
--IBUS_KEY_Omacron, 0x022C, 
--IBUS_KEY_omacron, 0x022D, 
--IBUS_KEY_Greek_iotadieresis, 0x1FD7, 
--IBUS_KEY_Greek_upsilondieresis, 0x1FE7, 
--IBUS_KEY_Greek_alpha, 0x1FB6, 
--IBUS_KEY_Greek_eta, 0x1FC6, 
--IBUS_KEY_Greek_iota, 0x1FD6, 
--IBUS_KEY_Greek_upsilon, 0x1FE6, 
--IBUS_KEY_Greek_omega, 0x1FF6, 
--0x1F00, 0x1F06, 
--0x1F01, 0x1F07, 
--0x1F08, 0x1F0E, 
--0x1F09, 0x1F0F, 
--0x1F20, 0x1F26, 
--0x1F21, 0x1F27, 
--0x1F28, 0x1F2E, 
--0x1F29, 0x1F2F, 
--0x1F30, 0x1F36, 
--0x1F31, 0x1F37, 
--0x1F38, 0x1F3E, 
--0x1F39, 0x1F3F, 
--0x1F50, 0x1F56, 
--0x1F51, 0x1F57, 
--0x1F59, 0x1F5F, 
--0x1F60, 0x1F66, 
--0x1F61, 0x1F67, 
--0x1F68, 0x1F6E, 
--0x1F69, 0x1F6F, 
--IBUS_KEY_dead_tilde, 0x007E, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD7, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE7, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0E, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2E, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3E, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6E, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F06, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F26, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F36, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F56, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F66, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0F, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2F, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3F, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5F, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6F, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F07, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F27, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F37, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F57, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F67, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD7, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE7, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0F, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2F, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3F, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5F, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6F, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F07, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F27, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F37, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F57, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F67, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0E, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2E, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3E, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6E, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F06, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F26, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F36, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F56, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F66, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EE0, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEE, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EE1, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEF, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EB4, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EB5, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EAA, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC4, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED6, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EAB, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC5, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED7, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EB4, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EB5, 
--IBUS_KEY_space, 0x00AF, 
--IBUS_KEY_V, 0x01D5, 
--IBUS_KEY_v, 0x01D6, 
--IBUS_KEY_nobreakspace, 0x0304, 
--IBUS_KEY_Egrave, 0x1E14, 
--IBUS_KEY_Eacute, 0x1E16, 
--IBUS_KEY_Ograve, 0x1E50, 
--IBUS_KEY_Oacute, 0x1E52, 
--IBUS_KEY_egrave, 0x1E15, 
--IBUS_KEY_eacute, 0x1E17, 
--IBUS_KEY_ograve, 0x1E51, 
--IBUS_KEY_oacute, 0x1E53, 
--IBUS_KEY_Cyrillic_i, 0x04E3, 
--IBUS_KEY_Cyrillic_u, 0x04EF, 
--IBUS_KEY_Cyrillic_I, 0x04E2, 
--IBUS_KEY_Cyrillic_U, 0x04EE, 
--IBUS_KEY_Greek_ALPHA, 0x1FB9, 
--IBUS_KEY_Greek_IOTA, 0x1FD9, 
--IBUS_KEY_Greek_UPSILON, 0x1FE9, 
--IBUS_KEY_Greek_alpha, 0x1FB1, 
--IBUS_KEY_Greek_iota, 0x1FD1, 
--IBUS_KEY_Greek_upsilon, 0x1FE1, 
--IBUS_KEY_dead_macron, 0x00AF, 
--IBUS_KEY_dead_greek, IBUS_KEY_A, 0x1FB9, 
--IBUS_KEY_dead_greek, IBUS_KEY_I, 0x1FD9, 
--IBUS_KEY_dead_greek, IBUS_KEY_U, 0x1FE9, 
--IBUS_KEY_dead_greek, IBUS_KEY_a, 0x1FB1, 
--IBUS_KEY_dead_greek, IBUS_KEY_i, 0x1FD1, 
--IBUS_KEY_dead_greek, IBUS_KEY_u, 0x1FE1, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_L, 0x1E38, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5C, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_l, 0x1E39, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_r, 0x1E5D, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_A, 0x01DE, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_O, 0x022A, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D5, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_a, 0x01DF, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_o, 0x022B, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D6, 
--IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_A, 0x01E0, 
--IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_O, 0x0230, 
--IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_a, 0x01E1, 
--IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_o, 0x0231, 
--IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EC, 
--IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_o, 0x01ED, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x022C, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x022D, 
--IBUS_KEY_space, 0x02D8, 
--IBUS_KEY_nobreakspace, 0x0306, 
--IBUS_KEY_Agrave, 0x1EB0, 
--IBUS_KEY_Aacute, 0x1EAE, 
--IBUS_KEY_Atilde, 0x1EB4, 
--IBUS_KEY_agrave, 0x1EB1, 
--IBUS_KEY_aacute, 0x1EAF, 
--IBUS_KEY_atilde, 0x1EB5, 
--IBUS_KEY_Cyrillic_a, 0x04D1, 
--IBUS_KEY_Cyrillic_ie, 0x04D7, 
--IBUS_KEY_Cyrillic_i, 0x0439, 
--IBUS_KEY_Cyrillic_u, 0x045E, 
--IBUS_KEY_Cyrillic_zhe, 0x04C2, 
--IBUS_KEY_Cyrillic_A, 0x04D0, 
--IBUS_KEY_Cyrillic_IE, 0x04D6, 
--IBUS_KEY_Cyrillic_I, 0x0419, 
--IBUS_KEY_Cyrillic_U, 0x040E, 
--IBUS_KEY_Cyrillic_ZHE, 0x04C1, 
--IBUS_KEY_Greek_ALPHA, 0x1FB8, 
--IBUS_KEY_Greek_IOTA, 0x1FD8, 
--IBUS_KEY_Greek_UPSILON, 0x1FE8, 
--IBUS_KEY_Greek_alpha, 0x1FB0, 
--IBUS_KEY_Greek_iota, 0x1FD0, 
--IBUS_KEY_Greek_upsilon, 0x1FE0, 
--IBUS_KEY_dead_breve, 0x02D8, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EB6, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EB7, 
--IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_space, 0x02D9, 
--IBUS_KEY_L, 0x013F, 
--IBUS_KEY_i, 0x0131, 
--IBUS_KEY_j, 0x0237, 
--IBUS_KEY_l, 0x0140, 
--IBUS_KEY_nobreakspace, 0x0307, 
--IBUS_KEY_Sacute, 0x1E64, 
--IBUS_KEY_Scaron, 0x1E66, 
--IBUS_KEY_sacute, 0x1E65, 
--IBUS_KEY_scaron, 0x1E67, 
--IBUS_KEY_Amacron, 0x01E0, 
--IBUS_KEY_Omacron, 0x0230, 
--IBUS_KEY_amacron, 0x01E1, 
--IBUS_KEY_omacron, 0x0231, 
--IBUS_KEY_dead_abovedot, 0x02D9, 
--IBUS_KEY_dead_stroke, IBUS_KEY_j, 0x025F, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_S, 0x1E68, 
--IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_s, 0x1E69, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_S, 0x1E64, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_s, 0x1E65, 
--IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_S, 0x1E66, 
--IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_s, 0x1E67, 
--IBUS_KEY_Multi_key, IBUS_KEY_f, IBUS_KEY_s, 0x1E9B, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_S, 0x1E64, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_s, 0x1E65, 
--IBUS_KEY_space, 0x0022, 
--IBUS_KEY_apostrophe, 0x0344, 
--IBUS_KEY_nobreakspace, 0x0308, 
--IBUS_KEY_acute, 0x0344, 
--IBUS_KEY_Iacute, 0x1E2E, 
--IBUS_KEY_Ugrave, 0x01DB, 
--IBUS_KEY_Uacute, 0x01D7, 
--IBUS_KEY_iacute, 0x1E2F, 
--IBUS_KEY_ugrave, 0x01DC, 
--IBUS_KEY_uacute, 0x01D8, 
--0x01D3, 0x01D9, 
--0x01D4, 0x01DA, 
--IBUS_KEY_Amacron, 0x01DE, 
--IBUS_KEY_Umacron, 0x1E7A, 
--IBUS_KEY_amacron, 0x01DF, 
--IBUS_KEY_omacron, 0x022B, 
--IBUS_KEY_umacron, 0x1E7B, 
--IBUS_KEY_Ukrainian_i, 0x0457, 
--IBUS_KEY_Ukrainian_I, 0x0407, 
--IBUS_KEY_Cyrillic_a, 0x04D3, 
--IBUS_KEY_Cyrillic_ie, 0x0451, 
--IBUS_KEY_Cyrillic_i, 0x04E5, 
--IBUS_KEY_Cyrillic_o, 0x04E7, 
--IBUS_KEY_Cyrillic_u, 0x04F1, 
--IBUS_KEY_Cyrillic_zhe, 0x04DD, 
--IBUS_KEY_Cyrillic_yeru, 0x04F9, 
--IBUS_KEY_Cyrillic_ze, 0x04DF, 
--IBUS_KEY_Cyrillic_e, 0x04ED, 
--IBUS_KEY_Cyrillic_che, 0x04F5, 
--IBUS_KEY_Cyrillic_A, 0x04D2, 
--IBUS_KEY_Cyrillic_IE, 0x0401, 
--IBUS_KEY_Cyrillic_I, 0x04E4, 
--IBUS_KEY_Cyrillic_O, 0x04E6, 
--IBUS_KEY_Cyrillic_U, 0x04F0, 
--IBUS_KEY_Cyrillic_ZHE, 0x04DC, 
--IBUS_KEY_Cyrillic_YERU, 0x04F8, 
--IBUS_KEY_Cyrillic_ZE, 0x04DE, 
--IBUS_KEY_Cyrillic_E, 0x04EC, 
--IBUS_KEY_Cyrillic_CHE, 0x04F4, 
--IBUS_KEY_Greek_IOTA, 0x03AA, 
--IBUS_KEY_Greek_UPSILON, 0x03AB, 
--IBUS_KEY_Greek_iota, 0x03CA, 
--IBUS_KEY_Greek_upsilon, 0x03CB, 
--IBUS_KEY_dead_diaeresis, 0x00A8, 
--IBUS_KEY_dead_acute, IBUS_KEY_space, 0x0385, 
--IBUS_KEY_dead_acute, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_dead_acute, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_equal, 0x2A77, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_U, 0x1E7A, 
--IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_u, 0x1E7B, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4F, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_U, 0x1E7A, 
--IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_u, 0x1E7B, 
--IBUS_KEY_space, 0x00B0, 
--IBUS_KEY_nobreakspace, 0x030A, 
--IBUS_KEY_Aacute, 0x01FA, 
--IBUS_KEY_aacute, 0x01FB, 
--IBUS_KEY_dead_abovering, 0x00B0, 
--IBUS_KEY_space, 0x02DD, 
--IBUS_KEY_nobreakspace, 0x030B, 
--IBUS_KEY_Cyrillic_u, 0x04F3, 
--IBUS_KEY_Cyrillic_U, 0x04F2, 
--IBUS_KEY_dead_doubleacute, 0x02DD, 
--IBUS_KEY_space, 0x02C7, 
--IBUS_KEY_parenleft, 0x208D, 
--IBUS_KEY_parenright, 0x208E, 
--IBUS_KEY_plus, 0x208A, 
--IBUS_KEY_minus, 0x208B, 
--IBUS_KEY_0, 0x2080, 
--IBUS_KEY_1, 0x2081, 
--IBUS_KEY_2, 0x2082, 
--IBUS_KEY_3, 0x2083, 
--IBUS_KEY_4, 0x2084, 
--IBUS_KEY_5, 0x2085, 
--IBUS_KEY_6, 0x2086, 
--IBUS_KEY_7, 0x2087, 
--IBUS_KEY_8, 0x2088, 
--IBUS_KEY_9, 0x2089, 
--IBUS_KEY_equal, 0x208C, 
--IBUS_KEY_V, 0x01D9, 
--IBUS_KEY_v, 0x01DA, 
--IBUS_KEY_nobreakspace, 0x030C, 
--0x01F2, 0x01C5, 
--IBUS_KEY_dead_caron, 0x02C7, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D9, 
--IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DA, 
--IBUS_KEY_space, 0x00B8, 
--IBUS_KEY_nobreakspace, 0x0327, 
--IBUS_KEY_cent, 0x20B5, 
--IBUS_KEY_Cacute, 0x1E08, 
--IBUS_KEY_cacute, 0x1E09, 
--IBUS_KEY_dead_cedilla, 0x00B8, 
--IBUS_KEY_dead_currency, IBUS_KEY_C, 0x20B5, 
--IBUS_KEY_dead_currency, IBUS_KEY_c, 0x20B5, 
--IBUS_KEY_space, 0x02DB, 
--IBUS_KEY_nobreakspace, 0x0328, 
--IBUS_KEY_Omacron, 0x01EC, 
--IBUS_KEY_omacron, 0x01ED, 
--IBUS_KEY_dead_ogonek, 0x02DB, 
--IBUS_KEY_space, 0x037A, 
--IBUS_KEY_Greek_alphaaccent, 0x1FB4, 
--IBUS_KEY_Greek_etaaccent, 0x1FC4, 
--IBUS_KEY_Greek_omegaaccent, 0x1FF4, 
--IBUS_KEY_Greek_ALPHA, 0x1FBC, 
--IBUS_KEY_Greek_ETA, 0x1FCC, 
--IBUS_KEY_Greek_OMEGA, 0x1FFC, 
--IBUS_KEY_Greek_alpha, 0x1FB3, 
--IBUS_KEY_Greek_eta, 0x1FC3, 
--IBUS_KEY_Greek_omega, 0x1FF3, 
--IBUS_KEY_dead_iota, 0x037A, 
--IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 
--IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0x1FC2, 
--IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0x1FF2, 
--IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0x1FB7, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0x1FC7, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0x1FF7, 
--IBUS_KEY_dead_tilde, 0x1F00, 0x1F86, 
--IBUS_KEY_dead_tilde, 0x1F01, 0x1F87, 
--IBUS_KEY_dead_tilde, 0x1F08, 0x1F8E, 
--IBUS_KEY_dead_tilde, 0x1F09, 0x1F8F, 
--IBUS_KEY_dead_tilde, 0x1F20, 0x1F96, 
--IBUS_KEY_dead_tilde, 0x1F21, 0x1F97, 
--IBUS_KEY_dead_tilde, 0x1F28, 0x1F9E, 
--IBUS_KEY_dead_tilde, 0x1F29, 0x1F9F, 
--IBUS_KEY_dead_tilde, 0x1F60, 0x1FA6, 
--IBUS_KEY_dead_tilde, 0x1F61, 0x1FA7, 
--IBUS_KEY_dead_tilde, 0x1F68, 0x1FAE, 
--IBUS_KEY_dead_tilde, 0x1F69, 0x1FAF, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F88, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F98, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FA8, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F80, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F90, 
--IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA0, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F89, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F99, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FA9, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F81, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F91, 
--IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA1, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F00, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F01, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F08, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F09, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F20, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F21, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F28, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F29, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F60, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F61, 0x1FA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F68, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F69, 0x1FAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F89, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F99, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FA9, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F81, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F91, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA1, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F88, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F98, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FA8, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F80, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F90, 
--IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA0, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0x1FC2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0x1FF2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F00, 0x1F82, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F01, 0x1F83, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F08, 0x1F8A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F09, 0x1F8B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F20, 0x1F92, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F21, 0x1F93, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F28, 0x1F9A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F29, 0x1F9B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F60, 0x1FA2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F61, 0x1FA3, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F68, 0x1FAA, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F69, 0x1FAB, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0x1FB7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0x1FC7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0x1FF7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F00, 0x1F86, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F01, 0x1F87, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F08, 0x1F8E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F09, 0x1F8F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F20, 0x1F96, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F21, 0x1F97, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F28, 0x1F9E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F29, 0x1F9F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F60, 0x1FA6, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F61, 0x1FA7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F68, 0x1FAE, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F69, 0x1FAF, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F00, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F01, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F08, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F09, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F20, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F21, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F28, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F29, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F60, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F61, 0x1FA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F68, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F69, 0x1FAD, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_kana_WO, 0x30FA, 
--IBUS_KEY_kana_U, 0x30F4, 
--IBUS_KEY_kana_KA, 0x30AC, 
--IBUS_KEY_kana_KI, 0x30AE, 
--IBUS_KEY_kana_KU, 0x30B0, 
--IBUS_KEY_kana_KE, 0x30B2, 
--IBUS_KEY_kana_KO, 0x30B4, 
--IBUS_KEY_kana_SA, 0x30B6, 
--IBUS_KEY_kana_SHI, 0x30B8, 
--IBUS_KEY_kana_SU, 0x30BA, 
--IBUS_KEY_kana_SE, 0x30BC, 
--IBUS_KEY_kana_SO, 0x30BE, 
--IBUS_KEY_kana_TA, 0x30C0, 
--IBUS_KEY_kana_CHI, 0x30C2, 
--IBUS_KEY_kana_TSU, 0x30C5, 
--IBUS_KEY_kana_TE, 0x30C7, 
--IBUS_KEY_kana_TO, 0x30C9, 
--IBUS_KEY_kana_HA, 0x30D0, 
--IBUS_KEY_kana_HI, 0x30D3, 
--IBUS_KEY_kana_FU, 0x30D6, 
--IBUS_KEY_kana_HE, 0x30D9, 
--IBUS_KEY_kana_HO, 0x30DC, 
--IBUS_KEY_kana_WA, 0x30F7, 
--IBUS_KEY_kana_HA, 0x30D1, 
--IBUS_KEY_kana_HI, 0x30D4, 
--IBUS_KEY_kana_FU, 0x30D7, 
--IBUS_KEY_kana_HE, 0x30DA, 
--IBUS_KEY_kana_HO, 0x30DD, 
--IBUS_KEY_space, 0x0323, 
--IBUS_KEY_plus, 0x2A25, 
--IBUS_KEY_minus, 0x2A2A, 
--IBUS_KEY_equal, 0x2A66, 
--IBUS_KEY_nobreakspace, 0x0323, 
--IBUS_KEY_Abreve, 0x1EB6, 
--IBUS_KEY_abreve, 0x1EB7, 
--IBUS_KEY_dead_belowdot, 0x0323, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EE2, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EF0, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EE3, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EF1, 
--IBUS_KEY_space, 0x0309, 
--IBUS_KEY_B, 0x0181, 
--IBUS_KEY_C, 0x0187, 
--IBUS_KEY_D, 0x018A, 
--IBUS_KEY_F, 0x0191, 
--IBUS_KEY_G, 0x0193, 
--IBUS_KEY_K, 0x0198, 
--IBUS_KEY_M, 0x2C6E, 
--IBUS_KEY_N, 0x019D, 
--IBUS_KEY_P, 0x01A4, 
--IBUS_KEY_T, 0x01AC, 
--IBUS_KEY_V, 0x01B2, 
--IBUS_KEY_W, 0x2C72, 
--IBUS_KEY_Z, 0x0224, 
--IBUS_KEY_b, 0x0253, 
--IBUS_KEY_c, 0x0188, 
--IBUS_KEY_d, 0x0257, 
--IBUS_KEY_f, 0x0192, 
--IBUS_KEY_g, 0x0260, 
--IBUS_KEY_h, 0x0266, 
--IBUS_KEY_k, 0x0199, 
--IBUS_KEY_m, 0x0271, 
--IBUS_KEY_n, 0x0272, 
--IBUS_KEY_p, 0x01A5, 
--IBUS_KEY_q, 0x02A0, 
--IBUS_KEY_r, 0x027C, 
--IBUS_KEY_s, 0x0282, 
--IBUS_KEY_t, 0x01AD, 
--IBUS_KEY_v, 0x028B, 
--IBUS_KEY_w, 0x2C73, 
--IBUS_KEY_z, 0x0225, 
--IBUS_KEY_nobreakspace, 0x0309, 
--IBUS_KEY_Abreve, 0x1EB2, 
--IBUS_KEY_abreve, 0x1EB3, 
--0x0256, 0x1D91, 
--0x025C, 0x025D, 
--0x025F, 0x0284, 
--0x0279, 0x027B, 
--IBUS_KEY_dead_hook, 0x0309, 
--IBUS_KEY_dead_greek, IBUS_KEY_U, 0x03D2, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDE, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEC, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDF, 
--IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EED, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EB2, 
--IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EB3, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA8, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC2, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED4, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA9, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC3, 
--IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED5, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EB2, 
--IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EB3, 
--IBUS_KEY_space, 0x031B, 
--IBUS_KEY_nobreakspace, 0x031B, 
--IBUS_KEY_Utilde, 0x1EEE, 
--IBUS_KEY_utilde, 0x1EEF, 
--IBUS_KEY_dead_horn, 0x031B, 
--IBUS_KEY_space, 0x002F, 
--IBUS_KEY_2, 0x01BB, 
--IBUS_KEY_A, 0x023A, 
--IBUS_KEY_B, 0x0243, 
--IBUS_KEY_C, 0x023B, 
--IBUS_KEY_D, 0x0110, 
--IBUS_KEY_E, 0x0246, 
--IBUS_KEY_G, 0x01E4, 
--IBUS_KEY_H, 0x0126, 
--IBUS_KEY_I, 0x0197, 
--IBUS_KEY_J, 0x0248, 
--IBUS_KEY_L, 0x0141, 
--IBUS_KEY_O, 0x00D8, 
--IBUS_KEY_P, 0x2C63, 
--IBUS_KEY_R, 0x024C, 
--IBUS_KEY_T, 0x0166, 
--IBUS_KEY_U, 0x0244, 
--IBUS_KEY_Y, 0x024E, 
--IBUS_KEY_Z, 0x01B5, 
--IBUS_KEY_a, 0x2C65, 
--IBUS_KEY_b, 0x0180, 
--IBUS_KEY_c, 0x023C, 
--IBUS_KEY_d, 0x0111, 
--IBUS_KEY_e, 0x0247, 
--IBUS_KEY_g, 0x01E5, 
--IBUS_KEY_h, 0x0127, 
--IBUS_KEY_i, 0x0268, 
--IBUS_KEY_j, 0x0249, 
--IBUS_KEY_l, 0x0142, 
--IBUS_KEY_o, 0x00F8, 
--IBUS_KEY_p, 0x1D7D, 
--IBUS_KEY_r, 0x024D, 
--IBUS_KEY_t, 0x0167, 
--IBUS_KEY_u, 0x0289, 
--IBUS_KEY_y, 0x024F, 
--IBUS_KEY_z, 0x01B6, 
--IBUS_KEY_nobreakspace, 0x0338, 
--IBUS_KEY_Oacute, 0x01FE, 
--IBUS_KEY_oacute, 0x01FF, 
--0x0237, 0x025F, 
--0x0269, 0x1D7C, 
--IBUS_KEY_lessthanequal, 0x2270, 
--IBUS_KEY_greaterthanequal, 0x2271, 
--IBUS_KEY_dead_stroke, 0x002F, 
--IBUS_KEY_dead_acute, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_dead_acute, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_dead_abovedot, IBUS_KEY_j, 0x025F, 
--IBUS_KEY_dead_greek, IBUS_KEY_r, 0x03FC, 
--IBUS_KEY_Greek_ALPHA, 0x1F08, 
--IBUS_KEY_Greek_EPSILON, 0x1F18, 
--IBUS_KEY_Greek_ETA, 0x1F28, 
--IBUS_KEY_Greek_IOTA, 0x1F38, 
--IBUS_KEY_Greek_OMICRON, 0x1F48, 
--IBUS_KEY_Greek_OMEGA, 0x1F68, 
--IBUS_KEY_Greek_alpha, 0x1F00, 
--IBUS_KEY_Greek_epsilon, 0x1F10, 
--IBUS_KEY_Greek_eta, 0x1F20, 
--IBUS_KEY_Greek_iota, 0x1F30, 
--IBUS_KEY_Greek_omicron, 0x1F40, 
--IBUS_KEY_Greek_rho, 0x1FE4, 
--IBUS_KEY_Greek_upsilon, 0x1F50, 
--IBUS_KEY_Greek_omega, 0x1F60, 
--IBUS_KEY_Greek_ALPHA, 0x1F09, 
--IBUS_KEY_Greek_EPSILON, 0x1F19, 
--IBUS_KEY_Greek_ETA, 0x1F29, 
--IBUS_KEY_Greek_IOTA, 0x1F39, 
--IBUS_KEY_Greek_OMICRON, 0x1F49, 
--IBUS_KEY_Greek_RHO, 0x1FEC, 
--IBUS_KEY_Greek_UPSILON, 0x1F59, 
--IBUS_KEY_Greek_OMEGA, 0x1F69, 
--IBUS_KEY_Greek_alpha, 0x1F01, 
--IBUS_KEY_Greek_epsilon, 0x1F11, 
--IBUS_KEY_Greek_eta, 0x1F21, 
--IBUS_KEY_Greek_iota, 0x1F31, 
--IBUS_KEY_Greek_omicron, 0x1F41, 
--IBUS_KEY_Greek_rho, 0x1FE5, 
--IBUS_KEY_Greek_upsilon, 0x1F51, 
--IBUS_KEY_Greek_omega, 0x1F61, 
--IBUS_KEY_bar, 0x2AF0, 
--IBUS_KEY_plus, 0x2A26, 
--IBUS_KEY_dead_diaeresis, IBUS_KEY_equal, 0x2A77, 
--IBUS_KEY_space, 0x002C, 
--IBUS_KEY_S, 0x0218, 
--IBUS_KEY_T, 0x021A, 
--IBUS_KEY_s, 0x0219, 
--IBUS_KEY_t, 0x021B, 
--IBUS_KEY_nobreakspace, 0x0326, 
--IBUS_KEY_dead_belowcomma, 0x002C, 
--IBUS_KEY_space, 0x00A4, 
--IBUS_KEY_A, 0x20B3, 
--IBUS_KEY_B, 0x20B1, 
--IBUS_KEY_C, 0x20A1, 
--IBUS_KEY_D, 0x20AF, 
--IBUS_KEY_E, 0x20A0, 
--IBUS_KEY_F, 0x20A3, 
--IBUS_KEY_G, 0x20B2, 
--IBUS_KEY_H, 0x20B4, 
--IBUS_KEY_I, 0x17DB, 
--IBUS_KEY_K, 0x20AD, 
--IBUS_KEY_L, 0x20A4, 
--IBUS_KEY_M, 0x2133, 
--IBUS_KEY_N, 0x20A6, 
--IBUS_KEY_O, 0x0AF1, 
--IBUS_KEY_P, 0x20A7, 
--IBUS_KEY_R, 0x20A8, 
--IBUS_KEY_S, 0x0024, 
--IBUS_KEY_T, 0x20AE, 
--IBUS_KEY_U, 0x5713, 
--IBUS_KEY_W, 0x20A9, 
--IBUS_KEY_Y, 0x5186, 
--IBUS_KEY_a, 0x060B, 
--IBUS_KEY_b, 0x0E3F, 
--IBUS_KEY_c, 0x00A2, 
--IBUS_KEY_d, 0x20AB, 
--IBUS_KEY_e, 0x20AC, 
--IBUS_KEY_f, 0x0192, 
--IBUS_KEY_g, 0x20B2, 
--IBUS_KEY_h, 0x20B4, 
--IBUS_KEY_i, 0xFDFC, 
--IBUS_KEY_k, 0x20AD, 
--IBUS_KEY_l, 0x00A3, 
--IBUS_KEY_m, 0x20A5, 
--IBUS_KEY_n, 0x20A6, 
--IBUS_KEY_o, 0x0BF9, 
--IBUS_KEY_p, 0x20B0, 
--IBUS_KEY_r, 0x20A2, 
--IBUS_KEY_s, 0x20AA, 
--IBUS_KEY_t, 0x09F3, 
--IBUS_KEY_u, 0x5143, 
--IBUS_KEY_w, 0x20A9, 
--IBUS_KEY_y, 0x00A5, 
--IBUS_KEY_nobreakspace, 0x00A4, 
--IBUS_KEY_Ccedilla, 0x20B5, 
--IBUS_KEY_THORN, 0x09F2, 
--IBUS_KEY_ccedilla, 0x20B5, 
--IBUS_KEY_thorn, 0x09F2, 
--IBUS_KEY_dead_currency, 0x00A4, 
--IBUS_KEY_dead_cedilla, IBUS_KEY_C, 0x20B5, 
--IBUS_KEY_dead_cedilla, IBUS_KEY_c, 0x20B5, 
--IBUS_KEY_space, 0x00B5, 
--IBUS_KEY_A, 0x0391, 
--IBUS_KEY_B, 0x0392, 
--IBUS_KEY_D, 0x0394, 
--IBUS_KEY_E, 0x0395, 
--IBUS_KEY_F, 0x03A6, 
--IBUS_KEY_G, 0x0393, 
--IBUS_KEY_H, 0x0397, 
--IBUS_KEY_I, 0x0399, 
--IBUS_KEY_J, 0x0398, 
--IBUS_KEY_K, 0x039A, 
--IBUS_KEY_L, 0x039B, 
--IBUS_KEY_M, 0x039C, 
--IBUS_KEY_N, 0x039D, 
--IBUS_KEY_O, 0x039F, 
--IBUS_KEY_P, 0x03A0, 
--IBUS_KEY_Q, 0x03A7, 
--IBUS_KEY_R, 0x03A1, 
--IBUS_KEY_S, 0x03A3, 
--IBUS_KEY_T, 0x03A4, 
--IBUS_KEY_U, 0x03A5, 
--IBUS_KEY_W, 0x03A9, 
--IBUS_KEY_X, 0x039E, 
--IBUS_KEY_Y, 0x03A8, 
--IBUS_KEY_Z, 0x0396, 
--IBUS_KEY_a, 0x03B1, 
--IBUS_KEY_b, 0x03B2, 
--IBUS_KEY_d, 0x03B4, 
--IBUS_KEY_e, 0x03B5, 
--IBUS_KEY_f, 0x03C6, 
--IBUS_KEY_g, 0x03B3, 
--IBUS_KEY_h, 0x03B7, 
--IBUS_KEY_i, 0x03B9, 
--IBUS_KEY_j, 0x03B8, 
--IBUS_KEY_k, 0x03BA, 
--IBUS_KEY_l, 0x03BB, 
--IBUS_KEY_m, 0x03BC, 
--IBUS_KEY_n, 0x03BD, 
--IBUS_KEY_o, 0x03BF, 
--IBUS_KEY_p, 0x03C0, 
--IBUS_KEY_q, 0x03C7, 
--IBUS_KEY_r, 0x03C1, 
--IBUS_KEY_s, 0x03C3, 
--IBUS_KEY_t, 0x03C4, 
--IBUS_KEY_u, 0x03C5, 
--IBUS_KEY_w, 0x03C9, 
--IBUS_KEY_x, 0x03BE, 
--IBUS_KEY_y, 0x03C8, 
--IBUS_KEY_z, 0x03B6, 
--IBUS_KEY_nobreakspace, 0x00B5, 
--IBUS_KEY_dead_greek, 0x00B5, 
--IBUS_KEY_dead_macron, IBUS_KEY_A, 0x1FB9, 
--IBUS_KEY_dead_macron, IBUS_KEY_I, 0x1FD9, 
--IBUS_KEY_dead_macron, IBUS_KEY_U, 0x1FE9, 
--IBUS_KEY_dead_macron, IBUS_KEY_a, 0x1FB1, 
--IBUS_KEY_dead_macron, IBUS_KEY_i, 0x1FD1, 
--IBUS_KEY_dead_macron, IBUS_KEY_u, 0x1FE1, 
--IBUS_KEY_dead_hook, IBUS_KEY_U, 0x03D2, 
--IBUS_KEY_dead_stroke, IBUS_KEY_r, 0x03FC, 
--IBUS_KEY_space, IBUS_KEY_space, 0x00A0, 
--IBUS_KEY_space, IBUS_KEY_apostrophe, 0x0027, 
--IBUS_KEY_space, IBUS_KEY_parenleft, 0x02D8, 
--IBUS_KEY_space, IBUS_KEY_comma, 0x00B8, 
--IBUS_KEY_space, IBUS_KEY_minus, 0x007E, 
--IBUS_KEY_space, IBUS_KEY_period, 0x2008, 
--IBUS_KEY_space, IBUS_KEY_less, 0x02C7, 
--IBUS_KEY_space, IBUS_KEY_greater, 0x005E, 
--IBUS_KEY_space, IBUS_KEY_asciicircum, 0x005E, 
--IBUS_KEY_space, IBUS_KEY_grave, 0x0060, 
--IBUS_KEY_space, IBUS_KEY_asciitilde, 0x007E, 
--IBUS_KEY_exclam, IBUS_KEY_exclam, 0x00A1, 
--IBUS_KEY_exclam, IBUS_KEY_question, 0x203D, 
--IBUS_KEY_exclam, IBUS_KEY_A, 0x1EA0, 
--IBUS_KEY_exclam, IBUS_KEY_B, 0x1E04, 
--IBUS_KEY_exclam, IBUS_KEY_D, 0x1E0C, 
--IBUS_KEY_exclam, IBUS_KEY_E, 0x1EB8, 
--IBUS_KEY_exclam, IBUS_KEY_H, 0x1E24, 
--IBUS_KEY_exclam, IBUS_KEY_I, 0x1ECA, 
--IBUS_KEY_exclam, IBUS_KEY_K, 0x1E32, 
--IBUS_KEY_exclam, IBUS_KEY_L, 0x1E36, 
--IBUS_KEY_exclam, IBUS_KEY_M, 0x1E42, 
--IBUS_KEY_exclam, IBUS_KEY_N, 0x1E46, 
--IBUS_KEY_exclam, IBUS_KEY_O, 0x1ECC, 
--IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5A, 
--IBUS_KEY_exclam, IBUS_KEY_S, 0x1E62, 
--IBUS_KEY_exclam, IBUS_KEY_T, 0x1E6C, 
--IBUS_KEY_exclam, IBUS_KEY_U, 0x1EE4, 
--IBUS_KEY_exclam, IBUS_KEY_V, 0x1E7E, 
--IBUS_KEY_exclam, IBUS_KEY_W, 0x1E88, 
--IBUS_KEY_exclam, IBUS_KEY_Y, 0x1EF4, 
--IBUS_KEY_exclam, IBUS_KEY_Z, 0x1E92, 
--IBUS_KEY_exclam, IBUS_KEY_asciicircum, 0x00A6, 
--IBUS_KEY_exclam, IBUS_KEY_a, 0x1EA1, 
--IBUS_KEY_exclam, IBUS_KEY_b, 0x1E05, 
--IBUS_KEY_exclam, IBUS_KEY_d, 0x1E0D, 
--IBUS_KEY_exclam, IBUS_KEY_e, 0x1EB9, 
--IBUS_KEY_exclam, IBUS_KEY_h, 0x1E25, 
--IBUS_KEY_exclam, IBUS_KEY_i, 0x1ECB, 
--IBUS_KEY_exclam, IBUS_KEY_k, 0x1E33, 
--IBUS_KEY_exclam, IBUS_KEY_l, 0x1E37, 
--IBUS_KEY_exclam, IBUS_KEY_m, 0x1E43, 
--IBUS_KEY_exclam, IBUS_KEY_n, 0x1E47, 
--IBUS_KEY_exclam, IBUS_KEY_o, 0x1ECD, 
--IBUS_KEY_exclam, IBUS_KEY_r, 0x1E5B, 
--IBUS_KEY_exclam, IBUS_KEY_s, 0x1E63, 
--IBUS_KEY_exclam, IBUS_KEY_t, 0x1E6D, 
--IBUS_KEY_exclam, IBUS_KEY_u, 0x1EE5, 
--IBUS_KEY_exclam, IBUS_KEY_v, 0x1E7F, 
--IBUS_KEY_exclam, IBUS_KEY_w, 0x1E89, 
--IBUS_KEY_exclam, IBUS_KEY_y, 0x1EF5, 
--IBUS_KEY_exclam, IBUS_KEY_z, 0x1E93, 
--IBUS_KEY_quotedbl, IBUS_KEY_quotedbl, 0x00A8, 
--IBUS_KEY_quotedbl, IBUS_KEY_apostrophe, 0x0344, 
--IBUS_KEY_quotedbl, IBUS_KEY_comma, 0x201E, 
--IBUS_KEY_quotedbl, IBUS_KEY_less, 0x201C, 
--IBUS_KEY_quotedbl, IBUS_KEY_greater, 0x201D, 
--IBUS_KEY_quotedbl, IBUS_KEY_A, 0x00C4, 
--IBUS_KEY_quotedbl, IBUS_KEY_E, 0x00CB, 
--IBUS_KEY_quotedbl, IBUS_KEY_H, 0x1E26, 
--IBUS_KEY_quotedbl, IBUS_KEY_I, 0x00CF, 
--IBUS_KEY_quotedbl, IBUS_KEY_O, 0x00D6, 
--IBUS_KEY_quotedbl, IBUS_KEY_U, 0x00DC, 
--IBUS_KEY_quotedbl, IBUS_KEY_W, 0x1E84, 
--IBUS_KEY_quotedbl, IBUS_KEY_X, 0x1E8C, 
--IBUS_KEY_quotedbl, IBUS_KEY_Y, 0x0178, 
--IBUS_KEY_quotedbl, IBUS_KEY_a, 0x00E4, 
--IBUS_KEY_quotedbl, IBUS_KEY_e, 0x00EB, 
--IBUS_KEY_quotedbl, IBUS_KEY_h, 0x1E27, 
--IBUS_KEY_quotedbl, IBUS_KEY_i, 0x00EF, 
--IBUS_KEY_quotedbl, IBUS_KEY_o, 0x00F6, 
--IBUS_KEY_quotedbl, IBUS_KEY_t, 0x1E97, 
--IBUS_KEY_quotedbl, IBUS_KEY_u, 0x00FC, 
--IBUS_KEY_quotedbl, IBUS_KEY_w, 0x1E85, 
--IBUS_KEY_quotedbl, IBUS_KEY_x, 0x1E8D, 
--IBUS_KEY_quotedbl, IBUS_KEY_y, 0x00FF, 
--IBUS_KEY_quotedbl, IBUS_KEY_acute, 0x0344, 
--IBUS_KEY_quotedbl, IBUS_KEY_Otilde, 0x1E4E, 
--IBUS_KEY_quotedbl, IBUS_KEY_otilde, 0x1E4F, 
--IBUS_KEY_quotedbl, 0x03D2, 0x03D4, 
--IBUS_KEY_quotedbl, IBUS_KEY_Umacron, 0x1E7A, 
--IBUS_KEY_quotedbl, IBUS_KEY_umacron, 0x1E7B, 
--IBUS_KEY_quotedbl, 0x04D8, 0x04DA, 
--IBUS_KEY_quotedbl, 0x04D9, 0x04DB, 
--IBUS_KEY_quotedbl, 0x04E8, 0x04EA, 
--IBUS_KEY_quotedbl, 0x04E9, 0x04EB, 
--IBUS_KEY_quotedbl, IBUS_KEY_Ukrainian_i, 0x0457, 
--IBUS_KEY_quotedbl, IBUS_KEY_Ukrainian_I, 0x0407, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_a, 0x04D3, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ie, 0x0451, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_i, 0x04E5, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_o, 0x04E7, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_u, 0x04F1, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_zhe, 0x04DD, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_yeru, 0x04F9, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ze, 0x04DF, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_e, 0x04ED, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_che, 0x04F5, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_A, 0x04D2, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_IE, 0x0401, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_I, 0x04E4, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_O, 0x04E6, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_U, 0x04F0, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ZHE, 0x04DC, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_YERU, 0x04F8, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ZE, 0x04DE, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_E, 0x04EC, 
--IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_CHE, 0x04F4, 
--IBUS_KEY_quotedbl, IBUS_KEY_Greek_IOTA, 0x03AA, 
--IBUS_KEY_quotedbl, IBUS_KEY_Greek_UPSILON, 0x03AB, 
--IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x03CA, 
--IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03CB, 
--IBUS_KEY_quotedbl, IBUS_KEY_dead_acute, 0x0344, 
--IBUS_KEY_numbersign, IBUS_KEY_numbersign, 0x266F, 
--IBUS_KEY_numbersign, IBUS_KEY_E, 0x266B, 
--IBUS_KEY_numbersign, IBUS_KEY_S, 0x266C, 
--IBUS_KEY_numbersign, IBUS_KEY_b, 0x266D, 
--IBUS_KEY_numbersign, IBUS_KEY_e, 0x266A, 
--IBUS_KEY_numbersign, IBUS_KEY_f, 0x266E, 
--IBUS_KEY_numbersign, IBUS_KEY_q, 0x2669, 
--IBUS_KEY_percent, IBUS_KEY_o, 0x2030, 
--IBUS_KEY_apostrophe, IBUS_KEY_space, 0x0027, 
--IBUS_KEY_apostrophe, IBUS_KEY_apostrophe, 0x00B4, 
--IBUS_KEY_apostrophe, IBUS_KEY_comma, 0x201A, 
--IBUS_KEY_apostrophe, IBUS_KEY_less, 0x2018, 
--IBUS_KEY_apostrophe, IBUS_KEY_greater, 0x2019, 
--IBUS_KEY_apostrophe, IBUS_KEY_A, 0x00C1, 
--IBUS_KEY_apostrophe, IBUS_KEY_C, 0x0106, 
--IBUS_KEY_apostrophe, IBUS_KEY_E, 0x00C9, 
--IBUS_KEY_apostrophe, IBUS_KEY_G, 0x01F4, 
--IBUS_KEY_apostrophe, IBUS_KEY_I, 0x00CD, 
--IBUS_KEY_apostrophe, IBUS_KEY_K, 0x1E30, 
--IBUS_KEY_apostrophe, IBUS_KEY_L, 0x0139, 
--IBUS_KEY_apostrophe, IBUS_KEY_M, 0x1E3E, 
--IBUS_KEY_apostrophe, IBUS_KEY_N, 0x0143, 
--IBUS_KEY_apostrophe, IBUS_KEY_O, 0x00D3, 
--IBUS_KEY_apostrophe, IBUS_KEY_P, 0x1E54, 
--IBUS_KEY_apostrophe, IBUS_KEY_R, 0x0154, 
--IBUS_KEY_apostrophe, IBUS_KEY_S, 0x015A, 
--IBUS_KEY_apostrophe, IBUS_KEY_U, 0x00DA, 
--IBUS_KEY_apostrophe, IBUS_KEY_W, 0x1E82, 
--IBUS_KEY_apostrophe, IBUS_KEY_Y, 0x00DD, 
--IBUS_KEY_apostrophe, IBUS_KEY_Z, 0x0179, 
--IBUS_KEY_apostrophe, IBUS_KEY_a, 0x00E1, 
--IBUS_KEY_apostrophe, IBUS_KEY_c, 0x0107, 
--IBUS_KEY_apostrophe, IBUS_KEY_e, 0x00E9, 
--IBUS_KEY_apostrophe, IBUS_KEY_g, 0x01F5, 
--IBUS_KEY_apostrophe, IBUS_KEY_i, 0x00ED, 
--IBUS_KEY_apostrophe, IBUS_KEY_k, 0x1E31, 
--IBUS_KEY_apostrophe, IBUS_KEY_l, 0x013A, 
--IBUS_KEY_apostrophe, IBUS_KEY_m, 0x1E3F, 
--IBUS_KEY_apostrophe, IBUS_KEY_n, 0x0144, 
--IBUS_KEY_apostrophe, IBUS_KEY_o, 0x00F3, 
--IBUS_KEY_apostrophe, IBUS_KEY_p, 0x1E55, 
--IBUS_KEY_apostrophe, IBUS_KEY_r, 0x0155, 
--IBUS_KEY_apostrophe, IBUS_KEY_s, 0x015B, 
--IBUS_KEY_apostrophe, IBUS_KEY_u, 0x00FA, 
--IBUS_KEY_apostrophe, IBUS_KEY_w, 0x1E83, 
--IBUS_KEY_apostrophe, IBUS_KEY_y, 0x00FD, 
--IBUS_KEY_apostrophe, IBUS_KEY_z, 0x017A, 
--IBUS_KEY_apostrophe, IBUS_KEY_Acircumflex, 0x1EA4, 
--IBUS_KEY_apostrophe, IBUS_KEY_Aring, 0x01FA, 
--IBUS_KEY_apostrophe, IBUS_KEY_AE, 0x01FC, 
--IBUS_KEY_apostrophe, IBUS_KEY_Ccedilla, 0x1E08, 
--IBUS_KEY_apostrophe, IBUS_KEY_Ecircumflex, 0x1EBE, 
--IBUS_KEY_apostrophe, IBUS_KEY_Idiaeresis, 0x1E2E, 
--IBUS_KEY_apostrophe, IBUS_KEY_Ocircumflex, 0x1ED0, 
--IBUS_KEY_apostrophe, IBUS_KEY_Otilde, 0x1E4C, 
--IBUS_KEY_apostrophe, IBUS_KEY_Ooblique, 0x01FE, 
--IBUS_KEY_apostrophe, IBUS_KEY_Udiaeresis, 0x01D7, 
--IBUS_KEY_apostrophe, IBUS_KEY_acircumflex, 0x1EA5, 
--IBUS_KEY_apostrophe, IBUS_KEY_aring, 0x01FB, 
--IBUS_KEY_apostrophe, IBUS_KEY_ae, 0x01FD, 
--IBUS_KEY_apostrophe, IBUS_KEY_ccedilla, 0x1E09, 
--IBUS_KEY_apostrophe, IBUS_KEY_ecircumflex, 0x1EBF, 
--IBUS_KEY_apostrophe, IBUS_KEY_idiaeresis, 0x1E2F, 
--IBUS_KEY_apostrophe, IBUS_KEY_ocircumflex, 0x1ED1, 
--IBUS_KEY_apostrophe, IBUS_KEY_otilde, 0x1E4D, 
--IBUS_KEY_apostrophe, IBUS_KEY_oslash, 0x01FF, 
--IBUS_KEY_apostrophe, IBUS_KEY_udiaeresis, 0x01D8, 
--IBUS_KEY_apostrophe, IBUS_KEY_Abreve, 0x1EAE, 
--IBUS_KEY_apostrophe, IBUS_KEY_abreve, 0x1EAF, 
--IBUS_KEY_apostrophe, IBUS_KEY_Emacron, 0x1E16, 
--IBUS_KEY_apostrophe, IBUS_KEY_emacron, 0x1E17, 
--IBUS_KEY_apostrophe, IBUS_KEY_Omacron, 0x1E52, 
--IBUS_KEY_apostrophe, IBUS_KEY_Utilde, 0x1E78, 
--IBUS_KEY_apostrophe, IBUS_KEY_omacron, 0x1E53, 
--IBUS_KEY_apostrophe, IBUS_KEY_utilde, 0x1E79, 
--IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ghe, 0x0453, 
--IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ka, 0x045C, 
--IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_GHE, 0x0403, 
--IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_KA, 0x040C, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_iotadieresis, 0x0390, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilondieresis, 0x03B0, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, 0x0386, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_EPSILON, 0x0388, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, 0x0389, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_IOTA, 0x038A, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMICRON, 0x038C, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_UPSILON, 0x038E, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, 0x038F, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0x03AC, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_epsilon, 0x03AD, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0x03AE, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_iota, 0x03AF, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_omicron, 0x03CC, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilon, 0x03CD, 
--IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0x03CE, 
--IBUS_KEY_apostrophe, 0x1F00, 0x1F04, 
--IBUS_KEY_apostrophe, 0x1F01, 0x1F05, 
--IBUS_KEY_apostrophe, 0x1F08, 0x1F0C, 
--IBUS_KEY_apostrophe, 0x1F09, 0x1F0D, 
--IBUS_KEY_apostrophe, 0x1F10, 0x1F14, 
--IBUS_KEY_apostrophe, 0x1F11, 0x1F15, 
--IBUS_KEY_apostrophe, 0x1F18, 0x1F1C, 
--IBUS_KEY_apostrophe, 0x1F19, 0x1F1D, 
--IBUS_KEY_apostrophe, 0x1F20, 0x1F24, 
--IBUS_KEY_apostrophe, 0x1F21, 0x1F25, 
--IBUS_KEY_apostrophe, 0x1F28, 0x1F2C, 
--IBUS_KEY_apostrophe, 0x1F29, 0x1F2D, 
--IBUS_KEY_apostrophe, 0x1F30, 0x1F34, 
--IBUS_KEY_apostrophe, 0x1F31, 0x1F35, 
--IBUS_KEY_apostrophe, 0x1F38, 0x1F3C, 
--IBUS_KEY_apostrophe, 0x1F39, 0x1F3D, 
--IBUS_KEY_apostrophe, 0x1F40, 0x1F44, 
--IBUS_KEY_apostrophe, 0x1F41, 0x1F45, 
--IBUS_KEY_apostrophe, 0x1F48, 0x1F4C, 
--IBUS_KEY_apostrophe, 0x1F49, 0x1F4D, 
--IBUS_KEY_apostrophe, 0x1F50, 0x1F54, 
--IBUS_KEY_apostrophe, 0x1F51, 0x1F55, 
--IBUS_KEY_apostrophe, 0x1F59, 0x1F5D, 
--IBUS_KEY_apostrophe, 0x1F60, 0x1F64, 
--IBUS_KEY_apostrophe, 0x1F61, 0x1F65, 
--IBUS_KEY_apostrophe, 0x1F68, 0x1F6C, 
--IBUS_KEY_apostrophe, 0x1F69, 0x1F6D, 
--IBUS_KEY_apostrophe, 0x2395, 0x235E, 
--IBUS_KEY_parenleft, IBUS_KEY_space, 0x02D8, 
--IBUS_KEY_parenleft, IBUS_KEY_parenleft, 0x005B, 
--IBUS_KEY_parenleft, IBUS_KEY_minus, 0x007B, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F09, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F19, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F29, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F39, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F49, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_RHO, 0x1FEC, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F59, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F69, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F01, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F11, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F21, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F31, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F41, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_rho, 0x1FE5, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F51, 
--IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F61, 
--IBUS_KEY_parenright, IBUS_KEY_parenright, 0x005D, 
--IBUS_KEY_parenright, IBUS_KEY_minus, 0x007D, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F08, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F18, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F28, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F38, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F48, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F68, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F00, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F10, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F20, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F30, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F40, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_rho, 0x1FE4, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F50, 
--IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F60, 
--IBUS_KEY_asterisk, IBUS_KEY_0, 0x00B0, 
--IBUS_KEY_asterisk, IBUS_KEY_A, 0x00C5, 
--IBUS_KEY_asterisk, IBUS_KEY_U, 0x016E, 
--IBUS_KEY_asterisk, IBUS_KEY_a, 0x00E5, 
--IBUS_KEY_asterisk, IBUS_KEY_u, 0x016F, 
--IBUS_KEY_asterisk, IBUS_KEY_diaeresis, 0x2363, 
--IBUS_KEY_asterisk, IBUS_KEY_emopencircle, 0x235F, 
--IBUS_KEY_plus, IBUS_KEY_plus, 0x0023, 
--IBUS_KEY_plus, IBUS_KEY_minus, 0x00B1, 
--IBUS_KEY_plus, IBUS_KEY_O, 0x01A0, 
--IBUS_KEY_plus, IBUS_KEY_U, 0x01AF, 
--IBUS_KEY_plus, IBUS_KEY_o, 0x01A1, 
--IBUS_KEY_plus, IBUS_KEY_u, 0x01B0, 
--IBUS_KEY_comma, IBUS_KEY_space, 0x00B8, 
--IBUS_KEY_comma, IBUS_KEY_quotedbl, 0x201E, 
--IBUS_KEY_comma, IBUS_KEY_apostrophe, 0x201A, 
--IBUS_KEY_comma, IBUS_KEY_comma, 0x00B8, 
--IBUS_KEY_comma, IBUS_KEY_minus, 0x00AC, 
--IBUS_KEY_comma, IBUS_KEY_A, 0x0104, 
--IBUS_KEY_comma, IBUS_KEY_C, 0x00C7, 
--IBUS_KEY_comma, IBUS_KEY_D, 0x1E10, 
--IBUS_KEY_comma, IBUS_KEY_E, 0x0118, 
--IBUS_KEY_comma, IBUS_KEY_G, 0x0122, 
--IBUS_KEY_comma, IBUS_KEY_H, 0x1E28, 
--IBUS_KEY_comma, IBUS_KEY_I, 0x012E, 
--IBUS_KEY_comma, IBUS_KEY_K, 0x0136, 
--IBUS_KEY_comma, IBUS_KEY_L, 0x013B, 
--IBUS_KEY_comma, IBUS_KEY_N, 0x0145, 
--IBUS_KEY_comma, IBUS_KEY_O, 0x01EA, 
--IBUS_KEY_comma, IBUS_KEY_R, 0x0156, 
--IBUS_KEY_comma, IBUS_KEY_S, 0x015E, 
--IBUS_KEY_comma, IBUS_KEY_T, 0x0162, 
--IBUS_KEY_comma, IBUS_KEY_U, 0x0172, 
--IBUS_KEY_comma, IBUS_KEY_a, 0x0105, 
--IBUS_KEY_comma, IBUS_KEY_c, 0x00E7, 
--IBUS_KEY_comma, IBUS_KEY_d, 0x1E11, 
--IBUS_KEY_comma, IBUS_KEY_e, 0x0119, 
--IBUS_KEY_comma, IBUS_KEY_g, 0x0123, 
--IBUS_KEY_comma, IBUS_KEY_h, 0x1E29, 
--IBUS_KEY_comma, IBUS_KEY_i, 0x012F, 
--IBUS_KEY_comma, IBUS_KEY_k, 0x0137, 
--IBUS_KEY_comma, IBUS_KEY_l, 0x013C, 
--IBUS_KEY_comma, IBUS_KEY_n, 0x0146, 
--IBUS_KEY_comma, IBUS_KEY_o, 0x01EB, 
--IBUS_KEY_comma, IBUS_KEY_r, 0x0157, 
--IBUS_KEY_comma, IBUS_KEY_s, 0x015F, 
--IBUS_KEY_comma, IBUS_KEY_t, 0x0163, 
--IBUS_KEY_comma, IBUS_KEY_u, 0x0173, 
--IBUS_KEY_minus, IBUS_KEY_space, 0x007E, 
--IBUS_KEY_minus, IBUS_KEY_parenleft, 0x007B, 
--IBUS_KEY_minus, IBUS_KEY_parenright, 0x007D, 
--IBUS_KEY_minus, IBUS_KEY_plus, 0x00B1, 
--IBUS_KEY_minus, IBUS_KEY_comma, 0x00AC, 
--IBUS_KEY_minus, IBUS_KEY_slash, 0x233F, 
--IBUS_KEY_minus, IBUS_KEY_colon, 0x00F7, 
--IBUS_KEY_minus, IBUS_KEY_greater, 0x2192, 
--IBUS_KEY_minus, IBUS_KEY_A, 0x0100, 
--IBUS_KEY_minus, IBUS_KEY_D, 0x0110, 
--IBUS_KEY_minus, IBUS_KEY_E, 0x0112, 
--IBUS_KEY_minus, IBUS_KEY_I, 0x012A, 
--IBUS_KEY_minus, IBUS_KEY_L, 0x00A3, 
--IBUS_KEY_minus, IBUS_KEY_O, 0x014C, 
--IBUS_KEY_minus, IBUS_KEY_U, 0x016A, 
--IBUS_KEY_minus, IBUS_KEY_Y, 0x00A5, 
--IBUS_KEY_minus, IBUS_KEY_backslash, 0x2340, 
--IBUS_KEY_minus, IBUS_KEY_asciicircum, 0x00AF, 
--IBUS_KEY_minus, IBUS_KEY_a, 0x0101, 
--IBUS_KEY_minus, IBUS_KEY_d, 0x0111, 
--IBUS_KEY_minus, IBUS_KEY_e, 0x0113, 
--IBUS_KEY_minus, IBUS_KEY_i, 0x012B, 
--IBUS_KEY_minus, IBUS_KEY_l, 0x00A3, 
--IBUS_KEY_minus, IBUS_KEY_o, 0x014D, 
--IBUS_KEY_minus, IBUS_KEY_u, 0x016B, 
--IBUS_KEY_minus, IBUS_KEY_y, 0x00A5, 
--IBUS_KEY_minus, 0x2191, 0x234F, 
--IBUS_KEY_minus, 0x2193, 0x2356, 
--IBUS_KEY_minus, IBUS_KEY_emopencircle, 0x2296, 
--IBUS_KEY_period, IBUS_KEY_minus, 0x00B7, 
--IBUS_KEY_period, IBUS_KEY_period, 0x2026, 
--IBUS_KEY_period, IBUS_KEY_colon, 0x2235, 
--IBUS_KEY_period, IBUS_KEY_less, 0x2039, 
--IBUS_KEY_period, IBUS_KEY_equal, 0x2022, 
--IBUS_KEY_period, IBUS_KEY_greater, 0x203A, 
--IBUS_KEY_period, IBUS_KEY_A, 0x0226, 
--IBUS_KEY_period, IBUS_KEY_B, 0x1E02, 
--IBUS_KEY_period, IBUS_KEY_C, 0x010A, 
--IBUS_KEY_period, IBUS_KEY_D, 0x1E0A, 
--IBUS_KEY_period, IBUS_KEY_E, 0x0116, 
--IBUS_KEY_period, IBUS_KEY_F, 0x1E1E, 
--IBUS_KEY_period, IBUS_KEY_G, 0x0120, 
--IBUS_KEY_period, IBUS_KEY_H, 0x1E22, 
--IBUS_KEY_period, IBUS_KEY_I, 0x0130, 
--IBUS_KEY_period, IBUS_KEY_M, 0x1E40, 
--IBUS_KEY_period, IBUS_KEY_N, 0x1E44, 
--IBUS_KEY_period, IBUS_KEY_O, 0x022E, 
--IBUS_KEY_period, IBUS_KEY_P, 0x1E56, 
--IBUS_KEY_period, IBUS_KEY_R, 0x1E58, 
--IBUS_KEY_period, IBUS_KEY_S, 0x1E60, 
--IBUS_KEY_period, IBUS_KEY_T, 0x1E6A, 
--IBUS_KEY_period, IBUS_KEY_W, 0x1E86, 
--IBUS_KEY_period, IBUS_KEY_X, 0x1E8A, 
--IBUS_KEY_period, IBUS_KEY_Y, 0x1E8E, 
--IBUS_KEY_period, IBUS_KEY_Z, 0x017B, 
--IBUS_KEY_period, IBUS_KEY_asciicircum, 0x00B7, 
--IBUS_KEY_period, IBUS_KEY_a, 0x0227, 
--IBUS_KEY_period, IBUS_KEY_b, 0x1E03, 
--IBUS_KEY_period, IBUS_KEY_c, 0x010B, 
--IBUS_KEY_period, IBUS_KEY_d, 0x1E0B, 
--IBUS_KEY_period, IBUS_KEY_e, 0x0117, 
--IBUS_KEY_period, IBUS_KEY_f, 0x1E1F, 
--IBUS_KEY_period, IBUS_KEY_g, 0x0121, 
--IBUS_KEY_period, IBUS_KEY_h, 0x1E23, 
--IBUS_KEY_period, IBUS_KEY_i, 0x0131, 
--IBUS_KEY_period, IBUS_KEY_m, 0x1E41, 
--IBUS_KEY_period, IBUS_KEY_n, 0x1E45, 
--IBUS_KEY_period, IBUS_KEY_o, 0x022F, 
--IBUS_KEY_period, IBUS_KEY_p, 0x1E57, 
--IBUS_KEY_period, IBUS_KEY_r, 0x1E59, 
--IBUS_KEY_period, IBUS_KEY_s, 0x1E61, 
--IBUS_KEY_period, IBUS_KEY_t, 0x1E6B, 
--IBUS_KEY_period, IBUS_KEY_w, 0x1E87, 
--IBUS_KEY_period, IBUS_KEY_x, 0x1E8B, 
--IBUS_KEY_period, IBUS_KEY_y, 0x1E8F, 
--IBUS_KEY_period, IBUS_KEY_z, 0x017C, 
--IBUS_KEY_period, 0x017F, 0x1E9B, 
--IBUS_KEY_period, IBUS_KEY_Sacute, 0x1E64, 
--IBUS_KEY_period, IBUS_KEY_Scaron, 0x1E66, 
--IBUS_KEY_period, IBUS_KEY_sacute, 0x1E65, 
--IBUS_KEY_period, IBUS_KEY_scaron, 0x1E67, 
--IBUS_KEY_period, 0x1E62, 0x1E68, 
--IBUS_KEY_period, 0x1E63, 0x1E69, 
--IBUS_KEY_period, IBUS_KEY_emopencircle, 0x2299, 
--IBUS_KEY_slash, IBUS_KEY_minus, 0x233F, 
--IBUS_KEY_slash, IBUS_KEY_slash, 0x005C, 
--IBUS_KEY_slash, IBUS_KEY_less, 0x005C, 
--IBUS_KEY_slash, IBUS_KEY_equal, 0x2260, 
--IBUS_KEY_slash, IBUS_KEY_C, 0x20A1, 
--IBUS_KEY_slash, IBUS_KEY_D, 0x0110, 
--IBUS_KEY_slash, IBUS_KEY_G, 0x01E4, 
--IBUS_KEY_slash, IBUS_KEY_H, 0x0126, 
--IBUS_KEY_slash, IBUS_KEY_I, 0x0197, 
--IBUS_KEY_slash, IBUS_KEY_L, 0x0141, 
--IBUS_KEY_slash, IBUS_KEY_O, 0x00D8, 
--IBUS_KEY_slash, IBUS_KEY_T, 0x0166, 
--IBUS_KEY_slash, IBUS_KEY_Z, 0x01B5, 
--IBUS_KEY_slash, IBUS_KEY_asciicircum, 0x007C, 
--IBUS_KEY_slash, IBUS_KEY_b, 0x0180, 
--IBUS_KEY_slash, IBUS_KEY_c, 0x00A2, 
--IBUS_KEY_slash, IBUS_KEY_d, 0x0111, 
--IBUS_KEY_slash, IBUS_KEY_g, 0x01E5, 
--IBUS_KEY_slash, IBUS_KEY_h, 0x0127, 
--IBUS_KEY_slash, IBUS_KEY_i, 0x0268, 
--IBUS_KEY_slash, IBUS_KEY_l, 0x0142, 
--IBUS_KEY_slash, IBUS_KEY_m, 0x20A5, 
--IBUS_KEY_slash, IBUS_KEY_o, 0x00F8, 
--IBUS_KEY_slash, IBUS_KEY_t, 0x0167, 
--IBUS_KEY_slash, IBUS_KEY_u, 0x00B5, 
--IBUS_KEY_slash, IBUS_KEY_v, 0x221A, 
--IBUS_KEY_slash, IBUS_KEY_z, 0x01B6, 
--IBUS_KEY_slash, 0x0294, 0x02A1, 
--IBUS_KEY_slash, 0x04AE, 0x04B0, 
--IBUS_KEY_slash, 0x04AF, 0x04B1, 
--IBUS_KEY_slash, IBUS_KEY_Cyrillic_ghe, 0x0493, 
--IBUS_KEY_slash, IBUS_KEY_Cyrillic_ka, 0x049F, 
--IBUS_KEY_slash, IBUS_KEY_Cyrillic_GHE, 0x0492, 
--IBUS_KEY_slash, IBUS_KEY_Cyrillic_KA, 0x049E, 
--IBUS_KEY_slash, IBUS_KEY_leftarrow, 0x219A, 
--IBUS_KEY_slash, IBUS_KEY_rightarrow, 0x219B, 
--IBUS_KEY_slash, 0x2194, 0x21AE, 
--IBUS_KEY_slash, 0x2395, 0x2341, 
--IBUS_KEY_0, IBUS_KEY_asterisk, 0x00B0, 
--IBUS_KEY_0, IBUS_KEY_3, 0x2189, 
--IBUS_KEY_0, IBUS_KEY_asciitilde, 0x236C, 
--IBUS_KEY_1, IBUS_KEY_2, 0x00BD, 
--IBUS_KEY_1, IBUS_KEY_3, 0x2153, 
--IBUS_KEY_1, IBUS_KEY_4, 0x00BC, 
--IBUS_KEY_1, IBUS_KEY_5, 0x2155, 
--IBUS_KEY_1, IBUS_KEY_6, 0x2159, 
--IBUS_KEY_1, IBUS_KEY_7, 0x2150, 
--IBUS_KEY_1, IBUS_KEY_8, 0x215B, 
--IBUS_KEY_1, IBUS_KEY_9, 0x2151, 
--IBUS_KEY_1, IBUS_KEY_asciicircum, 0x00B9, 
--IBUS_KEY_2, IBUS_KEY_3, 0x2154, 
--IBUS_KEY_2, IBUS_KEY_5, 0x2156, 
--IBUS_KEY_2, IBUS_KEY_asciicircum, 0x00B2, 
--IBUS_KEY_3, IBUS_KEY_4, 0x00BE, 
--IBUS_KEY_3, IBUS_KEY_5, 0x2157, 
--IBUS_KEY_3, IBUS_KEY_8, 0x215C, 
--IBUS_KEY_3, IBUS_KEY_asciicircum, 0x00B3, 
--IBUS_KEY_4, IBUS_KEY_5, 0x2158, 
--IBUS_KEY_5, IBUS_KEY_6, 0x215A, 
--IBUS_KEY_5, IBUS_KEY_8, 0x215D, 
--IBUS_KEY_7, IBUS_KEY_8, 0x215E, 
--IBUS_KEY_8, IBUS_KEY_8, 0x221E, 
--IBUS_KEY_colon, IBUS_KEY_parenleft, 0x2639, 
--IBUS_KEY_colon, IBUS_KEY_parenright, 0x263A, 
--IBUS_KEY_colon, IBUS_KEY_minus, 0x00F7, 
--IBUS_KEY_colon, IBUS_KEY_period, 0x2234, 
--IBUS_KEY_colon, 0x2395, 0x2360, 
--IBUS_KEY_semicolon, IBUS_KEY_A, 0x0104, 
--IBUS_KEY_semicolon, IBUS_KEY_E, 0x0118, 
--IBUS_KEY_semicolon, IBUS_KEY_I, 0x012E, 
--IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EA, 
--IBUS_KEY_semicolon, IBUS_KEY_S, 0x0218, 
--IBUS_KEY_semicolon, IBUS_KEY_T, 0x021A, 
--IBUS_KEY_semicolon, IBUS_KEY_U, 0x0172, 
--IBUS_KEY_semicolon, IBUS_KEY_underscore, 0x236E, 
--IBUS_KEY_semicolon, IBUS_KEY_a, 0x0105, 
--IBUS_KEY_semicolon, IBUS_KEY_e, 0x0119, 
--IBUS_KEY_semicolon, IBUS_KEY_i, 0x012F, 
--IBUS_KEY_semicolon, IBUS_KEY_o, 0x01EB, 
--IBUS_KEY_semicolon, IBUS_KEY_s, 0x0219, 
--IBUS_KEY_semicolon, IBUS_KEY_t, 0x021B, 
--IBUS_KEY_semicolon, IBUS_KEY_u, 0x0173, 
--IBUS_KEY_less, IBUS_KEY_space, 0x02C7, 
--IBUS_KEY_less, IBUS_KEY_quotedbl, 0x201C, 
--IBUS_KEY_less, IBUS_KEY_apostrophe, 0x2018, 
--IBUS_KEY_less, IBUS_KEY_minus, 0x2190, 
--IBUS_KEY_less, IBUS_KEY_slash, 0x005C, 
--IBUS_KEY_less, IBUS_KEY_3, 0x2665, 
--IBUS_KEY_less, IBUS_KEY_less, 0x00AB, 
--IBUS_KEY_less, IBUS_KEY_equal, 0x2264, 
--IBUS_KEY_less, IBUS_KEY_greater, 0x22C4, 
--IBUS_KEY_less, IBUS_KEY_C, 0x010C, 
--IBUS_KEY_less, IBUS_KEY_D, 0x010E, 
--IBUS_KEY_less, IBUS_KEY_E, 0x011A, 
--IBUS_KEY_less, IBUS_KEY_L, 0x013D, 
--IBUS_KEY_less, IBUS_KEY_N, 0x0147, 
--IBUS_KEY_less, IBUS_KEY_R, 0x0158, 
--IBUS_KEY_less, IBUS_KEY_S, 0x0160, 
--IBUS_KEY_less, IBUS_KEY_T, 0x0164, 
--IBUS_KEY_less, IBUS_KEY_Z, 0x017D, 
--IBUS_KEY_less, IBUS_KEY_underscore, 0x2264, 
--IBUS_KEY_less, IBUS_KEY_c, 0x010D, 
--IBUS_KEY_less, IBUS_KEY_d, 0x010F, 
--IBUS_KEY_less, IBUS_KEY_e, 0x011B, 
--IBUS_KEY_less, IBUS_KEY_l, 0x013E, 
--IBUS_KEY_less, IBUS_KEY_n, 0x0148, 
--IBUS_KEY_less, IBUS_KEY_r, 0x0159, 
--IBUS_KEY_less, IBUS_KEY_s, 0x0161, 
--IBUS_KEY_less, IBUS_KEY_t, 0x0165, 
--IBUS_KEY_less, IBUS_KEY_z, 0x017E, 
--IBUS_KEY_less, 0x0338, 0x226E, 
--IBUS_KEY_less, 0x2395, 0x2343, 
--IBUS_KEY_equal, IBUS_KEY_slash, 0x2260, 
--IBUS_KEY_equal, IBUS_KEY_greater, 0x21D2, 
--IBUS_KEY_equal, IBUS_KEY_C, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_E, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_L, 0x20A4, 
--IBUS_KEY_equal, IBUS_KEY_N, 0x20A6, 
--IBUS_KEY_equal, IBUS_KEY_O, 0x0150, 
--IBUS_KEY_equal, IBUS_KEY_U, 0x0170, 
--IBUS_KEY_equal, IBUS_KEY_W, 0x20A9, 
--IBUS_KEY_equal, IBUS_KEY_Y, 0x00A5, 
--IBUS_KEY_equal, IBUS_KEY_underscore, 0x2261, 
--IBUS_KEY_equal, IBUS_KEY_c, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_d, 0x20AB, 
--IBUS_KEY_equal, IBUS_KEY_e, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_o, 0x0151, 
--IBUS_KEY_equal, IBUS_KEY_u, 0x0171, 
--IBUS_KEY_equal, IBUS_KEY_y, 0x00A5, 
--IBUS_KEY_equal, 0x0338, 0x2260, 
--IBUS_KEY_equal, IBUS_KEY_Cyrillic_u, 0x04F3, 
--IBUS_KEY_equal, IBUS_KEY_Cyrillic_IE, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_Cyrillic_ES, 0x20AC, 
--IBUS_KEY_equal, IBUS_KEY_Cyrillic_U, 0x04F2, 
--IBUS_KEY_equal, 0x2395, 0x2338, 
--IBUS_KEY_greater, IBUS_KEY_space, 0x005E, 
--IBUS_KEY_greater, IBUS_KEY_quotedbl, 0x201D, 
--IBUS_KEY_greater, IBUS_KEY_apostrophe, 0x2019, 
--IBUS_KEY_greater, IBUS_KEY_less, 0x22C4, 
--IBUS_KEY_greater, IBUS_KEY_equal, 0x2265, 
--IBUS_KEY_greater, IBUS_KEY_greater, 0x00BB, 
--IBUS_KEY_greater, IBUS_KEY_A, 0x00C2, 
--IBUS_KEY_greater, IBUS_KEY_E, 0x00CA, 
--IBUS_KEY_greater, IBUS_KEY_I, 0x00CE, 
--IBUS_KEY_greater, IBUS_KEY_O, 0x00D4, 
--IBUS_KEY_greater, IBUS_KEY_U, 0x00DB, 
--IBUS_KEY_greater, IBUS_KEY_underscore, 0x2265, 
--IBUS_KEY_greater, IBUS_KEY_a, 0x00E2, 
--IBUS_KEY_greater, IBUS_KEY_e, 0x00EA, 
--IBUS_KEY_greater, IBUS_KEY_i, 0x00EE, 
--IBUS_KEY_greater, IBUS_KEY_o, 0x00F4, 
--IBUS_KEY_greater, IBUS_KEY_u, 0x00FB, 
--IBUS_KEY_greater, IBUS_KEY_diaeresis, 0x2369, 
--IBUS_KEY_greater, 0x0338, 0x226F, 
--IBUS_KEY_greater, 0x2395, 0x2344, 
--IBUS_KEY_question, IBUS_KEY_exclam, 0x2E18, 
--IBUS_KEY_question, IBUS_KEY_question, 0x00BF, 
--IBUS_KEY_question, IBUS_KEY_A, 0x1EA2, 
--IBUS_KEY_question, IBUS_KEY_E, 0x1EBA, 
--IBUS_KEY_question, IBUS_KEY_I, 0x1EC8, 
--IBUS_KEY_question, IBUS_KEY_O, 0x1ECE, 
--IBUS_KEY_question, IBUS_KEY_U, 0x1EE6, 
--IBUS_KEY_question, IBUS_KEY_Y, 0x1EF6, 
--IBUS_KEY_question, IBUS_KEY_a, 0x1EA3, 
--IBUS_KEY_question, IBUS_KEY_e, 0x1EBB, 
--IBUS_KEY_question, IBUS_KEY_i, 0x1EC9, 
--IBUS_KEY_question, IBUS_KEY_o, 0x1ECF, 
--IBUS_KEY_question, IBUS_KEY_u, 0x1EE7, 
--IBUS_KEY_question, IBUS_KEY_y, 0x1EF7, 
--IBUS_KEY_question, IBUS_KEY_Acircumflex, 0x1EA8, 
--IBUS_KEY_question, IBUS_KEY_Ecircumflex, 0x1EC2, 
--IBUS_KEY_question, IBUS_KEY_Ocircumflex, 0x1ED4, 
--IBUS_KEY_question, IBUS_KEY_acircumflex, 0x1EA9, 
--IBUS_KEY_question, IBUS_KEY_ecircumflex, 0x1EC3, 
--IBUS_KEY_question, IBUS_KEY_ocircumflex, 0x1ED5, 
--IBUS_KEY_question, IBUS_KEY_Abreve, 0x1EB2, 
--IBUS_KEY_question, IBUS_KEY_abreve, 0x1EB3, 
--IBUS_KEY_question, 0x2395, 0x2370, 
--IBUS_KEY_A, IBUS_KEY_quotedbl, 0x00C4, 
--IBUS_KEY_A, IBUS_KEY_apostrophe, 0x00C1, 
--IBUS_KEY_A, IBUS_KEY_parenleft, 0x0102, 
--IBUS_KEY_A, IBUS_KEY_asterisk, 0x00C5, 
--IBUS_KEY_A, IBUS_KEY_comma, 0x0104, 
--IBUS_KEY_A, IBUS_KEY_minus, 0x0100, 
--IBUS_KEY_A, IBUS_KEY_semicolon, 0x0104, 
--IBUS_KEY_A, IBUS_KEY_greater, 0x00C2, 
--IBUS_KEY_A, IBUS_KEY_A, 0x00C5, 
--IBUS_KEY_A, IBUS_KEY_E, 0x00C6, 
--IBUS_KEY_A, IBUS_KEY_T, 0x0040, 
--IBUS_KEY_A, IBUS_KEY_asciicircum, 0x00C2, 
--IBUS_KEY_A, IBUS_KEY_underscore, 0x0100, 
--IBUS_KEY_A, IBUS_KEY_grave, 0x00C0, 
--IBUS_KEY_A, IBUS_KEY_asciitilde, 0x00C3, 
--IBUS_KEY_A, IBUS_KEY_diaeresis, 0x00C4, 
--IBUS_KEY_A, IBUS_KEY_acute, 0x00C1, 
--IBUS_KEY_B, IBUS_KEY_period, 0x1E02, 
--IBUS_KEY_C, IBUS_KEY_apostrophe, 0x0106, 
--IBUS_KEY_C, IBUS_KEY_comma, 0x00C7, 
--IBUS_KEY_C, IBUS_KEY_period, 0x010A, 
--IBUS_KEY_C, IBUS_KEY_slash, 0x20A1, 
--IBUS_KEY_C, IBUS_KEY_less, 0x010C, 
--IBUS_KEY_C, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_C, IBUS_KEY_E, 0x20A0, 
--IBUS_KEY_C, IBUS_KEY_O, 0x00A9, 
--IBUS_KEY_C, IBUS_KEY_o, 0x00A9, 
--IBUS_KEY_C, IBUS_KEY_r, 0x20A2, 
--IBUS_KEY_C, IBUS_KEY_bar, 0x00A2, 
--IBUS_KEY_D, IBUS_KEY_comma, 0x1E10, 
--IBUS_KEY_D, IBUS_KEY_minus, 0x0110, 
--IBUS_KEY_D, IBUS_KEY_period, 0x1E0A, 
--IBUS_KEY_D, IBUS_KEY_less, 0x010E, 
--IBUS_KEY_D, IBUS_KEY_H, 0x00D0, 
--IBUS_KEY_E, IBUS_KEY_quotedbl, 0x00CB, 
--IBUS_KEY_E, IBUS_KEY_apostrophe, 0x00C9, 
--IBUS_KEY_E, IBUS_KEY_comma, 0x0118, 
--IBUS_KEY_E, IBUS_KEY_minus, 0x0112, 
--IBUS_KEY_E, IBUS_KEY_period, 0x0116, 
--IBUS_KEY_E, IBUS_KEY_semicolon, 0x0118, 
--IBUS_KEY_E, IBUS_KEY_less, 0x011A, 
--IBUS_KEY_E, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_E, IBUS_KEY_greater, 0x00CA, 
--IBUS_KEY_E, IBUS_KEY_asciicircum, 0x00CA, 
--IBUS_KEY_E, IBUS_KEY_underscore, 0x0112, 
--IBUS_KEY_E, IBUS_KEY_grave, 0x00C8, 
--IBUS_KEY_E, IBUS_KEY_diaeresis, 0x00CB, 
--IBUS_KEY_E, IBUS_KEY_acute, 0x00C9, 
--IBUS_KEY_F, IBUS_KEY_period, 0x1E1E, 
--IBUS_KEY_F, IBUS_KEY_i, 0xFB03, 
--IBUS_KEY_F, IBUS_KEY_l, 0xFB04, 
--IBUS_KEY_F, IBUS_KEY_r, 0x20A3, 
--IBUS_KEY_G, IBUS_KEY_parenleft, 0x011E, 
--IBUS_KEY_G, IBUS_KEY_comma, 0x0122, 
--IBUS_KEY_G, IBUS_KEY_period, 0x0120, 
--IBUS_KEY_G, IBUS_KEY_U, 0x011E, 
--IBUS_KEY_G, IBUS_KEY_breve, 0x011E, 
--IBUS_KEY_H, IBUS_KEY_comma, 0x1E28, 
--IBUS_KEY_I, IBUS_KEY_quotedbl, 0x00CF, 
--IBUS_KEY_I, IBUS_KEY_apostrophe, 0x00CD, 
--IBUS_KEY_I, IBUS_KEY_comma, 0x012E, 
--IBUS_KEY_I, IBUS_KEY_minus, 0x012A, 
--IBUS_KEY_I, IBUS_KEY_period, 0x0130, 
--IBUS_KEY_I, IBUS_KEY_semicolon, 0x012E, 
--IBUS_KEY_I, IBUS_KEY_greater, 0x00CE, 
--IBUS_KEY_I, IBUS_KEY_J, 0x0132, 
--IBUS_KEY_I, IBUS_KEY_asciicircum, 0x00CE, 
--IBUS_KEY_I, IBUS_KEY_underscore, 0x012A, 
--IBUS_KEY_I, IBUS_KEY_grave, 0x00CC, 
--IBUS_KEY_I, IBUS_KEY_j, 0x0132, 
--IBUS_KEY_I, IBUS_KEY_asciitilde, 0x0128, 
--IBUS_KEY_I, IBUS_KEY_diaeresis, 0x00CF, 
--IBUS_KEY_I, IBUS_KEY_acute, 0x00CD, 
--IBUS_KEY_K, IBUS_KEY_comma, 0x0136, 
--IBUS_KEY_L, IBUS_KEY_apostrophe, 0x0139, 
--IBUS_KEY_L, IBUS_KEY_comma, 0x013B, 
--IBUS_KEY_L, IBUS_KEY_minus, 0x00A3, 
--IBUS_KEY_L, IBUS_KEY_slash, 0x0141, 
--IBUS_KEY_L, IBUS_KEY_less, 0x013D, 
--IBUS_KEY_L, IBUS_KEY_equal, 0x20A4, 
--IBUS_KEY_L, IBUS_KEY_V, 0x007C, 
--IBUS_KEY_M, IBUS_KEY_period, 0x1E40, 
--IBUS_KEY_N, IBUS_KEY_apostrophe, 0x0143, 
--IBUS_KEY_N, IBUS_KEY_comma, 0x0145, 
--IBUS_KEY_N, IBUS_KEY_less, 0x0147, 
--IBUS_KEY_N, IBUS_KEY_equal, 0x20A6, 
--IBUS_KEY_N, IBUS_KEY_G, 0x014A, 
--IBUS_KEY_N, IBUS_KEY_O, 0x2116, 
--IBUS_KEY_N, IBUS_KEY_o, 0x2116, 
--IBUS_KEY_N, IBUS_KEY_asciitilde, 0x00D1, 
--IBUS_KEY_O, IBUS_KEY_quotedbl, 0x00D6, 
--IBUS_KEY_O, IBUS_KEY_apostrophe, 0x00D3, 
--IBUS_KEY_O, IBUS_KEY_comma, 0x01EA, 
--IBUS_KEY_O, IBUS_KEY_minus, 0x014C, 
--IBUS_KEY_O, IBUS_KEY_slash, 0x00D8, 
--IBUS_KEY_O, IBUS_KEY_semicolon, 0x01EA, 
--IBUS_KEY_O, IBUS_KEY_greater, 0x00D4, 
--IBUS_KEY_O, IBUS_KEY_A, 0x24B6, 
--IBUS_KEY_O, IBUS_KEY_C, 0x00A9, 
--IBUS_KEY_O, IBUS_KEY_E, 0x0152, 
--IBUS_KEY_O, IBUS_KEY_R, 0x00AE, 
--IBUS_KEY_O, IBUS_KEY_S, 0x00A7, 
--IBUS_KEY_O, IBUS_KEY_X, 0x00A4, 
--IBUS_KEY_O, IBUS_KEY_asciicircum, 0x00D4, 
--IBUS_KEY_O, IBUS_KEY_underscore, 0x014C, 
--IBUS_KEY_O, IBUS_KEY_grave, 0x00D2, 
--IBUS_KEY_O, IBUS_KEY_c, 0x00A9, 
--IBUS_KEY_O, IBUS_KEY_r, 0x00AE, 
--IBUS_KEY_O, IBUS_KEY_x, 0x00A4, 
--IBUS_KEY_O, IBUS_KEY_asciitilde, 0x00D5, 
--IBUS_KEY_O, IBUS_KEY_diaeresis, 0x00D6, 
--IBUS_KEY_O, IBUS_KEY_acute, 0x00D3, 
--IBUS_KEY_P, IBUS_KEY_exclam, 0x00B6, 
--IBUS_KEY_P, IBUS_KEY_period, 0x1E56, 
--IBUS_KEY_P, IBUS_KEY_P, 0x00B6, 
--IBUS_KEY_P, IBUS_KEY_t, 0x20A7, 
--IBUS_KEY_R, IBUS_KEY_apostrophe, 0x0154, 
--IBUS_KEY_R, IBUS_KEY_comma, 0x0156, 
--IBUS_KEY_R, IBUS_KEY_less, 0x0158, 
--IBUS_KEY_R, IBUS_KEY_O, 0x00AE, 
--IBUS_KEY_R, IBUS_KEY_s, 0x20A8, 
--IBUS_KEY_S, IBUS_KEY_exclam, 0x00A7, 
--IBUS_KEY_S, IBUS_KEY_apostrophe, 0x015A, 
--IBUS_KEY_S, IBUS_KEY_comma, 0x015E, 
--IBUS_KEY_S, IBUS_KEY_period, 0x1E60, 
--IBUS_KEY_S, IBUS_KEY_semicolon, 0x0218, 
--IBUS_KEY_S, IBUS_KEY_less, 0x0160, 
--IBUS_KEY_S, IBUS_KEY_M, 0x2120, 
--IBUS_KEY_S, IBUS_KEY_O, 0x00A7, 
--IBUS_KEY_S, IBUS_KEY_S, 0x1E9E, 
--IBUS_KEY_S, IBUS_KEY_m, 0x2120, 
--IBUS_KEY_T, IBUS_KEY_comma, 0x0162, 
--IBUS_KEY_T, IBUS_KEY_minus, 0x0166, 
--IBUS_KEY_T, IBUS_KEY_period, 0x1E6A, 
--IBUS_KEY_T, IBUS_KEY_slash, 0x0166, 
--IBUS_KEY_T, IBUS_KEY_semicolon, 0x021A, 
--IBUS_KEY_T, IBUS_KEY_less, 0x0164, 
--IBUS_KEY_T, IBUS_KEY_H, 0x00DE, 
--IBUS_KEY_T, IBUS_KEY_M, 0x2122, 
--IBUS_KEY_T, IBUS_KEY_m, 0x2122, 
--IBUS_KEY_U, IBUS_KEY_quotedbl, 0x00DC, 
--IBUS_KEY_U, IBUS_KEY_apostrophe, 0x00DA, 
--IBUS_KEY_U, IBUS_KEY_asterisk, 0x016E, 
--IBUS_KEY_U, IBUS_KEY_comma, 0x0172, 
--IBUS_KEY_U, IBUS_KEY_minus, 0x016A, 
--IBUS_KEY_U, IBUS_KEY_semicolon, 0x0172, 
--IBUS_KEY_U, IBUS_KEY_greater, 0x00DB, 
--IBUS_KEY_U, IBUS_KEY_A, 0x0102, 
--IBUS_KEY_U, IBUS_KEY_E, 0x0114, 
--IBUS_KEY_U, IBUS_KEY_G, 0x011E, 
--IBUS_KEY_U, IBUS_KEY_I, 0x012C, 
--IBUS_KEY_U, IBUS_KEY_O, 0x014E, 
--IBUS_KEY_U, IBUS_KEY_U, 0x016C, 
--IBUS_KEY_U, IBUS_KEY_asciicircum, 0x00DB, 
--IBUS_KEY_U, IBUS_KEY_underscore, 0x016A, 
--IBUS_KEY_U, IBUS_KEY_grave, 0x00D9, 
--IBUS_KEY_U, IBUS_KEY_a, 0x0103, 
--IBUS_KEY_U, IBUS_KEY_e, 0x0115, 
--IBUS_KEY_U, IBUS_KEY_g, 0x011F, 
--IBUS_KEY_U, IBUS_KEY_i, 0x012D, 
--IBUS_KEY_U, IBUS_KEY_o, 0x014F, 
--IBUS_KEY_U, IBUS_KEY_u, 0x016D, 
--IBUS_KEY_U, IBUS_KEY_asciitilde, 0x0168, 
--IBUS_KEY_U, IBUS_KEY_diaeresis, 0x00DC, 
--IBUS_KEY_U, IBUS_KEY_acute, 0x00DA, 
--IBUS_KEY_U, 0x0228, 0x1E1C, 
--IBUS_KEY_U, 0x0229, 0x1E1D, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_a, 0x04D1, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_ie, 0x04D7, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_i, 0x0439, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_u, 0x045E, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_zhe, 0x04C2, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_A, 0x04D0, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_IE, 0x04D6, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_I, 0x0419, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_U, 0x040E, 
--IBUS_KEY_U, IBUS_KEY_Cyrillic_ZHE, 0x04C1, 
--IBUS_KEY_U, IBUS_KEY_Greek_ALPHA, 0x1FB8, 
--IBUS_KEY_U, IBUS_KEY_Greek_IOTA, 0x1FD8, 
--IBUS_KEY_U, IBUS_KEY_Greek_UPSILON, 0x1FE8, 
--IBUS_KEY_U, IBUS_KEY_Greek_alpha, 0x1FB0, 
--IBUS_KEY_U, IBUS_KEY_Greek_iota, 0x1FD0, 
--IBUS_KEY_U, IBUS_KEY_Greek_upsilon, 0x1FE0, 
--IBUS_KEY_U, 0x1EA0, 0x1EB6, 
--IBUS_KEY_U, 0x1EA1, 0x1EB7, 
--IBUS_KEY_V, IBUS_KEY_L, 0x007C, 
--IBUS_KEY_W, IBUS_KEY_equal, 0x20A9, 
--IBUS_KEY_W, IBUS_KEY_asciicircum, 0x0174, 
--IBUS_KEY_X, IBUS_KEY_O, 0x00A4, 
--IBUS_KEY_X, IBUS_KEY_o, 0x00A4, 
--IBUS_KEY_Y, IBUS_KEY_quotedbl, 0x0178, 
--IBUS_KEY_Y, IBUS_KEY_apostrophe, 0x00DD, 
--IBUS_KEY_Y, IBUS_KEY_minus, 0x00A5, 
--IBUS_KEY_Y, IBUS_KEY_equal, 0x00A5, 
--IBUS_KEY_Y, IBUS_KEY_asciicircum, 0x0176, 
--IBUS_KEY_Y, IBUS_KEY_diaeresis, 0x0178, 
--IBUS_KEY_Y, IBUS_KEY_acute, 0x00DD, 
--IBUS_KEY_Z, IBUS_KEY_apostrophe, 0x0179, 
--IBUS_KEY_Z, IBUS_KEY_period, 0x017B, 
--IBUS_KEY_Z, IBUS_KEY_less, 0x017D, 
--IBUS_KEY_bracketleft, IBUS_KEY_bracketright, 0x2337, 
--IBUS_KEY_backslash, IBUS_KEY_minus, 0x2340, 
--IBUS_KEY_backslash, 0x2395, 0x2342, 
--IBUS_KEY_backslash, IBUS_KEY_emopencircle, 0x2349, 
--IBUS_KEY_bracketright, IBUS_KEY_bracketleft, 0x2337, 
--IBUS_KEY_asciicircum, IBUS_KEY_space, 0x005E, 
--IBUS_KEY_asciicircum, IBUS_KEY_parenleft, 0x207D, 
--IBUS_KEY_asciicircum, IBUS_KEY_parenright, 0x207E, 
--IBUS_KEY_asciicircum, IBUS_KEY_plus, 0x207A, 
--IBUS_KEY_asciicircum, IBUS_KEY_minus, 0x00AF, 
--IBUS_KEY_asciicircum, IBUS_KEY_period, 0x00B7, 
--IBUS_KEY_asciicircum, IBUS_KEY_slash, 0x007C, 
--IBUS_KEY_asciicircum, IBUS_KEY_0, 0x2070, 
--IBUS_KEY_asciicircum, IBUS_KEY_1, 0x00B9, 
--IBUS_KEY_asciicircum, IBUS_KEY_2, 0x00B2, 
--IBUS_KEY_asciicircum, IBUS_KEY_3, 0x00B3, 
--IBUS_KEY_asciicircum, IBUS_KEY_4, 0x2074, 
--IBUS_KEY_asciicircum, IBUS_KEY_5, 0x2075, 
--IBUS_KEY_asciicircum, IBUS_KEY_6, 0x2076, 
--IBUS_KEY_asciicircum, IBUS_KEY_7, 0x2077, 
--IBUS_KEY_asciicircum, IBUS_KEY_8, 0x2078, 
--IBUS_KEY_asciicircum, IBUS_KEY_9, 0x2079, 
--IBUS_KEY_asciicircum, IBUS_KEY_equal, 0x207C, 
--IBUS_KEY_asciicircum, IBUS_KEY_A, 0x00C2, 
--IBUS_KEY_asciicircum, IBUS_KEY_C, 0x0108, 
--IBUS_KEY_asciicircum, IBUS_KEY_E, 0x00CA, 
--IBUS_KEY_asciicircum, IBUS_KEY_G, 0x011C, 
--IBUS_KEY_asciicircum, IBUS_KEY_H, 0x0124, 
--IBUS_KEY_asciicircum, IBUS_KEY_I, 0x00CE, 
--IBUS_KEY_asciicircum, IBUS_KEY_J, 0x0134, 
--IBUS_KEY_asciicircum, IBUS_KEY_O, 0x00D4, 
--IBUS_KEY_asciicircum, IBUS_KEY_S, 0x015C, 
--IBUS_KEY_asciicircum, IBUS_KEY_U, 0x00DB, 
--IBUS_KEY_asciicircum, IBUS_KEY_W, 0x0174, 
--IBUS_KEY_asciicircum, IBUS_KEY_Y, 0x0176, 
--IBUS_KEY_asciicircum, IBUS_KEY_Z, 0x1E90, 
--IBUS_KEY_asciicircum, IBUS_KEY_a, 0x00E2, 
--IBUS_KEY_asciicircum, IBUS_KEY_c, 0x0109, 
--IBUS_KEY_asciicircum, IBUS_KEY_e, 0x00EA, 
--IBUS_KEY_asciicircum, IBUS_KEY_g, 0x011D, 
--IBUS_KEY_asciicircum, IBUS_KEY_h, 0x0125, 
--IBUS_KEY_asciicircum, IBUS_KEY_i, 0x00EE, 
--IBUS_KEY_asciicircum, IBUS_KEY_j, 0x0135, 
--IBUS_KEY_asciicircum, IBUS_KEY_o, 0x00F4, 
--IBUS_KEY_asciicircum, IBUS_KEY_s, 0x015D, 
--IBUS_KEY_asciicircum, IBUS_KEY_u, 0x00FB, 
--IBUS_KEY_asciicircum, IBUS_KEY_w, 0x0175, 
--IBUS_KEY_asciicircum, IBUS_KEY_y, 0x0177, 
--IBUS_KEY_asciicircum, IBUS_KEY_z, 0x1E91, 
--IBUS_KEY_asciicircum, 0x1EA0, 0x1EAC, 
--IBUS_KEY_asciicircum, 0x1EA1, 0x1EAD, 
--IBUS_KEY_asciicircum, 0x1EB8, 0x1EC6, 
--IBUS_KEY_asciicircum, 0x1EB9, 0x1EC7, 
--IBUS_KEY_asciicircum, 0x1ECC, 0x1ED8, 
--IBUS_KEY_asciicircum, 0x1ECD, 0x1ED9, 
--IBUS_KEY_asciicircum, 0x2212, 0x207B, 
--IBUS_KEY_asciicircum, 0x4E00, 0x3192, 
--IBUS_KEY_asciicircum, 0x4E01, 0x319C, 
--IBUS_KEY_asciicircum, 0x4E09, 0x3194, 
--IBUS_KEY_asciicircum, 0x4E0A, 0x3196, 
--IBUS_KEY_asciicircum, 0x4E0B, 0x3198, 
--IBUS_KEY_asciicircum, 0x4E19, 0x319B, 
--IBUS_KEY_asciicircum, 0x4E2D, 0x3197, 
--IBUS_KEY_asciicircum, 0x4E59, 0x319A, 
--IBUS_KEY_asciicircum, 0x4E8C, 0x3193, 
--IBUS_KEY_asciicircum, 0x4EBA, 0x319F, 
--IBUS_KEY_asciicircum, 0x56DB, 0x3195, 
--IBUS_KEY_asciicircum, 0x5730, 0x319E, 
--IBUS_KEY_asciicircum, 0x5929, 0x319D, 
--IBUS_KEY_asciicircum, 0x7532, 0x3199, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_Space, 0x00B2, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_Add, 0x207A, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_0, 0x2070, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_1, 0x00B9, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_2, 0x00B2, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_3, 0x00B3, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_4, 0x2074, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_5, 0x2075, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_6, 0x2076, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_7, 0x2077, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_8, 0x2078, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_9, 0x2079, 
--IBUS_KEY_asciicircum, IBUS_KEY_KP_Equal, 0x207C, 
--IBUS_KEY_underscore, IBUS_KEY_apostrophe, 0x2358, 
--IBUS_KEY_underscore, IBUS_KEY_parenleft, 0x208D, 
--IBUS_KEY_underscore, IBUS_KEY_parenright, 0x208E, 
--IBUS_KEY_underscore, IBUS_KEY_plus, 0x208A, 
--IBUS_KEY_underscore, IBUS_KEY_0, 0x2080, 
--IBUS_KEY_underscore, IBUS_KEY_1, 0x2081, 
--IBUS_KEY_underscore, IBUS_KEY_2, 0x2082, 
--IBUS_KEY_underscore, IBUS_KEY_3, 0x2083, 
--IBUS_KEY_underscore, IBUS_KEY_4, 0x2084, 
--IBUS_KEY_underscore, IBUS_KEY_5, 0x2085, 
--IBUS_KEY_underscore, IBUS_KEY_6, 0x2086, 
--IBUS_KEY_underscore, IBUS_KEY_7, 0x2087, 
--IBUS_KEY_underscore, IBUS_KEY_8, 0x2088, 
--IBUS_KEY_underscore, IBUS_KEY_9, 0x2089, 
--IBUS_KEY_underscore, IBUS_KEY_less, 0x2264, 
--IBUS_KEY_underscore, IBUS_KEY_equal, 0x208C, 
--IBUS_KEY_underscore, IBUS_KEY_greater, 0x2265, 
--IBUS_KEY_underscore, IBUS_KEY_A, 0x0100, 
--IBUS_KEY_underscore, IBUS_KEY_E, 0x0112, 
--IBUS_KEY_underscore, IBUS_KEY_G, 0x1E20, 
--IBUS_KEY_underscore, IBUS_KEY_I, 0x012A, 
--IBUS_KEY_underscore, IBUS_KEY_O, 0x014C, 
--IBUS_KEY_underscore, IBUS_KEY_U, 0x016A, 
--IBUS_KEY_underscore, IBUS_KEY_Y, 0x0232, 
--IBUS_KEY_underscore, IBUS_KEY_asciicircum, 0x00AF, 
--IBUS_KEY_underscore, IBUS_KEY_underscore, 0x00AF, 
--IBUS_KEY_underscore, IBUS_KEY_a, 0x0101, 
--IBUS_KEY_underscore, IBUS_KEY_e, 0x0113, 
--IBUS_KEY_underscore, IBUS_KEY_g, 0x1E21, 
--IBUS_KEY_underscore, IBUS_KEY_i, 0x012B, 
--IBUS_KEY_underscore, IBUS_KEY_o, 0x014D, 
--IBUS_KEY_underscore, IBUS_KEY_u, 0x016B, 
--IBUS_KEY_underscore, IBUS_KEY_y, 0x0233, 
--IBUS_KEY_underscore, IBUS_KEY_Adiaeresis, 0x01DE, 
--IBUS_KEY_underscore, IBUS_KEY_AE, 0x01E2, 
--IBUS_KEY_underscore, IBUS_KEY_Otilde, 0x022C, 
--IBUS_KEY_underscore, IBUS_KEY_Odiaeresis, 0x022A, 
--IBUS_KEY_underscore, IBUS_KEY_Udiaeresis, 0x01D5, 
--IBUS_KEY_underscore, IBUS_KEY_adiaeresis, 0x01DF, 
--IBUS_KEY_underscore, IBUS_KEY_ae, 0x01E3, 
--IBUS_KEY_underscore, IBUS_KEY_otilde, 0x022D, 
--IBUS_KEY_underscore, IBUS_KEY_odiaeresis, 0x022B, 
--IBUS_KEY_underscore, IBUS_KEY_udiaeresis, 0x01D6, 
--IBUS_KEY_underscore, 0x01EA, 0x01EC, 
--IBUS_KEY_underscore, 0x01EB, 0x01ED, 
--IBUS_KEY_underscore, 0x0226, 0x01E0, 
--IBUS_KEY_underscore, 0x0227, 0x01E1, 
--IBUS_KEY_underscore, 0x022E, 0x0230, 
--IBUS_KEY_underscore, 0x022F, 0x0231, 
--IBUS_KEY_underscore, IBUS_KEY_Cyrillic_i, 0x04E3, 
--IBUS_KEY_underscore, IBUS_KEY_Cyrillic_u, 0x04EF, 
--IBUS_KEY_underscore, IBUS_KEY_Cyrillic_I, 0x04E2, 
--IBUS_KEY_underscore, IBUS_KEY_Cyrillic_U, 0x04EE, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_ALPHA, 0x1FB9, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_IOTA, 0x1FD9, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_UPSILON, 0x1FE9, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_alpha, 0x1FB1, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_iota, 0x1FD1, 
--IBUS_KEY_underscore, IBUS_KEY_Greek_upsilon, 0x1FE1, 
--IBUS_KEY_underscore, 0x1E36, 0x1E38, 
--IBUS_KEY_underscore, 0x1E37, 0x1E39, 
--IBUS_KEY_underscore, 0x1E5A, 0x1E5C, 
--IBUS_KEY_underscore, 0x1E5B, 0x1E5D, 
--IBUS_KEY_underscore, 0x2206, 0x2359, 
--IBUS_KEY_underscore, 0x220A, 0x2377, 
--IBUS_KEY_underscore, 0x2212, 0x208B, 
--IBUS_KEY_underscore, 0x2218, 0x235B, 
--IBUS_KEY_underscore, 0x2260, 0x2262, 
--IBUS_KEY_underscore, 0x2282, 0x2286, 
--IBUS_KEY_underscore, 0x2283, 0x2287, 
--IBUS_KEY_underscore, IBUS_KEY_downtack, 0x234A, 
--IBUS_KEY_underscore, 0x22C4, 0x235A, 
--IBUS_KEY_underscore, 0x2373, 0x2378, 
--IBUS_KEY_underscore, 0x2375, 0x2379, 
--IBUS_KEY_underscore, 0x237A, 0x2376, 
--IBUS_KEY_underscore, IBUS_KEY_emopencircle, 0x235C, 
--IBUS_KEY_underscore, IBUS_KEY_KP_Space, 0x2082, 
--IBUS_KEY_underscore, IBUS_KEY_KP_Add, 0x208A, 
--IBUS_KEY_underscore, IBUS_KEY_KP_0, 0x2080, 
--IBUS_KEY_underscore, IBUS_KEY_KP_1, 0x2081, 
--IBUS_KEY_underscore, IBUS_KEY_KP_2, 0x2082, 
--IBUS_KEY_underscore, IBUS_KEY_KP_3, 0x2083, 
--IBUS_KEY_underscore, IBUS_KEY_KP_4, 0x2084, 
--IBUS_KEY_underscore, IBUS_KEY_KP_5, 0x2085, 
--IBUS_KEY_underscore, IBUS_KEY_KP_6, 0x2086, 
--IBUS_KEY_underscore, IBUS_KEY_KP_7, 0x2087, 
--IBUS_KEY_underscore, IBUS_KEY_KP_8, 0x2088, 
--IBUS_KEY_underscore, IBUS_KEY_KP_9, 0x2089, 
--IBUS_KEY_underscore, IBUS_KEY_KP_Equal, 0x208C, 
--IBUS_KEY_grave, IBUS_KEY_space, 0x0060, 
--IBUS_KEY_grave, IBUS_KEY_A, 0x00C0, 
--IBUS_KEY_grave, IBUS_KEY_E, 0x00C8, 
--IBUS_KEY_grave, IBUS_KEY_I, 0x00CC, 
--IBUS_KEY_grave, IBUS_KEY_N, 0x01F8, 
--IBUS_KEY_grave, IBUS_KEY_O, 0x00D2, 
--IBUS_KEY_grave, IBUS_KEY_U, 0x00D9, 
--IBUS_KEY_grave, IBUS_KEY_W, 0x1E80, 
--IBUS_KEY_grave, IBUS_KEY_Y, 0x1EF2, 
--IBUS_KEY_grave, IBUS_KEY_a, 0x00E0, 
--IBUS_KEY_grave, IBUS_KEY_e, 0x00E8, 
--IBUS_KEY_grave, IBUS_KEY_i, 0x00EC, 
--IBUS_KEY_grave, IBUS_KEY_n, 0x01F9, 
--IBUS_KEY_grave, IBUS_KEY_o, 0x00F2, 
--IBUS_KEY_grave, IBUS_KEY_u, 0x00F9, 
--IBUS_KEY_grave, IBUS_KEY_w, 0x1E81, 
--IBUS_KEY_grave, IBUS_KEY_y, 0x1EF3, 
--IBUS_KEY_grave, IBUS_KEY_Acircumflex, 0x1EA6, 
--IBUS_KEY_grave, IBUS_KEY_Ecircumflex, 0x1EC0, 
--IBUS_KEY_grave, IBUS_KEY_Ocircumflex, 0x1ED2, 
--IBUS_KEY_grave, IBUS_KEY_Udiaeresis, 0x01DB, 
--IBUS_KEY_grave, IBUS_KEY_acircumflex, 0x1EA7, 
--IBUS_KEY_grave, IBUS_KEY_ecircumflex, 0x1EC1, 
--IBUS_KEY_grave, IBUS_KEY_ocircumflex, 0x1ED3, 
--IBUS_KEY_grave, IBUS_KEY_udiaeresis, 0x01DC, 
--IBUS_KEY_grave, IBUS_KEY_Abreve, 0x1EB0, 
--IBUS_KEY_grave, IBUS_KEY_abreve, 0x1EB1, 
--IBUS_KEY_grave, IBUS_KEY_Emacron, 0x1E14, 
--IBUS_KEY_grave, IBUS_KEY_emacron, 0x1E15, 
--IBUS_KEY_grave, IBUS_KEY_Omacron, 0x1E50, 
--IBUS_KEY_grave, IBUS_KEY_omacron, 0x1E51, 
--IBUS_KEY_grave, IBUS_KEY_Cyrillic_ie, 0x0450, 
--IBUS_KEY_grave, IBUS_KEY_Cyrillic_i, 0x045D, 
--IBUS_KEY_grave, IBUS_KEY_Cyrillic_IE, 0x0400, 
--IBUS_KEY_grave, IBUS_KEY_Cyrillic_I, 0x040D, 
--IBUS_KEY_grave, IBUS_KEY_Greek_iotadieresis, 0x1FD2, 
--IBUS_KEY_grave, IBUS_KEY_Greek_upsilondieresis, 0x1FE2, 
--IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, 0x1FBA, 
--IBUS_KEY_grave, IBUS_KEY_Greek_EPSILON, 0x1FC8, 
--IBUS_KEY_grave, IBUS_KEY_Greek_ETA, 0x1FCA, 
--IBUS_KEY_grave, IBUS_KEY_Greek_IOTA, 0x1FDA, 
--IBUS_KEY_grave, IBUS_KEY_Greek_OMICRON, 0x1FF8, 
--IBUS_KEY_grave, IBUS_KEY_Greek_UPSILON, 0x1FEA, 
--IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, 0x1FFA, 
--IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0x1F70, 
--IBUS_KEY_grave, IBUS_KEY_Greek_epsilon, 0x1F72, 
--IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0x1F74, 
--IBUS_KEY_grave, IBUS_KEY_Greek_iota, 0x1F76, 
--IBUS_KEY_grave, IBUS_KEY_Greek_omicron, 0x1F78, 
--IBUS_KEY_grave, IBUS_KEY_Greek_upsilon, 0x1F7A, 
--IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0x1F7C, 
--IBUS_KEY_grave, 0x1F00, 0x1F02, 
--IBUS_KEY_grave, 0x1F01, 0x1F03, 
--IBUS_KEY_grave, 0x1F08, 0x1F0A, 
--IBUS_KEY_grave, 0x1F09, 0x1F0B, 
--IBUS_KEY_grave, 0x1F10, 0x1F12, 
--IBUS_KEY_grave, 0x1F11, 0x1F13, 
--IBUS_KEY_grave, 0x1F18, 0x1F1A, 
--IBUS_KEY_grave, 0x1F19, 0x1F1B, 
--IBUS_KEY_grave, 0x1F20, 0x1F22, 
--IBUS_KEY_grave, 0x1F21, 0x1F23, 
--IBUS_KEY_grave, 0x1F28, 0x1F2A, 
--IBUS_KEY_grave, 0x1F29, 0x1F2B, 
--IBUS_KEY_grave, 0x1F30, 0x1F32, 
--IBUS_KEY_grave, 0x1F31, 0x1F33, 
--IBUS_KEY_grave, 0x1F38, 0x1F3A, 
--IBUS_KEY_grave, 0x1F39, 0x1F3B, 
--IBUS_KEY_grave, 0x1F40, 0x1F42, 
--IBUS_KEY_grave, 0x1F41, 0x1F43, 
--IBUS_KEY_grave, 0x1F48, 0x1F4A, 
--IBUS_KEY_grave, 0x1F49, 0x1F4B, 
--IBUS_KEY_grave, 0x1F50, 0x1F52, 
--IBUS_KEY_grave, 0x1F51, 0x1F53, 
--IBUS_KEY_grave, 0x1F59, 0x1F5B, 
--IBUS_KEY_grave, 0x1F60, 0x1F62, 
--IBUS_KEY_grave, 0x1F61, 0x1F63, 
--IBUS_KEY_grave, 0x1F68, 0x1F6A, 
--IBUS_KEY_grave, 0x1F69, 0x1F6B, 
--IBUS_KEY_a, IBUS_KEY_quotedbl, 0x00E4, 
--IBUS_KEY_a, IBUS_KEY_apostrophe, 0x00E1, 
--IBUS_KEY_a, IBUS_KEY_parenleft, 0x0103, 
--IBUS_KEY_a, IBUS_KEY_asterisk, 0x00E5, 
--IBUS_KEY_a, IBUS_KEY_comma, 0x0105, 
--IBUS_KEY_a, IBUS_KEY_minus, 0x0101, 
--IBUS_KEY_a, IBUS_KEY_semicolon, 0x0105, 
--IBUS_KEY_a, IBUS_KEY_greater, 0x00E2, 
--IBUS_KEY_a, IBUS_KEY_asciicircum, 0x00E2, 
--IBUS_KEY_a, IBUS_KEY_underscore, 0x0101, 
--IBUS_KEY_a, IBUS_KEY_grave, 0x00E0, 
--IBUS_KEY_a, IBUS_KEY_a, 0x00E5, 
--IBUS_KEY_a, IBUS_KEY_e, 0x00E6, 
--IBUS_KEY_a, IBUS_KEY_asciitilde, 0x00E3, 
--IBUS_KEY_a, IBUS_KEY_diaeresis, 0x00E4, 
--IBUS_KEY_a, IBUS_KEY_acute, 0x00E1, 
--IBUS_KEY_b, IBUS_KEY_period, 0x1E03, 
--IBUS_KEY_b, IBUS_KEY_A, 0x0102, 
--IBUS_KEY_b, IBUS_KEY_E, 0x0114, 
--IBUS_KEY_b, IBUS_KEY_G, 0x011E, 
--IBUS_KEY_b, IBUS_KEY_I, 0x012C, 
--IBUS_KEY_b, IBUS_KEY_O, 0x014E, 
--IBUS_KEY_b, IBUS_KEY_U, 0x016C, 
--IBUS_KEY_b, IBUS_KEY_a, 0x0103, 
--IBUS_KEY_b, IBUS_KEY_e, 0x0115, 
--IBUS_KEY_b, IBUS_KEY_g, 0x011F, 
--IBUS_KEY_b, IBUS_KEY_i, 0x012D, 
--IBUS_KEY_b, IBUS_KEY_o, 0x014F, 
--IBUS_KEY_b, IBUS_KEY_u, 0x016D, 
--IBUS_KEY_b, 0x0228, 0x1E1C, 
--IBUS_KEY_b, 0x0229, 0x1E1D, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_a, 0x04D1, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_ie, 0x04D7, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_i, 0x0439, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_u, 0x045E, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_zhe, 0x04C2, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_A, 0x04D0, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_IE, 0x04D6, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_I, 0x0419, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_U, 0x040E, 
--IBUS_KEY_b, IBUS_KEY_Cyrillic_ZHE, 0x04C1, 
--IBUS_KEY_b, IBUS_KEY_Greek_ALPHA, 0x1FB8, 
--IBUS_KEY_b, IBUS_KEY_Greek_IOTA, 0x1FD8, 
--IBUS_KEY_b, IBUS_KEY_Greek_UPSILON, 0x1FE8, 
--IBUS_KEY_b, IBUS_KEY_Greek_alpha, 0x1FB0, 
--IBUS_KEY_b, IBUS_KEY_Greek_iota, 0x1FD0, 
--IBUS_KEY_b, IBUS_KEY_Greek_upsilon, 0x1FE0, 
--IBUS_KEY_b, 0x1EA0, 0x1EB6, 
--IBUS_KEY_b, 0x1EA1, 0x1EB7, 
--IBUS_KEY_c, IBUS_KEY_apostrophe, 0x0107, 
--IBUS_KEY_c, IBUS_KEY_comma, 0x00E7, 
--IBUS_KEY_c, IBUS_KEY_period, 0x010B, 
--IBUS_KEY_c, IBUS_KEY_slash, 0x00A2, 
--IBUS_KEY_c, IBUS_KEY_less, 0x010D, 
--IBUS_KEY_c, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_c, IBUS_KEY_A, 0x01CD, 
--IBUS_KEY_c, IBUS_KEY_C, 0x010C, 
--IBUS_KEY_c, IBUS_KEY_D, 0x010E, 
--IBUS_KEY_c, IBUS_KEY_E, 0x011A, 
--IBUS_KEY_c, IBUS_KEY_G, 0x01E6, 
--IBUS_KEY_c, IBUS_KEY_H, 0x021E, 
--IBUS_KEY_c, IBUS_KEY_I, 0x01CF, 
--IBUS_KEY_c, IBUS_KEY_K, 0x01E8, 
--IBUS_KEY_c, IBUS_KEY_L, 0x013D, 
--IBUS_KEY_c, IBUS_KEY_N, 0x0147, 
--IBUS_KEY_c, IBUS_KEY_O, 0x01D1, 
--IBUS_KEY_c, IBUS_KEY_R, 0x0158, 
--IBUS_KEY_c, IBUS_KEY_S, 0x0160, 
--IBUS_KEY_c, IBUS_KEY_T, 0x0164, 
--IBUS_KEY_c, IBUS_KEY_U, 0x01D3, 
--IBUS_KEY_c, IBUS_KEY_Z, 0x017D, 
--IBUS_KEY_c, IBUS_KEY_a, 0x01CE, 
--IBUS_KEY_c, IBUS_KEY_c, 0x010D, 
--IBUS_KEY_c, IBUS_KEY_d, 0x010F, 
--IBUS_KEY_c, IBUS_KEY_e, 0x011B, 
--IBUS_KEY_c, IBUS_KEY_g, 0x01E7, 
--IBUS_KEY_c, IBUS_KEY_h, 0x021F, 
--IBUS_KEY_c, IBUS_KEY_i, 0x01D0, 
--IBUS_KEY_c, IBUS_KEY_j, 0x01F0, 
--IBUS_KEY_c, IBUS_KEY_k, 0x01E9, 
--IBUS_KEY_c, IBUS_KEY_l, 0x013E, 
--IBUS_KEY_c, IBUS_KEY_n, 0x0148, 
--IBUS_KEY_c, IBUS_KEY_o, 0x01D2, 
--IBUS_KEY_c, IBUS_KEY_r, 0x0159, 
--IBUS_KEY_c, IBUS_KEY_s, 0x0161, 
--IBUS_KEY_c, IBUS_KEY_t, 0x0165, 
--IBUS_KEY_c, IBUS_KEY_u, 0x01D4, 
--IBUS_KEY_c, IBUS_KEY_z, 0x017E, 
--IBUS_KEY_c, IBUS_KEY_bar, 0x00A2, 
--IBUS_KEY_c, IBUS_KEY_Udiaeresis, 0x01D9, 
--IBUS_KEY_c, IBUS_KEY_udiaeresis, 0x01DA, 
--IBUS_KEY_d, IBUS_KEY_comma, 0x1E11, 
--IBUS_KEY_d, IBUS_KEY_minus, 0x0111, 
--IBUS_KEY_d, IBUS_KEY_period, 0x1E0B, 
--IBUS_KEY_d, IBUS_KEY_less, 0x010F, 
--IBUS_KEY_d, IBUS_KEY_equal, 0x20AB, 
--IBUS_KEY_d, IBUS_KEY_h, 0x00F0, 
--IBUS_KEY_d, IBUS_KEY_i, 0x2300, 
--IBUS_KEY_e, IBUS_KEY_quotedbl, 0x00EB, 
--IBUS_KEY_e, IBUS_KEY_apostrophe, 0x00E9, 
--IBUS_KEY_e, IBUS_KEY_comma, 0x0119, 
--IBUS_KEY_e, IBUS_KEY_minus, 0x0113, 
--IBUS_KEY_e, IBUS_KEY_period, 0x0117, 
--IBUS_KEY_e, IBUS_KEY_semicolon, 0x0119, 
--IBUS_KEY_e, IBUS_KEY_less, 0x011B, 
--IBUS_KEY_e, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_e, IBUS_KEY_greater, 0x00EA, 
--IBUS_KEY_e, IBUS_KEY_asciicircum, 0x00EA, 
--IBUS_KEY_e, IBUS_KEY_underscore, 0x0113, 
--IBUS_KEY_e, IBUS_KEY_grave, 0x00E8, 
--IBUS_KEY_e, IBUS_KEY_e, 0x0259, 
--IBUS_KEY_e, IBUS_KEY_diaeresis, 0x00EB, 
--IBUS_KEY_e, IBUS_KEY_acute, 0x00E9, 
--IBUS_KEY_f, IBUS_KEY_period, 0x1E1F, 
--IBUS_KEY_f, IBUS_KEY_S, 0x017F, 
--IBUS_KEY_f, IBUS_KEY_f, 0xFB00, 
--IBUS_KEY_f, IBUS_KEY_i, 0xFB01, 
--IBUS_KEY_f, IBUS_KEY_l, 0xFB02, 
--IBUS_KEY_f, IBUS_KEY_s, 0x017F, 
--IBUS_KEY_g, IBUS_KEY_parenleft, 0x011F, 
--IBUS_KEY_g, IBUS_KEY_comma, 0x0123, 
--IBUS_KEY_g, IBUS_KEY_period, 0x0121, 
--IBUS_KEY_g, IBUS_KEY_U, 0x011F, 
--IBUS_KEY_g, IBUS_KEY_breve, 0x011F, 
--IBUS_KEY_h, IBUS_KEY_comma, 0x1E29, 
--IBUS_KEY_i, IBUS_KEY_quotedbl, 0x00EF, 
--IBUS_KEY_i, IBUS_KEY_apostrophe, 0x00ED, 
--IBUS_KEY_i, IBUS_KEY_comma, 0x012F, 
--IBUS_KEY_i, IBUS_KEY_minus, 0x012B, 
--IBUS_KEY_i, IBUS_KEY_period, 0x0131, 
--IBUS_KEY_i, IBUS_KEY_semicolon, 0x012F, 
--IBUS_KEY_i, IBUS_KEY_greater, 0x00EE, 
--IBUS_KEY_i, IBUS_KEY_asciicircum, 0x00EE, 
--IBUS_KEY_i, IBUS_KEY_underscore, 0x012B, 
--IBUS_KEY_i, IBUS_KEY_grave, 0x00EC, 
--IBUS_KEY_i, IBUS_KEY_j, 0x0133, 
--IBUS_KEY_i, IBUS_KEY_asciitilde, 0x0129, 
--IBUS_KEY_i, IBUS_KEY_diaeresis, 0x00EF, 
--IBUS_KEY_i, IBUS_KEY_acute, 0x00ED, 
--IBUS_KEY_k, IBUS_KEY_comma, 0x0137, 
--IBUS_KEY_k, IBUS_KEY_k, 0x0138, 
--IBUS_KEY_l, IBUS_KEY_apostrophe, 0x013A, 
--IBUS_KEY_l, IBUS_KEY_comma, 0x013C, 
--IBUS_KEY_l, IBUS_KEY_minus, 0x00A3, 
--IBUS_KEY_l, IBUS_KEY_slash, 0x0142, 
--IBUS_KEY_l, IBUS_KEY_less, 0x013E, 
--IBUS_KEY_l, IBUS_KEY_v, 0x007C, 
--IBUS_KEY_m, IBUS_KEY_period, 0x1E41, 
--IBUS_KEY_m, IBUS_KEY_slash, 0x20A5, 
--IBUS_KEY_m, IBUS_KEY_u, 0x00B5, 
--IBUS_KEY_n, IBUS_KEY_apostrophe, 0x0144, 
--IBUS_KEY_n, IBUS_KEY_comma, 0x0146, 
--IBUS_KEY_n, IBUS_KEY_less, 0x0148, 
--IBUS_KEY_n, IBUS_KEY_g, 0x014B, 
--IBUS_KEY_n, IBUS_KEY_asciitilde, 0x00F1, 
--IBUS_KEY_o, IBUS_KEY_quotedbl, 0x00F6, 
--IBUS_KEY_o, IBUS_KEY_apostrophe, 0x00F3, 
--IBUS_KEY_o, IBUS_KEY_comma, 0x01EB, 
--IBUS_KEY_o, IBUS_KEY_minus, 0x014D, 
--IBUS_KEY_o, IBUS_KEY_slash, 0x00F8, 
--IBUS_KEY_o, IBUS_KEY_semicolon, 0x01EB, 
--IBUS_KEY_o, IBUS_KEY_greater, 0x00F4, 
--IBUS_KEY_o, IBUS_KEY_A, 0x00C5, 
--IBUS_KEY_o, IBUS_KEY_C, 0x00A9, 
--IBUS_KEY_o, IBUS_KEY_R, 0x00AE, 
--IBUS_KEY_o, IBUS_KEY_U, 0x016E, 
--IBUS_KEY_o, IBUS_KEY_X, 0x00A4, 
--IBUS_KEY_o, IBUS_KEY_asciicircum, 0x00F4, 
--IBUS_KEY_o, IBUS_KEY_underscore, 0x014D, 
--IBUS_KEY_o, IBUS_KEY_grave, 0x00F2, 
--IBUS_KEY_o, IBUS_KEY_a, 0x00E5, 
--IBUS_KEY_o, IBUS_KEY_c, 0x00A9, 
--IBUS_KEY_o, IBUS_KEY_e, 0x0153, 
--IBUS_KEY_o, IBUS_KEY_o, 0x00B0, 
--IBUS_KEY_o, IBUS_KEY_r, 0x00AE, 
--IBUS_KEY_o, IBUS_KEY_s, 0x00A7, 
--IBUS_KEY_o, IBUS_KEY_u, 0x016F, 
--IBUS_KEY_o, IBUS_KEY_w, 0x1E98, 
--IBUS_KEY_o, IBUS_KEY_x, 0x00A4, 
--IBUS_KEY_o, IBUS_KEY_y, 0x1E99, 
--IBUS_KEY_o, IBUS_KEY_asciitilde, 0x00F5, 
--IBUS_KEY_o, IBUS_KEY_diaeresis, 0x00F6, 
--IBUS_KEY_o, IBUS_KEY_acute, 0x00F3, 
--IBUS_KEY_p, IBUS_KEY_exclam, 0x00B6, 
--IBUS_KEY_p, IBUS_KEY_period, 0x1E57, 
--IBUS_KEY_r, IBUS_KEY_apostrophe, 0x0155, 
--IBUS_KEY_r, IBUS_KEY_comma, 0x0157, 
--IBUS_KEY_r, IBUS_KEY_less, 0x0159, 
--IBUS_KEY_s, IBUS_KEY_exclam, 0x00A7, 
--IBUS_KEY_s, IBUS_KEY_apostrophe, 0x015B, 
--IBUS_KEY_s, IBUS_KEY_comma, 0x015F, 
--IBUS_KEY_s, IBUS_KEY_period, 0x1E61, 
--IBUS_KEY_s, IBUS_KEY_semicolon, 0x0219, 
--IBUS_KEY_s, IBUS_KEY_less, 0x0161, 
--IBUS_KEY_s, IBUS_KEY_M, 0x2120, 
--IBUS_KEY_s, IBUS_KEY_m, 0x2120, 
--IBUS_KEY_s, IBUS_KEY_o, 0x00A7, 
--IBUS_KEY_s, IBUS_KEY_s, 0x00DF, 
--IBUS_KEY_s, IBUS_KEY_cedilla, 0x015F, 
--IBUS_KEY_t, IBUS_KEY_comma, 0x0163, 
--IBUS_KEY_t, IBUS_KEY_minus, 0x0167, 
--IBUS_KEY_t, IBUS_KEY_period, 0x1E6B, 
--IBUS_KEY_t, IBUS_KEY_slash, 0x0167, 
--IBUS_KEY_t, IBUS_KEY_semicolon, 0x021B, 
--IBUS_KEY_t, IBUS_KEY_less, 0x0165, 
--IBUS_KEY_t, IBUS_KEY_M, 0x2122, 
--IBUS_KEY_t, IBUS_KEY_h, 0x00FE, 
--IBUS_KEY_t, IBUS_KEY_m, 0x2122, 
--IBUS_KEY_u, IBUS_KEY_quotedbl, 0x00FC, 
--IBUS_KEY_u, IBUS_KEY_apostrophe, 0x00FA, 
--IBUS_KEY_u, IBUS_KEY_asterisk, 0x016F, 
--IBUS_KEY_u, IBUS_KEY_comma, 0x0173, 
--IBUS_KEY_u, IBUS_KEY_minus, 0x016B, 
--IBUS_KEY_u, IBUS_KEY_slash, 0x00B5, 
--IBUS_KEY_u, IBUS_KEY_semicolon, 0x0173, 
--IBUS_KEY_u, IBUS_KEY_greater, 0x00FB, 
--IBUS_KEY_u, IBUS_KEY_A, 0x0102, 
--IBUS_KEY_u, IBUS_KEY_U, 0x016C, 
--IBUS_KEY_u, IBUS_KEY_asciicircum, 0x00FB, 
--IBUS_KEY_u, IBUS_KEY_underscore, 0x016B, 
--IBUS_KEY_u, IBUS_KEY_grave, 0x00F9, 
--IBUS_KEY_u, IBUS_KEY_a, 0x0103, 
--IBUS_KEY_u, IBUS_KEY_u, 0x016D, 
--IBUS_KEY_u, IBUS_KEY_asciitilde, 0x0169, 
--IBUS_KEY_u, IBUS_KEY_diaeresis, 0x00FC, 
--IBUS_KEY_u, IBUS_KEY_acute, 0x00FA, 
--IBUS_KEY_v, IBUS_KEY_slash, 0x221A, 
--IBUS_KEY_v, IBUS_KEY_Z, 0x017D, 
--IBUS_KEY_v, IBUS_KEY_l, 0x007C, 
--IBUS_KEY_v, IBUS_KEY_z, 0x017E, 
--IBUS_KEY_w, IBUS_KEY_asciicircum, 0x0175, 
--IBUS_KEY_x, IBUS_KEY_O, 0x00A4, 
--IBUS_KEY_x, IBUS_KEY_o, 0x00A4, 
--IBUS_KEY_x, IBUS_KEY_x, 0x00D7, 
--IBUS_KEY_y, IBUS_KEY_quotedbl, 0x00FF, 
--IBUS_KEY_y, IBUS_KEY_apostrophe, 0x00FD, 
--IBUS_KEY_y, IBUS_KEY_minus, 0x00A5, 
--IBUS_KEY_y, IBUS_KEY_equal, 0x00A5, 
--IBUS_KEY_y, IBUS_KEY_asciicircum, 0x0177, 
--IBUS_KEY_y, IBUS_KEY_diaeresis, 0x00FF, 
--IBUS_KEY_y, IBUS_KEY_acute, 0x00FD, 
--IBUS_KEY_z, IBUS_KEY_apostrophe, 0x017A, 
--IBUS_KEY_z, IBUS_KEY_period, 0x017C, 
--IBUS_KEY_z, IBUS_KEY_less, 0x017E, 
--IBUS_KEY_braceleft, IBUS_KEY_braceright, 0x2205, 
--IBUS_KEY_bar, IBUS_KEY_C, 0x00A2, 
--IBUS_KEY_bar, IBUS_KEY_c, 0x00A2, 
--IBUS_KEY_bar, IBUS_KEY_asciitilde, 0x236D, 
--IBUS_KEY_bar, 0x2190, 0x2345, 
--IBUS_KEY_bar, 0x2192, 0x2346, 
--IBUS_KEY_bar, 0x2206, 0x234B, 
--IBUS_KEY_bar, 0x2207, 0x2352, 
--IBUS_KEY_bar, IBUS_KEY_union, 0x2366, 
--IBUS_KEY_bar, 0x2282, 0x2367, 
--IBUS_KEY_bar, IBUS_KEY_emopencircle, 0x233D, 
--IBUS_KEY_asciitilde, IBUS_KEY_space, 0x007E, 
--IBUS_KEY_asciitilde, IBUS_KEY_0, 0x236C, 
--IBUS_KEY_asciitilde, IBUS_KEY_A, 0x00C3, 
--IBUS_KEY_asciitilde, IBUS_KEY_E, 0x1EBC, 
--IBUS_KEY_asciitilde, IBUS_KEY_I, 0x0128, 
--IBUS_KEY_asciitilde, IBUS_KEY_N, 0x00D1, 
--IBUS_KEY_asciitilde, IBUS_KEY_O, 0x00D5, 
--IBUS_KEY_asciitilde, IBUS_KEY_U, 0x0168, 
--IBUS_KEY_asciitilde, IBUS_KEY_V, 0x1E7C, 
--IBUS_KEY_asciitilde, IBUS_KEY_Y, 0x1EF8, 
--IBUS_KEY_asciitilde, IBUS_KEY_a, 0x00E3, 
--IBUS_KEY_asciitilde, IBUS_KEY_e, 0x1EBD, 
--IBUS_KEY_asciitilde, IBUS_KEY_i, 0x0129, 
--IBUS_KEY_asciitilde, IBUS_KEY_n, 0x00F1, 
--IBUS_KEY_asciitilde, IBUS_KEY_o, 0x00F5, 
--IBUS_KEY_asciitilde, IBUS_KEY_u, 0x0169, 
--IBUS_KEY_asciitilde, IBUS_KEY_v, 0x1E7D, 
--IBUS_KEY_asciitilde, IBUS_KEY_y, 0x1EF9, 
--IBUS_KEY_asciitilde, IBUS_KEY_bar, 0x236D, 
--IBUS_KEY_asciitilde, IBUS_KEY_diaeresis, 0x2368, 
--IBUS_KEY_asciitilde, IBUS_KEY_Acircumflex, 0x1EAA, 
--IBUS_KEY_asciitilde, IBUS_KEY_Ecircumflex, 0x1EC4, 
--IBUS_KEY_asciitilde, IBUS_KEY_Ocircumflex, 0x1ED6, 
--IBUS_KEY_asciitilde, IBUS_KEY_acircumflex, 0x1EAB, 
--IBUS_KEY_asciitilde, IBUS_KEY_ecircumflex, 0x1EC5, 
--IBUS_KEY_asciitilde, IBUS_KEY_ocircumflex, 0x1ED7, 
--IBUS_KEY_asciitilde, IBUS_KEY_Abreve, 0x1EB4, 
--IBUS_KEY_asciitilde, IBUS_KEY_abreve, 0x1EB5, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_iotadieresis, 0x1FD7, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilondieresis, 0x1FE7, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0x1FB6, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0x1FC6, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_iota, 0x1FD6, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilon, 0x1FE6, 
--IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0x1FF6, 
--IBUS_KEY_asciitilde, 0x1F00, 0x1F06, 
--IBUS_KEY_asciitilde, 0x1F01, 0x1F07, 
--IBUS_KEY_asciitilde, 0x1F08, 0x1F0E, 
--IBUS_KEY_asciitilde, 0x1F09, 0x1F0F, 
--IBUS_KEY_asciitilde, 0x1F20, 0x1F26, 
--IBUS_KEY_asciitilde, 0x1F21, 0x1F27, 
--IBUS_KEY_asciitilde, 0x1F28, 0x1F2E, 
--IBUS_KEY_asciitilde, 0x1F29, 0x1F2F, 
--IBUS_KEY_asciitilde, 0x1F30, 0x1F36, 
--IBUS_KEY_asciitilde, 0x1F31, 0x1F37, 
--IBUS_KEY_asciitilde, 0x1F38, 0x1F3E, 
--IBUS_KEY_asciitilde, 0x1F39, 0x1F3F, 
--IBUS_KEY_asciitilde, 0x1F50, 0x1F56, 
--IBUS_KEY_asciitilde, 0x1F51, 0x1F57, 
--IBUS_KEY_asciitilde, 0x1F59, 0x1F5F, 
--IBUS_KEY_asciitilde, 0x1F60, 0x1F66, 
--IBUS_KEY_asciitilde, 0x1F61, 0x1F67, 
--IBUS_KEY_asciitilde, 0x1F68, 0x1F6E, 
--IBUS_KEY_asciitilde, 0x1F69, 0x1F6F, 
--IBUS_KEY_asciitilde, 0x2207, 0x236B, 
--IBUS_KEY_asciitilde, 0x2227, 0x2372, 
--IBUS_KEY_asciitilde, 0x2228, 0x2371, 
--IBUS_KEY_diaeresis, IBUS_KEY_apostrophe, 0x0385, 
--IBUS_KEY_diaeresis, IBUS_KEY_asterisk, 0x2363, 
--IBUS_KEY_diaeresis, IBUS_KEY_greater, 0x2369, 
--IBUS_KEY_diaeresis, IBUS_KEY_A, 0x00C4, 
--IBUS_KEY_diaeresis, IBUS_KEY_E, 0x00CB, 
--IBUS_KEY_diaeresis, IBUS_KEY_I, 0x00CF, 
--IBUS_KEY_diaeresis, IBUS_KEY_O, 0x00D6, 
--IBUS_KEY_diaeresis, IBUS_KEY_U, 0x00DC, 
--IBUS_KEY_diaeresis, IBUS_KEY_Y, 0x0178, 
--IBUS_KEY_diaeresis, IBUS_KEY_grave, 0x1FED, 
--IBUS_KEY_diaeresis, IBUS_KEY_a, 0x00E4, 
--IBUS_KEY_diaeresis, IBUS_KEY_e, 0x00EB, 
--IBUS_KEY_diaeresis, IBUS_KEY_i, 0x00EF, 
--IBUS_KEY_diaeresis, IBUS_KEY_o, 0x00F6, 
--IBUS_KEY_diaeresis, IBUS_KEY_u, 0x00FC, 
--IBUS_KEY_diaeresis, IBUS_KEY_y, 0x00FF, 
--IBUS_KEY_diaeresis, IBUS_KEY_asciitilde, 0x1FC1, 
--IBUS_KEY_diaeresis, IBUS_KEY_acute, 0x0385, 
--IBUS_KEY_diaeresis, 0x2207, 0x2362, 
--IBUS_KEY_diaeresis, 0x2218, 0x2364, 
--IBUS_KEY_diaeresis, IBUS_KEY_uptack, 0x2361, 
--IBUS_KEY_diaeresis, IBUS_KEY_emopencircle, 0x2365, 
--IBUS_KEY_diaeresis, IBUS_KEY_dead_grave, 0x1FED, 
--IBUS_KEY_diaeresis, IBUS_KEY_dead_acute, 0x0385, 
--IBUS_KEY_diaeresis, IBUS_KEY_dead_tilde, 0x1FC1, 
--IBUS_KEY_macron, IBUS_KEY_A, 0x0100, 
--IBUS_KEY_macron, IBUS_KEY_E, 0x0112, 
--IBUS_KEY_macron, IBUS_KEY_G, 0x1E20, 
--IBUS_KEY_macron, IBUS_KEY_I, 0x012A, 
--IBUS_KEY_macron, IBUS_KEY_O, 0x014C, 
--IBUS_KEY_macron, IBUS_KEY_U, 0x016A, 
--IBUS_KEY_macron, IBUS_KEY_Y, 0x0232, 
--IBUS_KEY_macron, IBUS_KEY_a, 0x0101, 
--IBUS_KEY_macron, IBUS_KEY_e, 0x0113, 
--IBUS_KEY_macron, IBUS_KEY_g, 0x1E21, 
--IBUS_KEY_macron, IBUS_KEY_i, 0x012B, 
--IBUS_KEY_macron, IBUS_KEY_o, 0x014D, 
--IBUS_KEY_macron, IBUS_KEY_u, 0x016B, 
--IBUS_KEY_macron, IBUS_KEY_y, 0x0233, 
--IBUS_KEY_macron, IBUS_KEY_Adiaeresis, 0x01DE, 
--IBUS_KEY_macron, IBUS_KEY_AE, 0x01E2, 
--IBUS_KEY_macron, IBUS_KEY_Otilde, 0x022C, 
--IBUS_KEY_macron, IBUS_KEY_Odiaeresis, 0x022A, 
--IBUS_KEY_macron, IBUS_KEY_Udiaeresis, 0x01D5, 
--IBUS_KEY_macron, IBUS_KEY_adiaeresis, 0x01DF, 
--IBUS_KEY_macron, IBUS_KEY_ae, 0x01E3, 
--IBUS_KEY_macron, IBUS_KEY_otilde, 0x022D, 
--IBUS_KEY_macron, IBUS_KEY_odiaeresis, 0x022B, 
--IBUS_KEY_macron, IBUS_KEY_udiaeresis, 0x01D6, 
--IBUS_KEY_macron, 0x01EA, 0x01EC, 
--IBUS_KEY_macron, 0x01EB, 0x01ED, 
--IBUS_KEY_macron, 0x0226, 0x01E0, 
--IBUS_KEY_macron, 0x0227, 0x01E1, 
--IBUS_KEY_macron, 0x022E, 0x0230, 
--IBUS_KEY_macron, 0x022F, 0x0231, 
--IBUS_KEY_macron, IBUS_KEY_Cyrillic_i, 0x04E3, 
--IBUS_KEY_macron, IBUS_KEY_Cyrillic_u, 0x04EF, 
--IBUS_KEY_macron, IBUS_KEY_Cyrillic_I, 0x04E2, 
--IBUS_KEY_macron, IBUS_KEY_Cyrillic_U, 0x04EE, 
--IBUS_KEY_macron, IBUS_KEY_Greek_ALPHA, 0x1FB9, 
--IBUS_KEY_macron, IBUS_KEY_Greek_IOTA, 0x1FD9, 
--IBUS_KEY_macron, IBUS_KEY_Greek_UPSILON, 0x1FE9, 
--IBUS_KEY_macron, IBUS_KEY_Greek_alpha, 0x1FB1, 
--IBUS_KEY_macron, IBUS_KEY_Greek_iota, 0x1FD1, 
--IBUS_KEY_macron, IBUS_KEY_Greek_upsilon, 0x1FE1, 
--IBUS_KEY_macron, 0x1E36, 0x1E38, 
--IBUS_KEY_macron, 0x1E37, 0x1E39, 
--IBUS_KEY_macron, 0x1E5A, 0x1E5C, 
--IBUS_KEY_macron, 0x1E5B, 0x1E5D, 
--IBUS_KEY_macron, IBUS_KEY_uptack, 0x2351, 
--IBUS_KEY_acute, IBUS_KEY_A, 0x00C1, 
--IBUS_KEY_acute, IBUS_KEY_C, 0x0106, 
--IBUS_KEY_acute, IBUS_KEY_E, 0x00C9, 
--IBUS_KEY_acute, IBUS_KEY_G, 0x01F4, 
--IBUS_KEY_acute, IBUS_KEY_I, 0x00CD, 
--IBUS_KEY_acute, IBUS_KEY_K, 0x1E30, 
--IBUS_KEY_acute, IBUS_KEY_L, 0x0139, 
--IBUS_KEY_acute, IBUS_KEY_M, 0x1E3E, 
--IBUS_KEY_acute, IBUS_KEY_N, 0x0143, 
--IBUS_KEY_acute, IBUS_KEY_O, 0x00D3, 
--IBUS_KEY_acute, IBUS_KEY_P, 0x1E54, 
--IBUS_KEY_acute, IBUS_KEY_R, 0x0154, 
--IBUS_KEY_acute, IBUS_KEY_S, 0x015A, 
--IBUS_KEY_acute, IBUS_KEY_U, 0x00DA, 
--IBUS_KEY_acute, IBUS_KEY_W, 0x1E82, 
--IBUS_KEY_acute, IBUS_KEY_Y, 0x00DD, 
--IBUS_KEY_acute, IBUS_KEY_Z, 0x0179, 
--IBUS_KEY_acute, IBUS_KEY_a, 0x00E1, 
--IBUS_KEY_acute, IBUS_KEY_c, 0x0107, 
--IBUS_KEY_acute, IBUS_KEY_e, 0x00E9, 
--IBUS_KEY_acute, IBUS_KEY_g, 0x01F5, 
--IBUS_KEY_acute, IBUS_KEY_i, 0x00ED, 
--IBUS_KEY_acute, IBUS_KEY_k, 0x1E31, 
--IBUS_KEY_acute, IBUS_KEY_l, 0x013A, 
--IBUS_KEY_acute, IBUS_KEY_m, 0x1E3F, 
--IBUS_KEY_acute, IBUS_KEY_n, 0x0144, 
--IBUS_KEY_acute, IBUS_KEY_o, 0x00F3, 
--IBUS_KEY_acute, IBUS_KEY_p, 0x1E55, 
--IBUS_KEY_acute, IBUS_KEY_r, 0x0155, 
--IBUS_KEY_acute, IBUS_KEY_s, 0x015B, 
--IBUS_KEY_acute, IBUS_KEY_u, 0x00FA, 
--IBUS_KEY_acute, IBUS_KEY_w, 0x1E83, 
--IBUS_KEY_acute, IBUS_KEY_y, 0x00FD, 
--IBUS_KEY_acute, IBUS_KEY_z, 0x017A, 
--IBUS_KEY_acute, IBUS_KEY_Acircumflex, 0x1EA4, 
--IBUS_KEY_acute, IBUS_KEY_Aring, 0x01FA, 
--IBUS_KEY_acute, IBUS_KEY_AE, 0x01FC, 
--IBUS_KEY_acute, IBUS_KEY_Ccedilla, 0x1E08, 
--IBUS_KEY_acute, IBUS_KEY_Ecircumflex, 0x1EBE, 
--IBUS_KEY_acute, IBUS_KEY_Idiaeresis, 0x1E2E, 
--IBUS_KEY_acute, IBUS_KEY_Ocircumflex, 0x1ED0, 
--IBUS_KEY_acute, IBUS_KEY_Otilde, 0x1E4C, 
--IBUS_KEY_acute, IBUS_KEY_Ooblique, 0x01FE, 
--IBUS_KEY_acute, IBUS_KEY_Udiaeresis, 0x01D7, 
--IBUS_KEY_acute, IBUS_KEY_acircumflex, 0x1EA5, 
--IBUS_KEY_acute, IBUS_KEY_aring, 0x01FB, 
--IBUS_KEY_acute, IBUS_KEY_ae, 0x01FD, 
--IBUS_KEY_acute, IBUS_KEY_ccedilla, 0x1E09, 
--IBUS_KEY_acute, IBUS_KEY_ecircumflex, 0x1EBF, 
--IBUS_KEY_acute, IBUS_KEY_idiaeresis, 0x1E2F, 
--IBUS_KEY_acute, IBUS_KEY_ocircumflex, 0x1ED1, 
--IBUS_KEY_acute, IBUS_KEY_otilde, 0x1E4D, 
--IBUS_KEY_acute, IBUS_KEY_oslash, 0x01FF, 
--IBUS_KEY_acute, IBUS_KEY_udiaeresis, 0x01D8, 
--IBUS_KEY_acute, IBUS_KEY_Abreve, 0x1EAE, 
--IBUS_KEY_acute, IBUS_KEY_abreve, 0x1EAF, 
--IBUS_KEY_acute, IBUS_KEY_Emacron, 0x1E16, 
--IBUS_KEY_acute, IBUS_KEY_emacron, 0x1E17, 
--IBUS_KEY_acute, IBUS_KEY_Omacron, 0x1E52, 
--IBUS_KEY_acute, IBUS_KEY_Utilde, 0x1E78, 
--IBUS_KEY_acute, IBUS_KEY_omacron, 0x1E53, 
--IBUS_KEY_acute, IBUS_KEY_utilde, 0x1E79, 
--IBUS_KEY_acute, IBUS_KEY_Cyrillic_ghe, 0x0453, 
--IBUS_KEY_acute, IBUS_KEY_Cyrillic_ka, 0x045C, 
--IBUS_KEY_acute, IBUS_KEY_Cyrillic_GHE, 0x0403, 
--IBUS_KEY_acute, IBUS_KEY_Cyrillic_KA, 0x040C, 
--IBUS_KEY_acute, IBUS_KEY_Greek_iotadieresis, 0x0390, 
--IBUS_KEY_acute, IBUS_KEY_Greek_upsilondieresis, 0x03B0, 
--IBUS_KEY_acute, IBUS_KEY_Greek_ALPHA, 0x0386, 
--IBUS_KEY_acute, IBUS_KEY_Greek_EPSILON, 0x0388, 
--IBUS_KEY_acute, IBUS_KEY_Greek_ETA, 0x0389, 
--IBUS_KEY_acute, IBUS_KEY_Greek_IOTA, 0x038A, 
--IBUS_KEY_acute, IBUS_KEY_Greek_OMICRON, 0x038C, 
--IBUS_KEY_acute, IBUS_KEY_Greek_UPSILON, 0x038E, 
--IBUS_KEY_acute, IBUS_KEY_Greek_OMEGA, 0x038F, 
--IBUS_KEY_acute, IBUS_KEY_Greek_alpha, 0x03AC, 
--IBUS_KEY_acute, IBUS_KEY_Greek_epsilon, 0x03AD, 
--IBUS_KEY_acute, IBUS_KEY_Greek_eta, 0x03AE, 
--IBUS_KEY_acute, IBUS_KEY_Greek_iota, 0x03AF, 
--IBUS_KEY_acute, IBUS_KEY_Greek_omicron, 0x03CC, 
--IBUS_KEY_acute, IBUS_KEY_Greek_upsilon, 0x03CD, 
--IBUS_KEY_acute, IBUS_KEY_Greek_omega, 0x03CE, 
--IBUS_KEY_acute, 0x1F00, 0x1F04, 
--IBUS_KEY_acute, 0x1F01, 0x1F05, 
--IBUS_KEY_acute, 0x1F08, 0x1F0C, 
--IBUS_KEY_acute, 0x1F09, 0x1F0D, 
--IBUS_KEY_acute, 0x1F10, 0x1F14, 
--IBUS_KEY_acute, 0x1F11, 0x1F15, 
--IBUS_KEY_acute, 0x1F18, 0x1F1C, 
--IBUS_KEY_acute, 0x1F19, 0x1F1D, 
--IBUS_KEY_acute, 0x1F20, 0x1F24, 
--IBUS_KEY_acute, 0x1F21, 0x1F25, 
--IBUS_KEY_acute, 0x1F28, 0x1F2C, 
--IBUS_KEY_acute, 0x1F29, 0x1F2D, 
--IBUS_KEY_acute, 0x1F30, 0x1F34, 
--IBUS_KEY_acute, 0x1F31, 0x1F35, 
--IBUS_KEY_acute, 0x1F38, 0x1F3C, 
--IBUS_KEY_acute, 0x1F39, 0x1F3D, 
--IBUS_KEY_acute, 0x1F40, 0x1F44, 
--IBUS_KEY_acute, 0x1F41, 0x1F45, 
--IBUS_KEY_acute, 0x1F48, 0x1F4C, 
--IBUS_KEY_acute, 0x1F49, 0x1F4D, 
--IBUS_KEY_acute, 0x1F50, 0x1F54, 
--IBUS_KEY_acute, 0x1F51, 0x1F55, 
--IBUS_KEY_acute, 0x1F59, 0x1F5D, 
--IBUS_KEY_acute, 0x1F60, 0x1F64, 
--IBUS_KEY_acute, 0x1F61, 0x1F65, 
--IBUS_KEY_acute, 0x1F68, 0x1F6C, 
--IBUS_KEY_acute, 0x1F69, 0x1F6D, 
--IBUS_KEY_cedilla, IBUS_KEY_C, 0x00C7, 
--IBUS_KEY_cedilla, IBUS_KEY_D, 0x1E10, 
--IBUS_KEY_cedilla, IBUS_KEY_E, 0x0228, 
--IBUS_KEY_cedilla, IBUS_KEY_G, 0x0122, 
--IBUS_KEY_cedilla, IBUS_KEY_H, 0x1E28, 
--IBUS_KEY_cedilla, IBUS_KEY_K, 0x0136, 
--IBUS_KEY_cedilla, IBUS_KEY_L, 0x013B, 
--IBUS_KEY_cedilla, IBUS_KEY_N, 0x0145, 
--IBUS_KEY_cedilla, IBUS_KEY_R, 0x0156, 
--IBUS_KEY_cedilla, IBUS_KEY_S, 0x015E, 
--IBUS_KEY_cedilla, IBUS_KEY_T, 0x0162, 
--IBUS_KEY_cedilla, IBUS_KEY_c, 0x00E7, 
--IBUS_KEY_cedilla, IBUS_KEY_d, 0x1E11, 
--IBUS_KEY_cedilla, IBUS_KEY_e, 0x0229, 
--IBUS_KEY_cedilla, IBUS_KEY_g, 0x0123, 
--IBUS_KEY_cedilla, IBUS_KEY_h, 0x1E29, 
--IBUS_KEY_cedilla, IBUS_KEY_k, 0x0137, 
--IBUS_KEY_cedilla, IBUS_KEY_l, 0x013C, 
--IBUS_KEY_cedilla, IBUS_KEY_n, 0x0146, 
--IBUS_KEY_cedilla, IBUS_KEY_r, 0x0157, 
--IBUS_KEY_cedilla, IBUS_KEY_s, 0x015F, 
--IBUS_KEY_cedilla, IBUS_KEY_t, 0x0163, 
--IBUS_KEY_division, 0x2395, 0x2339, 
--IBUS_KEY_breve, IBUS_KEY_G, 0x011E, 
--IBUS_KEY_breve, IBUS_KEY_g, 0x011F, 
--0x05B4, IBUS_KEY_hebrew_yod, 0xFB1D, 
--0x05B7, 0x05F2, 0xFB1F, 
--0x05B7, IBUS_KEY_hebrew_aleph, 0xFB2E, 
--0x05B8, IBUS_KEY_hebrew_aleph, 0xFB2F, 
--0x05B9, IBUS_KEY_hebrew_waw, 0xFB4B, 
--0x05BC, IBUS_KEY_hebrew_aleph, 0xFB30, 
--0x05BC, IBUS_KEY_hebrew_beth, 0xFB31, 
--0x05BC, IBUS_KEY_hebrew_gimmel, 0xFB32, 
--0x05BC, IBUS_KEY_hebrew_daleth, 0xFB33, 
--0x05BC, IBUS_KEY_hebrew_he, 0xFB34, 
--0x05BC, IBUS_KEY_hebrew_waw, 0xFB35, 
--0x05BC, IBUS_KEY_hebrew_zayin, 0xFB36, 
--0x05BC, IBUS_KEY_hebrew_teth, 0xFB38, 
--0x05BC, IBUS_KEY_hebrew_yod, 0xFB39, 
--0x05BC, IBUS_KEY_hebrew_finalkaph, 0xFB3A, 
--0x05BC, IBUS_KEY_hebrew_kaph, 0xFB3B, 
--0x05BC, IBUS_KEY_hebrew_lamed, 0xFB3C, 
--0x05BC, IBUS_KEY_hebrew_mem, 0xFB3E, 
--0x05BC, IBUS_KEY_hebrew_nun, 0xFB40, 
--0x05BC, IBUS_KEY_hebrew_samekh, 0xFB41, 
--0x05BC, IBUS_KEY_hebrew_finalpe, 0xFB43, 
--0x05BC, IBUS_KEY_hebrew_pe, 0xFB44, 
--0x05BC, IBUS_KEY_hebrew_zadi, 0xFB46, 
--0x05BC, IBUS_KEY_hebrew_qoph, 0xFB47, 
--0x05BC, IBUS_KEY_hebrew_resh, 0xFB48, 
--0x05BC, IBUS_KEY_hebrew_shin, 0xFB49, 
--0x05BC, IBUS_KEY_hebrew_taw, 0xFB4A, 
--0x05BF, IBUS_KEY_hebrew_beth, 0xFB4C, 
--0x05BF, IBUS_KEY_hebrew_kaph, 0xFB4D, 
--0x05BF, IBUS_KEY_hebrew_pe, 0xFB4E, 
--0x05C1, IBUS_KEY_hebrew_shin, 0xFB2A, 
--0x05C1, 0xFB49, 0xFB2C, 
--0x05C2, IBUS_KEY_hebrew_shin, 0xFB2B, 
--0x05C2, 0xFB49, 0xFB2D, 
--0x0653, IBUS_KEY_Arabic_alef, 0x0622, 
--0x0654, IBUS_KEY_Arabic_alef, 0x0623, 
--0x0654, IBUS_KEY_Arabic_waw, 0x0624, 
--0x0654, IBUS_KEY_Arabic_yeh, 0x0626, 
--0x0654, 0x06C1, 0x06C2, 
--0x0654, 0x06D2, 0x06D3, 
--0x0654, 0x06D5, 0x06C0, 
--0x0655, IBUS_KEY_Arabic_alef, 0x0625, 
--IBUS_KEY_Cyrillic_pe, IBUS_KEY_Cyrillic_a, 0x00A7, 
--IBUS_KEY_Cyrillic_IE, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_Cyrillic_EN, IBUS_KEY_Cyrillic_o, 0x2116, 
--IBUS_KEY_Cyrillic_EN, IBUS_KEY_Cyrillic_O, 0x2116, 
--IBUS_KEY_Cyrillic_ES, IBUS_KEY_equal, 0x20AC, 
--IBUS_KEY_Greek_ALPHA, IBUS_KEY_apostrophe, 0x0386, 
--IBUS_KEY_Greek_EPSILON, IBUS_KEY_apostrophe, 0x0388, 
--IBUS_KEY_Greek_ETA, IBUS_KEY_apostrophe, 0x0389, 
--IBUS_KEY_Greek_IOTA, IBUS_KEY_quotedbl, 0x03AA, 
--IBUS_KEY_Greek_IOTA, IBUS_KEY_apostrophe, 0x038A, 
--IBUS_KEY_Greek_OMICRON, IBUS_KEY_apostrophe, 0x038C, 
--IBUS_KEY_Greek_UPSILON, IBUS_KEY_quotedbl, 0x03AB, 
--IBUS_KEY_Greek_UPSILON, IBUS_KEY_apostrophe, 0x038E, 
--IBUS_KEY_Greek_OMEGA, IBUS_KEY_apostrophe, 0x038F, 
--IBUS_KEY_Greek_alpha, IBUS_KEY_apostrophe, 0x03AC, 
--IBUS_KEY_Greek_epsilon, IBUS_KEY_apostrophe, 0x03AD, 
--IBUS_KEY_Greek_eta, IBUS_KEY_apostrophe, 0x03AE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_quotedbl, 0x03CA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_alphaaccent, 0x1FB4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_etaaccent, 0x1FC4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_omegaaccent, 0x1FF4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_ALPHA, 0x1FBC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_ETA, 0x1FCC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_OMEGA, 0x1FFC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_alpha, 0x1FB3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_eta, 0x1FC3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_Greek_omega, 0x1FF3, 
--IBUS_KEY_Greek_iota, 0x1F00, 0x1F80, 
--IBUS_KEY_Greek_iota, 0x1F01, 0x1F81, 
--IBUS_KEY_Greek_iota, 0x1F02, 0x1F82, 
--IBUS_KEY_Greek_iota, 0x1F03, 0x1F83, 
--IBUS_KEY_Greek_iota, 0x1F04, 0x1F84, 
--IBUS_KEY_Greek_iota, 0x1F05, 0x1F85, 
--IBUS_KEY_Greek_iota, 0x1F06, 0x1F86, 
--IBUS_KEY_Greek_iota, 0x1F07, 0x1F87, 
--IBUS_KEY_Greek_iota, 0x1F08, 0x1F88, 
--IBUS_KEY_Greek_iota, 0x1F09, 0x1F89, 
--IBUS_KEY_Greek_iota, 0x1F0A, 0x1F8A, 
--IBUS_KEY_Greek_iota, 0x1F0B, 0x1F8B, 
--IBUS_KEY_Greek_iota, 0x1F0C, 0x1F8C, 
--IBUS_KEY_Greek_iota, 0x1F0D, 0x1F8D, 
--IBUS_KEY_Greek_iota, 0x1F0E, 0x1F8E, 
--IBUS_KEY_Greek_iota, 0x1F0F, 0x1F8F, 
--IBUS_KEY_Greek_iota, 0x1F20, 0x1F90, 
--IBUS_KEY_Greek_iota, 0x1F21, 0x1F91, 
--IBUS_KEY_Greek_iota, 0x1F22, 0x1F92, 
--IBUS_KEY_Greek_iota, 0x1F23, 0x1F93, 
--IBUS_KEY_Greek_iota, 0x1F24, 0x1F94, 
--IBUS_KEY_Greek_iota, 0x1F25, 0x1F95, 
--IBUS_KEY_Greek_iota, 0x1F26, 0x1F96, 
--IBUS_KEY_Greek_iota, 0x1F27, 0x1F97, 
--IBUS_KEY_Greek_iota, 0x1F28, 0x1F98, 
--IBUS_KEY_Greek_iota, 0x1F29, 0x1F99, 
--IBUS_KEY_Greek_iota, 0x1F2A, 0x1F9A, 
--IBUS_KEY_Greek_iota, 0x1F2B, 0x1F9B, 
--IBUS_KEY_Greek_iota, 0x1F2C, 0x1F9C, 
--IBUS_KEY_Greek_iota, 0x1F2D, 0x1F9D, 
--IBUS_KEY_Greek_iota, 0x1F2E, 0x1F9E, 
--IBUS_KEY_Greek_iota, 0x1F2F, 0x1F9F, 
--IBUS_KEY_Greek_iota, 0x1F60, 0x1FA0, 
--IBUS_KEY_Greek_iota, 0x1F61, 0x1FA1, 
--IBUS_KEY_Greek_iota, 0x1F62, 0x1FA2, 
--IBUS_KEY_Greek_iota, 0x1F63, 0x1FA3, 
--IBUS_KEY_Greek_iota, 0x1F64, 0x1FA4, 
--IBUS_KEY_Greek_iota, 0x1F65, 0x1FA5, 
--IBUS_KEY_Greek_iota, 0x1F66, 0x1FA6, 
--IBUS_KEY_Greek_iota, 0x1F67, 0x1FA7, 
--IBUS_KEY_Greek_iota, 0x1F68, 0x1FA8, 
--IBUS_KEY_Greek_iota, 0x1F69, 0x1FA9, 
--IBUS_KEY_Greek_iota, 0x1F6A, 0x1FAA, 
--IBUS_KEY_Greek_iota, 0x1F6B, 0x1FAB, 
--IBUS_KEY_Greek_iota, 0x1F6C, 0x1FAC, 
--IBUS_KEY_Greek_iota, 0x1F6D, 0x1FAD, 
--IBUS_KEY_Greek_iota, 0x1F6E, 0x1FAE, 
--IBUS_KEY_Greek_iota, 0x1F6F, 0x1FAF, 
--IBUS_KEY_Greek_iota, 0x1F70, 0x1FB2, 
--IBUS_KEY_Greek_iota, 0x1F74, 0x1FC2, 
--IBUS_KEY_Greek_iota, 0x1F7C, 0x1FF2, 
--IBUS_KEY_Greek_iota, 0x1FB6, 0x1FB7, 
--IBUS_KEY_Greek_iota, 0x1FC6, 0x1FC7, 
--IBUS_KEY_Greek_iota, 0x1FF6, 0x1FF7, 
--IBUS_KEY_Greek_omicron, IBUS_KEY_apostrophe, 0x03CC, 
--IBUS_KEY_Greek_upsilon, IBUS_KEY_quotedbl, 0x03CB, 
--IBUS_KEY_Greek_upsilon, IBUS_KEY_apostrophe, 0x03CD, 
--IBUS_KEY_Greek_omega, IBUS_KEY_apostrophe, 0x03CE, 
--IBUS_KEY_lessthanequal, 0x0338, 0x2270, 
--IBUS_KEY_greaterthanequal, 0x0338, 0x2271, 
--IBUS_KEY_approximate, 0x0338, 0x2247, 
--IBUS_KEY_identical, 0x0338, 0x2262, 
--IBUS_KEY_includedin, 0x0338, 0x2284, 
--IBUS_KEY_includes, 0x0338, 0x2285, 
--0x093C, 0x0915, 0x0958, 
--0x093C, 0x0916, 0x0959, 
--0x093C, 0x0917, 0x095A, 
--0x093C, 0x091C, 0x095B, 
--0x093C, 0x0921, 0x095C, 
--0x093C, 0x0922, 0x095D, 
--0x093C, 0x0928, 0x0929, 
--0x093C, 0x092B, 0x095E, 
--0x093C, 0x092F, 0x095F, 
--0x093C, 0x0930, 0x0931, 
--0x093C, 0x0933, 0x0934, 
--0x09BC, 0x09A1, 0x09DC, 
--0x09BC, 0x09A2, 0x09DD, 
--0x09BC, 0x09AF, 0x09DF, 
--0x09C7, 0x09BE, 0x09CB, 
--0x09C7, 0x09D7, 0x09CC, 
--0x0A3C, 0x0A16, 0x0A59, 
--0x0A3C, 0x0A17, 0x0A5A, 
--0x0A3C, 0x0A1C, 0x0A5B, 
--0x0A3C, 0x0A2B, 0x0A5E, 
--0x0A3C, 0x0A32, 0x0A33, 
--0x0A3C, 0x0A38, 0x0A36, 
--0x0B3C, 0x0B21, 0x0B5C, 
--0x0B3C, 0x0B22, 0x0B5D, 
--0x0B47, 0x0B3E, 0x0B4B, 
--0x0B47, 0x0B56, 0x0B48, 
--0x0B47, 0x0B57, 0x0B4C, 
--IBUS_KEY_leftcaret, 0x0338, 0x226E, 
--IBUS_KEY_rightcaret, 0x0338, 0x226F, 
--IBUS_KEY_underbar, IBUS_KEY_parenleft, 0x208D, 
--IBUS_KEY_underbar, IBUS_KEY_parenright, 0x208E, 
--IBUS_KEY_underbar, IBUS_KEY_plus, 0x208A, 
--IBUS_KEY_underbar, IBUS_KEY_0, 0x2080, 
--IBUS_KEY_underbar, IBUS_KEY_1, 0x2081, 
--IBUS_KEY_underbar, IBUS_KEY_2, 0x2082, 
--IBUS_KEY_underbar, IBUS_KEY_3, 0x2083, 
--IBUS_KEY_underbar, IBUS_KEY_4, 0x2084, 
--IBUS_KEY_underbar, IBUS_KEY_5, 0x2085, 
--IBUS_KEY_underbar, IBUS_KEY_6, 0x2086, 
--IBUS_KEY_underbar, IBUS_KEY_7, 0x2087, 
--IBUS_KEY_underbar, IBUS_KEY_8, 0x2088, 
--IBUS_KEY_underbar, IBUS_KEY_9, 0x2089, 
--IBUS_KEY_underbar, IBUS_KEY_equal, 0x208C, 
--0x0BC6, 0x0BBE, 0x0BCA, 
--0x0BC6, 0x0BD7, 0x0BCC, 
--IBUS_KEY_underbar, 0x2212, 0x208B, 
--IBUS_KEY_underbar, IBUS_KEY_KP_Space, 0x2082, 
--IBUS_KEY_underbar, IBUS_KEY_KP_Add, 0x208A, 
--IBUS_KEY_underbar, IBUS_KEY_KP_0, 0x2080, 
--IBUS_KEY_underbar, IBUS_KEY_KP_1, 0x2081, 
--IBUS_KEY_underbar, IBUS_KEY_KP_2, 0x2082, 
--IBUS_KEY_underbar, IBUS_KEY_KP_3, 0x2083, 
--IBUS_KEY_underbar, IBUS_KEY_KP_4, 0x2084, 
--IBUS_KEY_underbar, IBUS_KEY_KP_5, 0x2085, 
--IBUS_KEY_underbar, IBUS_KEY_KP_6, 0x2086, 
--IBUS_KEY_underbar, IBUS_KEY_KP_7, 0x2087, 
--IBUS_KEY_underbar, IBUS_KEY_KP_8, 0x2088, 
--IBUS_KEY_underbar, IBUS_KEY_KP_9, 0x2089, 
--IBUS_KEY_underbar, IBUS_KEY_KP_Equal, 0x208C, 
--0x0BC7, 0x0BBE, 0x0BCB, 
--0x0BD7, 0x0B92, 0x0B94, 
--IBUS_KEY_rightshoe, 0x0338, 0x2285, 
--IBUS_KEY_leftshoe, 0x0338, 0x2284, 
--IBUS_KEY_righttack, 0x0338, 0x22AC, 
--0x0C46, 0x0C56, 0x0C48, 
--0x0CBF, 0x0CD5, 0x0CC0, 
--0x0CC6, 0x0CC2, 0x0CCA, 
--0x0CC6, 0x0CD5, 0x0CC7, 
--0x0CC6, 0x0CD6, 0x0CC8, 
--0x0CCA, 0x0CD5, 0x0CCB, 
--0x0D46, 0x0D3E, 0x0D4A, 
--0x0D46, 0x0D57, 0x0D4C, 
--0x0D47, 0x0D3E, 0x0D4B, 
--0x0DD9, 0x0DCA, 0x0DDA, 
--0x0DD9, 0x0DCF, 0x0DDC, 
--0x0DD9, 0x0DDF, 0x0DDE, 
--0x0DDC, 0x0DCA, 0x0DDD, 
--0x0F71, 0x0F72, 0x0F73, 
--0x0F71, 0x0F74, 0x0F75, 
--0x0F71, 0x0F80, 0x0F81, 
--0x0F90, 0x0FB5, 0x0FB9, 
--0x0F92, 0x0FB7, 0x0F93, 
--0x0F9C, 0x0FB7, 0x0F9D, 
--0x0FA1, 0x0FB7, 0x0FA2, 
--0x0FA6, 0x0FB7, 0x0FA7, 
--0x0FAB, 0x0FB7, 0x0FAC, 
--0x0FB2, 0x0F80, 0x0F76, 
--0x0FB3, 0x0F80, 0x0F78, 
--0x0FB5, 0x0F40, 0x0F69, 
--0x0FB7, 0x0F42, 0x0F43, 
--0x0FB7, 0x0F4C, 0x0F4D, 
--0x0FB7, 0x0F51, 0x0F52, 
--0x0FB7, 0x0F56, 0x0F57, 
--0x0FB7, 0x0F5B, 0x0F5C, 
--0x102E, 0x1025, 0x1026, 
--0x1100, 0x1100, 0x1101, 
--0x1102, 0x1100, 0x1113, 
--0x1102, 0x1102, 0x1114, 
--0x1102, 0x1103, 0x1115, 
--0x1102, 0x1107, 0x1116, 
--0x1103, 0x1100, 0x1117, 
--0x1103, 0x1103, 0x1104, 
--0x1105, 0x1102, 0x1118, 
--0x1105, 0x1105, 0x1119, 
--0x1105, 0x110B, 0x111B, 
--0x1105, 0x1112, 0x111A, 
--0x1106, 0x1107, 0x111C, 
--0x1106, 0x110B, 0x111D, 
--0x1107, 0x1100, 0x111E, 
--0x1107, 0x1102, 0x111F, 
--0x1107, 0x1103, 0x1120, 
--0x1107, 0x1107, 0x1108, 
--0x1107, 0x1109, 0x1121, 
--0x1107, 0x110A, 0x1125, 
--0x1107, 0x110B, 0x112B, 
--0x1107, 0x110C, 0x1127, 
--0x1107, 0x110E, 0x1128, 
--0x1107, 0x1110, 0x1129, 
--0x1107, 0x1111, 0x112A, 
--0x1107, 0x112B, 0x112C, 
--0x1107, 0x112D, 0x1122, 
--0x1107, 0x112F, 0x1123, 
--0x1107, 0x1132, 0x1124, 
--0x1107, 0x1136, 0x1126, 
--0x1108, 0x110B, 0x112C, 
--0x1109, 0x1100, 0x112D, 
--0x1109, 0x1102, 0x112E, 
--0x1109, 0x1103, 0x112F, 
--0x1109, 0x1105, 0x1130, 
--0x1109, 0x1106, 0x1131, 
--0x1109, 0x1107, 0x1132, 
--0x1109, 0x1109, 0x110A, 
--0x1109, 0x110A, 0x1134, 
--0x1109, 0x110B, 0x1135, 
--0x1109, 0x110C, 0x1136, 
--0x1109, 0x110E, 0x1137, 
--0x1109, 0x110F, 0x1138, 
--0x1109, 0x1110, 0x1139, 
--0x1109, 0x1111, 0x113A, 
--0x1109, 0x1112, 0x113B, 
--0x1109, 0x111E, 0x1133, 
--0x110A, 0x1109, 0x1134, 
--0x110B, 0x1100, 0x1141, 
--0x110B, 0x1103, 0x1142, 
--0x110B, 0x1106, 0x1143, 
--0x110B, 0x1107, 0x1144, 
--0x110B, 0x1109, 0x1145, 
--0x110B, 0x110B, 0x1147, 
--0x110B, 0x110C, 0x1148, 
--0x110B, 0x110E, 0x1149, 
--0x110B, 0x1110, 0x114A, 
--0x110B, 0x1111, 0x114B, 
--0x110B, 0x1140, 0x1146, 
--0x110C, 0x110B, 0x114D, 
--0x110C, 0x110C, 0x110D, 
--0x110E, 0x110F, 0x1152, 
--0x110E, 0x1112, 0x1153, 
--0x1111, 0x1107, 0x1156, 
--0x1111, 0x110B, 0x1157, 
--0x1112, 0x1112, 0x1158, 
--0x1121, 0x1100, 0x1122, 
--0x1121, 0x1103, 0x1123, 
--0x1121, 0x1107, 0x1124, 
--0x1121, 0x1109, 0x1125, 
--0x1121, 0x110C, 0x1126, 
--0x1132, 0x1100, 0x1133, 
--0x113C, 0x113C, 0x113D, 
--0x113E, 0x113E, 0x113F, 
--0x114E, 0x114E, 0x114F, 
--0x1150, 0x1150, 0x1151, 
--0x1161, 0x1169, 0x1176, 
--0x1161, 0x116E, 0x1177, 
--0x1161, 0x1175, 0x1162, 
--0x1163, 0x1169, 0x1178, 
--0x1163, 0x116D, 0x1179, 
--0x1163, 0x1175, 0x1164, 
--0x1165, 0x1169, 0x117A, 
--0x1165, 0x116E, 0x117B, 
--0x1165, 0x1173, 0x117C, 
--0x1165, 0x1175, 0x1166, 
--0x1167, 0x1169, 0x117D, 
--0x1167, 0x116E, 0x117E, 
--0x1167, 0x1175, 0x1168, 
--0x1169, 0x1161, 0x116A, 
--0x1169, 0x1162, 0x116B, 
--0x1169, 0x1165, 0x117F, 
--0x1169, 0x1166, 0x1180, 
--0x1169, 0x1168, 0x1181, 
--0x1169, 0x1169, 0x1182, 
--0x1169, 0x116E, 0x1183, 
--0x1169, 0x1175, 0x116C, 
--0x116A, 0x1175, 0x116B, 
--0x116D, 0x1163, 0x1184, 
--0x116D, 0x1164, 0x1185, 
--0x116D, 0x1167, 0x1186, 
--0x116D, 0x1169, 0x1187, 
--0x116D, 0x1175, 0x1188, 
--0x116E, 0x1161, 0x1189, 
--0x116E, 0x1162, 0x118A, 
--0x116E, 0x1165, 0x116F, 
--0x116E, 0x1166, 0x1170, 
--0x116E, 0x1168, 0x118C, 
--0x116E, 0x116E, 0x118D, 
--0x116E, 0x1175, 0x1171, 
--0x116E, 0x117C, 0x118B, 
--0x116F, 0x1173, 0x118B, 
--0x116F, 0x1175, 0x1170, 
--0x1172, 0x1161, 0x118E, 
--0x1172, 0x1165, 0x118F, 
--0x1172, 0x1166, 0x1190, 
--0x1172, 0x1167, 0x1191, 
--0x1172, 0x1168, 0x1192, 
--0x1172, 0x116E, 0x1193, 
--0x1172, 0x1175, 0x1194, 
--0x1173, 0x116E, 0x1195, 
--0x1173, 0x1173, 0x1196, 
--0x1173, 0x1175, 0x1174, 
--0x1174, 0x116E, 0x1197, 
--0x1175, 0x1161, 0x1198, 
--0x1175, 0x1163, 0x1199, 
--0x1175, 0x1169, 0x119A, 
--0x1175, 0x116E, 0x119B, 
--0x1175, 0x1173, 0x119C, 
--0x1175, 0x119E, 0x119D, 
--0x119E, 0x1165, 0x119F, 
--0x119E, 0x116E, 0x11A0, 
--0x119E, 0x1175, 0x11A1, 
--0x119E, 0x119E, 0x11A2, 
--0x11A8, 0x11A8, 0x11A9, 
--0x11A8, 0x11AF, 0x11C3, 
--0x11A8, 0x11BA, 0x11AA, 
--0x11A8, 0x11E7, 0x11C4, 
--0x11AA, 0x11A8, 0x11C4, 
--0x11AB, 0x11A8, 0x11C5, 
--0x11AB, 0x11AE, 0x11C6, 
--0x11AB, 0x11BA, 0x11C7, 
--0x11AB, 0x11BD, 0x11AC, 
--0x11AB, 0x11C0, 0x11C9, 
--0x11AB, 0x11C2, 0x11AD, 
--0x11AB, 0x11EB, 0x11C8, 
--0x11AE, 0x11A8, 0x11CA, 
--0x11AE, 0x11AF, 0x11CB, 
--0x11AF, 0x11A8, 0x11B0, 
--0x11AF, 0x11AA, 0x11CC, 
--0x11AF, 0x11AB, 0x11CD, 
--0x11AF, 0x11AE, 0x11CE, 
--0x11AF, 0x11AF, 0x11D0, 
--0x11AF, 0x11B7, 0x11B1, 
--0x11AF, 0x11B8, 0x11B2, 
--0x11AF, 0x11B9, 0x11D3, 
--0x11AF, 0x11BA, 0x11B3, 
--0x11AF, 0x11BB, 0x11D6, 
--0x11AF, 0x11BF, 0x11D8, 
--0x11AF, 0x11C0, 0x11B4, 
--0x11AF, 0x11C1, 0x11B5, 
--0x11AF, 0x11C2, 0x11B6, 
--0x11AF, 0x11DA, 0x11D1, 
--0x11AF, 0x11DD, 0x11D2, 
--0x11AF, 0x11E5, 0x11D4, 
--0x11AF, 0x11E6, 0x11D5, 
--0x11AF, 0x11EB, 0x11D7, 
--0x11AF, 0x11F9, 0x11D9, 
--0x11B0, 0x11BA, 0x11CC, 
--0x11B1, 0x11A8, 0x11D1, 
--0x11B1, 0x11BA, 0x11D2, 
--0x11B2, 0x11BA, 0x11D3, 
--0x11B2, 0x11BC, 0x11D5, 
--0x11B2, 0x11C2, 0x11D4, 
--0x11B3, 0x11BA, 0x11D6, 
--0x11B7, 0x11A8, 0x11DA, 
--0x11B7, 0x11AF, 0x11DB, 
--0x11B7, 0x11B8, 0x11DC, 
--0x11B7, 0x11BA, 0x11DD, 
--0x11B7, 0x11BB, 0x11DE, 
--0x11B7, 0x11BC, 0x11E2, 
--0x11B7, 0x11BE, 0x11E0, 
--0x11B7, 0x11C2, 0x11E1, 
--0x11B7, 0x11EB, 0x11DF, 
--0x11B8, 0x11AF, 0x11E3, 
--0x11B8, 0x11BA, 0x11B9, 
--0x11B8, 0x11BC, 0x11E6, 
--0x11B8, 0x11C1, 0x11E4, 
--0x11B8, 0x11C2, 0x11E5, 
--0x11BA, 0x11A8, 0x11E7, 
--0x11BA, 0x11AE, 0x11E8, 
--0x11BA, 0x11AF, 0x11E9, 
--0x11BA, 0x11B8, 0x11EA, 
--0x11BA, 0x11BA, 0x11BB, 
--0x11BC, 0x11A8, 0x11EC, 
--0x11BC, 0x11A9, 0x11ED, 
--0x11BC, 0x11BC, 0x11EE, 
--0x11BC, 0x11BF, 0x11EF, 
--0x11C1, 0x11B8, 0x11F3, 
--0x11C1, 0x11BC, 0x11F4, 
--0x11C2, 0x11AB, 0x11F5, 
--0x11C2, 0x11AF, 0x11F6, 
--0x11C2, 0x11B7, 0x11F7, 
--0x11C2, 0x11B8, 0x11F8, 
--0x11CE, 0x11C2, 0x11CF, 
--0x11DD, 0x11BA, 0x11DE, 
--0x11EC, 0x11A8, 0x11ED, 
--0x11F0, 0x11BA, 0x11F1, 
--0x11F0, 0x11EB, 0x11F2, 
--0x1FBF, IBUS_KEY_apostrophe, 0x1FCE, 
--0x1FBF, IBUS_KEY_grave, 0x1FCD, 
--0x1FBF, IBUS_KEY_asciitilde, 0x1FCF, 
--0x1FBF, IBUS_KEY_acute, 0x1FCE, 
--0x1FBF, IBUS_KEY_dead_grave, 0x1FCD, 
--0x1FBF, IBUS_KEY_dead_acute, 0x1FCE, 
--0x1FBF, IBUS_KEY_dead_tilde, 0x1FCF, 
--0x1FFE, IBUS_KEY_apostrophe, 0x1FDE, 
--0x1FFE, IBUS_KEY_grave, 0x1FDD, 
--0x1FFE, IBUS_KEY_asciitilde, 0x1FDF, 
--0x1FFE, IBUS_KEY_acute, 0x1FDE, 
--0x1FFE, IBUS_KEY_dead_grave, 0x1FDD, 
--0x1FFE, IBUS_KEY_dead_acute, 0x1FDE, 
--0x1FFE, IBUS_KEY_dead_tilde, 0x1FDF, 
--0x2190, IBUS_KEY_bar, 0x2345, 
--0x2190, 0x2395, 0x2347, 
--0x2191, IBUS_KEY_minus, 0x234F, 
--0x2191, 0x2395, 0x2350, 
--0x2192, IBUS_KEY_bar, 0x2346, 
--0x2192, 0x2395, 0x2348, 
--0x2193, IBUS_KEY_minus, 0x2356, 
--0x2193, 0x2395, 0x2357, 
--0x2203, 0x0338, 0x2204, 
--0x2206, IBUS_KEY_underscore, 0x2359, 
--0x2206, IBUS_KEY_bar, 0x234B, 
--0x2206, 0x2395, 0x234D, 
--0x2207, IBUS_KEY_bar, 0x2352, 
--0x2207, IBUS_KEY_asciitilde, 0x236B, 
--0x2207, IBUS_KEY_diaeresis, 0x2362, 
--0x2207, 0x2395, 0x2354, 
--0x2208, 0x0338, 0x2209, 
--0x220A, IBUS_KEY_underscore, 0x2377, 
--0x220B, 0x0338, 0x220C, 
--0x2218, IBUS_KEY_underscore, 0x235B, 
--0x2218, IBUS_KEY_diaeresis, 0x2364, 
--0x2218, 0x2229, 0x235D, 
--0x2218, IBUS_KEY_uptack, 0x2355, 
--0x2218, IBUS_KEY_downtack, 0x234E, 
--0x2218, 0x2395, 0x233B, 
--0x2218, IBUS_KEY_emopencircle, 0x233E, 
--0x2223, 0x0338, 0x2224, 
--0x2225, 0x0338, 0x2226, 
--0x2227, IBUS_KEY_asciitilde, 0x2372, 
--0x2227, 0x2228, 0x22C4, 
--0x2227, 0x2395, 0x2353, 
--0x2228, IBUS_KEY_asciitilde, 0x2371, 
--0x2228, 0x2227, 0x22C4, 
--0x2228, 0x2395, 0x234C, 
--0x2229, 0x2218, 0x235D, 
--IBUS_KEY_union, IBUS_KEY_bar, 0x2366, 
--0x223C, 0x0338, 0x2241, 
--0x2243, 0x0338, 0x2244, 
--0x2248, 0x0338, 0x2249, 
--0x224D, 0x0338, 0x226D, 
--0x2260, IBUS_KEY_underscore, 0x2262, 
--0x2260, 0x2395, 0x236F, 
--0x2272, 0x0338, 0x2274, 
--0x2273, 0x0338, 0x2275, 
--0x2276, 0x0338, 0x2278, 
--0x2277, 0x0338, 0x2279, 
--0x227A, 0x0338, 0x2280, 
--0x227B, 0x0338, 0x2281, 
--0x227C, 0x0338, 0x22E0, 
--0x227D, 0x0338, 0x22E1, 
--0x2282, IBUS_KEY_underscore, 0x2286, 
--0x2282, IBUS_KEY_bar, 0x2367, 
--0x2283, IBUS_KEY_underscore, 0x2287, 
--0x2286, 0x0338, 0x2288, 
--0x2287, 0x0338, 0x2289, 
--0x2291, 0x0338, 0x22E2, 
--0x2292, 0x0338, 0x22E3, 
--IBUS_KEY_uptack, IBUS_KEY_diaeresis, 0x2361, 
--IBUS_KEY_uptack, IBUS_KEY_macron, 0x2351, 
--IBUS_KEY_uptack, 0x2218, 0x2355, 
--IBUS_KEY_uptack, IBUS_KEY_downtack, 0x2336, 
--IBUS_KEY_downtack, IBUS_KEY_underscore, 0x234A, 
--IBUS_KEY_downtack, 0x2218, 0x234E, 
--IBUS_KEY_downtack, IBUS_KEY_uptack, 0x2336, 
--0x22A8, 0x0338, 0x22AD, 
--0x22A9, 0x0338, 0x22AE, 
--0x22AB, 0x0338, 0x22AF, 
--0x22B2, 0x0338, 0x22EA, 
--0x22B3, 0x0338, 0x22EB, 
--0x22B4, 0x0338, 0x22EC, 
--0x22B5, 0x0338, 0x22ED, 
--0x22C4, IBUS_KEY_underscore, 0x235A, 
--0x22C4, 0x2395, 0x233A, 
--0x2373, IBUS_KEY_underscore, 0x2378, 
--0x2375, IBUS_KEY_underscore, 0x2379, 
--0x237A, IBUS_KEY_underscore, 0x2376, 
--0x2395, IBUS_KEY_apostrophe, 0x235E, 
--0x2395, IBUS_KEY_slash, 0x2341, 
--0x2395, IBUS_KEY_colon, 0x2360, 
--0x2395, IBUS_KEY_less, 0x2343, 
--0x2395, IBUS_KEY_equal, 0x2338, 
--0x2395, IBUS_KEY_greater, 0x2344, 
--0x2395, IBUS_KEY_question, 0x2370, 
--0x2395, IBUS_KEY_backslash, 0x2342, 
--0x2395, IBUS_KEY_division, 0x2339, 
--0x2395, 0x2190, 0x2347, 
--0x2395, 0x2191, 0x2350, 
--0x2395, 0x2192, 0x2348, 
--0x2395, 0x2193, 0x2357, 
--0x2395, 0x2206, 0x234D, 
--0x2395, 0x2207, 0x2354, 
--0x2395, 0x2218, 0x233B, 
--0x2395, 0x2227, 0x2353, 
--0x2395, 0x2228, 0x234C, 
--0x2395, 0x2260, 0x236F, 
--0x2395, 0x22C4, 0x233A, 
--0x2395, IBUS_KEY_emopencircle, 0x233C, 
--IBUS_KEY_emopencircle, IBUS_KEY_asterisk, 0x235F, 
--IBUS_KEY_emopencircle, IBUS_KEY_minus, 0x2296, 
--IBUS_KEY_emopencircle, IBUS_KEY_period, 0x2299, 
--IBUS_KEY_emopencircle, IBUS_KEY_backslash, 0x2349, 
--IBUS_KEY_emopencircle, IBUS_KEY_underscore, 0x235C, 
--IBUS_KEY_emopencircle, IBUS_KEY_bar, 0x233D, 
--IBUS_KEY_emopencircle, IBUS_KEY_diaeresis, 0x2365, 
--IBUS_KEY_emopencircle, 0x2218, 0x233E, 
--IBUS_KEY_emopencircle, 0x2395, 0x233C, 
--0x2ADD, 0x0338, 0x2ADC, 
--IBUS_KEY_KP_Divide, IBUS_KEY_D, 0x0110, 
--IBUS_KEY_KP_Divide, IBUS_KEY_G, 0x01E4, 
--IBUS_KEY_KP_Divide, IBUS_KEY_H, 0x0126, 
--IBUS_KEY_KP_Divide, IBUS_KEY_I, 0x0197, 
--IBUS_KEY_KP_Divide, IBUS_KEY_L, 0x0141, 
--IBUS_KEY_KP_Divide, IBUS_KEY_O, 0x00D8, 
--IBUS_KEY_KP_Divide, IBUS_KEY_T, 0x0166, 
--IBUS_KEY_KP_Divide, IBUS_KEY_Z, 0x01B5, 
--IBUS_KEY_KP_Divide, IBUS_KEY_b, 0x0180, 
--IBUS_KEY_KP_Divide, IBUS_KEY_d, 0x0111, 
--IBUS_KEY_KP_Divide, IBUS_KEY_g, 0x01E5, 
--IBUS_KEY_KP_Divide, IBUS_KEY_h, 0x0127, 
--IBUS_KEY_KP_Divide, IBUS_KEY_i, 0x0268, 
--IBUS_KEY_KP_Divide, IBUS_KEY_l, 0x0142, 
--IBUS_KEY_KP_Divide, IBUS_KEY_o, 0x00F8, 
--IBUS_KEY_KP_Divide, IBUS_KEY_t, 0x0167, 
--IBUS_KEY_KP_Divide, IBUS_KEY_z, 0x01B6, 
--IBUS_KEY_KP_Divide, 0x0294, 0x02A1, 
--IBUS_KEY_KP_Divide, 0x04AE, 0x04B0, 
--IBUS_KEY_KP_Divide, 0x04AF, 0x04B1, 
--IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_ghe, 0x0493, 
--IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_ka, 0x049F, 
--IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_GHE, 0x0492, 
--IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_KA, 0x049E, 
--IBUS_KEY_KP_Divide, IBUS_KEY_leftarrow, 0x219A, 
--IBUS_KEY_KP_Divide, IBUS_KEY_rightarrow, 0x219B, 
--IBUS_KEY_KP_Divide, 0x2194, 0x21AE, 
--IBUS_KEY_KP_Equal, 0x0338, 0x2260, 
--IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_O, 0x1EE2, 
--IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_U, 0x1EF0, 
--IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_o, 0x1EE3, 
--IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_u, 0x1EF1, 
--IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EE2, 
--IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EF0, 
--IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EE3, 
--IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EF1, 
--IBUS_KEY_quotedbl, IBUS_KEY_underscore, IBUS_KEY_U, 0x1E7A, 
--IBUS_KEY_quotedbl, IBUS_KEY_underscore, IBUS_KEY_u, 0x1E7B, 
--IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4E, 
--IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4F, 
--IBUS_KEY_quotedbl, IBUS_KEY_macron, IBUS_KEY_U, 0x1E7A, 
--IBUS_KEY_quotedbl, IBUS_KEY_macron, IBUS_KEY_u, 0x1E7B, 
--IBUS_KEY_quotedbl, IBUS_KEY_dead_tilde, IBUS_KEY_O, 0x1E4E, 
--IBUS_KEY_quotedbl, IBUS_KEY_dead_tilde, IBUS_KEY_o, 0x1E4F, 
--IBUS_KEY_quotedbl, IBUS_KEY_dead_macron, IBUS_KEY_U, 0x1E7A, 
--IBUS_KEY_quotedbl, IBUS_KEY_dead_macron, IBUS_KEY_u, 0x1E7B, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_space, 0x0385, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_I, 0x1E2E, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D7, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_i, 0x1E2F, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D8, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDA, 
--IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_U, 0x1EE8, 
--IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDB, 
--IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_u, 0x1EE9, 
--IBUS_KEY_apostrophe, IBUS_KEY_slash, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_apostrophe, IBUS_KEY_slash, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA4, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EBE, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED0, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA5, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EBF, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED1, 
--IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_apostrophe, IBUS_KEY_b, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_apostrophe, IBUS_KEY_b, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4C, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_U, 0x1E78, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4D, 
--IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_u, 0x1E79, 
--IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_apostrophe, IBUS_KEY_cedilla, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_apostrophe, IBUS_KEY_cedilla, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_A, 0x1EA4, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0x1EBE, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_O, 0x1ED0, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_a, 0x1EA5, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_e, 0x1EBF, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_o, 0x1ED1, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_O, 0x1E4C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_U, 0x1E78, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_o, 0x1E4D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_u, 0x1E79, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_breve, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_breve, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_I, 0x1E2E, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D7, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_i, 0x1E2F, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01D8, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_abovering, IBUS_KEY_A, 0x01FA, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_abovering, IBUS_KEY_a, 0x01FB, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_cedilla, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_cedilla, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EDA, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EE8, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EDB, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EE9, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_apostrophe, IBUS_KEY_KP_Divide, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_apostrophe, IBUS_KEY_KP_Divide, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_parenleft, IBUS_KEY_0, IBUS_KEY_parenright, 0x24EA, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_parenright, 0x2460, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_parenright, 0x2461, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_parenright, 0x2462, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_parenright, 0x2463, 
--IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_parenright, 0x2464, 
--IBUS_KEY_parenleft, IBUS_KEY_6, IBUS_KEY_parenright, 0x2465, 
--IBUS_KEY_parenleft, IBUS_KEY_7, IBUS_KEY_parenright, 0x2466, 
--IBUS_KEY_parenleft, IBUS_KEY_8, IBUS_KEY_parenright, 0x2467, 
--IBUS_KEY_parenleft, IBUS_KEY_9, IBUS_KEY_parenright, 0x2468, 
--IBUS_KEY_parenleft, IBUS_KEY_A, IBUS_KEY_parenright, 0x24B6, 
--IBUS_KEY_parenleft, IBUS_KEY_B, IBUS_KEY_parenright, 0x24B7, 
--IBUS_KEY_parenleft, IBUS_KEY_C, IBUS_KEY_parenright, 0x24B8, 
--IBUS_KEY_parenleft, IBUS_KEY_D, IBUS_KEY_parenright, 0x24B9, 
--IBUS_KEY_parenleft, IBUS_KEY_E, IBUS_KEY_parenright, 0x24BA, 
--IBUS_KEY_parenleft, IBUS_KEY_F, IBUS_KEY_parenright, 0x24BB, 
--IBUS_KEY_parenleft, IBUS_KEY_G, IBUS_KEY_parenright, 0x24BC, 
--IBUS_KEY_parenleft, IBUS_KEY_H, IBUS_KEY_parenright, 0x24BD, 
--IBUS_KEY_parenleft, IBUS_KEY_I, IBUS_KEY_parenright, 0x24BE, 
--IBUS_KEY_parenleft, IBUS_KEY_J, IBUS_KEY_parenright, 0x24BF, 
--IBUS_KEY_parenleft, IBUS_KEY_K, IBUS_KEY_parenright, 0x24C0, 
--IBUS_KEY_parenleft, IBUS_KEY_L, IBUS_KEY_parenright, 0x24C1, 
--IBUS_KEY_parenleft, IBUS_KEY_M, IBUS_KEY_parenright, 0x24C2, 
--IBUS_KEY_parenleft, IBUS_KEY_N, IBUS_KEY_parenright, 0x24C3, 
--IBUS_KEY_parenleft, IBUS_KEY_O, IBUS_KEY_parenright, 0x24C4, 
--IBUS_KEY_parenleft, IBUS_KEY_P, IBUS_KEY_parenright, 0x24C5, 
--IBUS_KEY_parenleft, IBUS_KEY_Q, IBUS_KEY_parenright, 0x24C6, 
--IBUS_KEY_parenleft, IBUS_KEY_R, IBUS_KEY_parenright, 0x24C7, 
--IBUS_KEY_parenleft, IBUS_KEY_S, IBUS_KEY_parenright, 0x24C8, 
--IBUS_KEY_parenleft, IBUS_KEY_T, IBUS_KEY_parenright, 0x24C9, 
--IBUS_KEY_parenleft, IBUS_KEY_U, IBUS_KEY_parenright, 0x24CA, 
--IBUS_KEY_parenleft, IBUS_KEY_V, IBUS_KEY_parenright, 0x24CB, 
--IBUS_KEY_parenleft, IBUS_KEY_W, IBUS_KEY_parenright, 0x24CC, 
--IBUS_KEY_parenleft, IBUS_KEY_X, IBUS_KEY_parenright, 0x24CD, 
--IBUS_KEY_parenleft, IBUS_KEY_Y, IBUS_KEY_parenright, 0x24CE, 
--IBUS_KEY_parenleft, IBUS_KEY_Z, IBUS_KEY_parenright, 0x24CF, 
--IBUS_KEY_parenleft, IBUS_KEY_a, IBUS_KEY_parenright, 0x24D0, 
--IBUS_KEY_parenleft, IBUS_KEY_b, IBUS_KEY_parenright, 0x24D1, 
--IBUS_KEY_parenleft, IBUS_KEY_c, IBUS_KEY_parenright, 0x24D2, 
--IBUS_KEY_parenleft, IBUS_KEY_d, IBUS_KEY_parenright, 0x24D3, 
--IBUS_KEY_parenleft, IBUS_KEY_e, IBUS_KEY_parenright, 0x24D4, 
--IBUS_KEY_parenleft, IBUS_KEY_f, IBUS_KEY_parenright, 0x24D5, 
--IBUS_KEY_parenleft, IBUS_KEY_g, IBUS_KEY_parenright, 0x24D6, 
--IBUS_KEY_parenleft, IBUS_KEY_h, IBUS_KEY_parenright, 0x24D7, 
--IBUS_KEY_parenleft, IBUS_KEY_i, IBUS_KEY_parenright, 0x24D8, 
--IBUS_KEY_parenleft, IBUS_KEY_j, IBUS_KEY_parenright, 0x24D9, 
--IBUS_KEY_parenleft, IBUS_KEY_k, IBUS_KEY_parenright, 0x24DA, 
--IBUS_KEY_parenleft, IBUS_KEY_l, IBUS_KEY_parenright, 0x24DB, 
--IBUS_KEY_parenleft, IBUS_KEY_m, IBUS_KEY_parenright, 0x24DC, 
--IBUS_KEY_parenleft, IBUS_KEY_n, IBUS_KEY_parenright, 0x24DD, 
--IBUS_KEY_parenleft, IBUS_KEY_o, IBUS_KEY_parenright, 0x24DE, 
--IBUS_KEY_parenleft, IBUS_KEY_p, IBUS_KEY_parenright, 0x24DF, 
--IBUS_KEY_parenleft, IBUS_KEY_q, IBUS_KEY_parenright, 0x24E0, 
--IBUS_KEY_parenleft, IBUS_KEY_r, IBUS_KEY_parenright, 0x24E1, 
--IBUS_KEY_parenleft, IBUS_KEY_s, IBUS_KEY_parenright, 0x24E2, 
--IBUS_KEY_parenleft, IBUS_KEY_t, IBUS_KEY_parenright, 0x24E3, 
--IBUS_KEY_parenleft, IBUS_KEY_u, IBUS_KEY_parenright, 0x24E4, 
--IBUS_KEY_parenleft, IBUS_KEY_v, IBUS_KEY_parenright, 0x24E5, 
--IBUS_KEY_parenleft, IBUS_KEY_w, IBUS_KEY_parenright, 0x24E6, 
--IBUS_KEY_parenleft, IBUS_KEY_x, IBUS_KEY_parenright, 0x24E7, 
--IBUS_KEY_parenleft, IBUS_KEY_y, IBUS_KEY_parenright, 0x24E8, 
--IBUS_KEY_parenleft, IBUS_KEY_z, IBUS_KEY_parenright, 0x24E9, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_WO, IBUS_KEY_parenright, 0x32FE, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_A, IBUS_KEY_parenright, 0x32D0, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_I, IBUS_KEY_parenright, 0x32D1, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_U, IBUS_KEY_parenright, 0x32D2, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_E, IBUS_KEY_parenright, 0x32D3, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_O, IBUS_KEY_parenright, 0x32D4, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_KA, IBUS_KEY_parenright, 0x32D5, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_KI, IBUS_KEY_parenright, 0x32D6, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_KU, IBUS_KEY_parenright, 0x32D7, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_KE, IBUS_KEY_parenright, 0x32D8, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_KO, IBUS_KEY_parenright, 0x32D9, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_SA, IBUS_KEY_parenright, 0x32DA, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_SHI, IBUS_KEY_parenright, 0x32DB, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_SU, IBUS_KEY_parenright, 0x32DC, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_SE, IBUS_KEY_parenright, 0x32DD, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_SO, IBUS_KEY_parenright, 0x32DE, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_TA, IBUS_KEY_parenright, 0x32DF, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_CHI, IBUS_KEY_parenright, 0x32E0, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_TSU, IBUS_KEY_parenright, 0x32E1, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_TE, IBUS_KEY_parenright, 0x32E2, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_TO, IBUS_KEY_parenright, 0x32E3, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_NA, IBUS_KEY_parenright, 0x32E4, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_NI, IBUS_KEY_parenright, 0x32E5, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_NU, IBUS_KEY_parenright, 0x32E6, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_NE, IBUS_KEY_parenright, 0x32E7, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_NO, IBUS_KEY_parenright, 0x32E8, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_HA, IBUS_KEY_parenright, 0x32E9, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_HI, IBUS_KEY_parenright, 0x32EA, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_FU, IBUS_KEY_parenright, 0x32EB, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_HE, IBUS_KEY_parenright, 0x32EC, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_HO, IBUS_KEY_parenright, 0x32ED, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_MA, IBUS_KEY_parenright, 0x32EE, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_MI, IBUS_KEY_parenright, 0x32EF, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_MU, IBUS_KEY_parenright, 0x32F0, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_ME, IBUS_KEY_parenright, 0x32F1, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_MO, IBUS_KEY_parenright, 0x32F2, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_YA, IBUS_KEY_parenright, 0x32F3, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_YU, IBUS_KEY_parenright, 0x32F4, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_YO, IBUS_KEY_parenright, 0x32F5, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_RA, IBUS_KEY_parenright, 0x32F6, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_RI, IBUS_KEY_parenright, 0x32F7, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_RU, IBUS_KEY_parenright, 0x32F8, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_RE, IBUS_KEY_parenright, 0x32F9, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_RO, IBUS_KEY_parenright, 0x32FA, 
--IBUS_KEY_parenleft, IBUS_KEY_kana_WA, IBUS_KEY_parenright, 0x32FB, 
--IBUS_KEY_parenleft, 0x1100, IBUS_KEY_parenright, 0x3260, 
--IBUS_KEY_parenleft, 0x1102, IBUS_KEY_parenright, 0x3261, 
--IBUS_KEY_parenleft, 0x1103, IBUS_KEY_parenright, 0x3262, 
--IBUS_KEY_parenleft, 0x1105, IBUS_KEY_parenright, 0x3263, 
--IBUS_KEY_parenleft, 0x1106, IBUS_KEY_parenright, 0x3264, 
--IBUS_KEY_parenleft, 0x1107, IBUS_KEY_parenright, 0x3265, 
--IBUS_KEY_parenleft, 0x1109, IBUS_KEY_parenright, 0x3266, 
--IBUS_KEY_parenleft, 0x110B, IBUS_KEY_parenright, 0x3267, 
--IBUS_KEY_parenleft, 0x110C, IBUS_KEY_parenright, 0x3268, 
--IBUS_KEY_parenleft, 0x110E, IBUS_KEY_parenright, 0x3269, 
--IBUS_KEY_parenleft, 0x110F, IBUS_KEY_parenright, 0x326A, 
--IBUS_KEY_parenleft, 0x1110, IBUS_KEY_parenright, 0x326B, 
--IBUS_KEY_parenleft, 0x1111, IBUS_KEY_parenright, 0x326C, 
--IBUS_KEY_parenleft, 0x1112, IBUS_KEY_parenright, 0x326D, 
--IBUS_KEY_parenleft, 0x30F0, IBUS_KEY_parenright, 0x32FC, 
--IBUS_KEY_parenleft, 0x30F1, IBUS_KEY_parenright, 0x32FD, 
--IBUS_KEY_parenleft, 0x4E00, IBUS_KEY_parenright, 0x3280, 
--IBUS_KEY_parenleft, 0x4E03, IBUS_KEY_parenright, 0x3286, 
--IBUS_KEY_parenleft, 0x4E09, IBUS_KEY_parenright, 0x3282, 
--IBUS_KEY_parenleft, 0x4E0A, IBUS_KEY_parenright, 0x32A4, 
--IBUS_KEY_parenleft, 0x4E0B, IBUS_KEY_parenright, 0x32A6, 
--IBUS_KEY_parenleft, 0x4E2D, IBUS_KEY_parenright, 0x32A5, 
--IBUS_KEY_parenleft, 0x4E5D, IBUS_KEY_parenright, 0x3288, 
--IBUS_KEY_parenleft, 0x4E8C, IBUS_KEY_parenright, 0x3281, 
--IBUS_KEY_parenleft, 0x4E94, IBUS_KEY_parenright, 0x3284, 
--IBUS_KEY_parenleft, 0x4F01, IBUS_KEY_parenright, 0x32AD, 
--IBUS_KEY_parenleft, 0x4F11, IBUS_KEY_parenright, 0x32A1, 
--IBUS_KEY_parenleft, 0x512A, IBUS_KEY_parenright, 0x329D, 
--IBUS_KEY_parenleft, 0x516B, IBUS_KEY_parenright, 0x3287, 
--IBUS_KEY_parenleft, 0x516D, IBUS_KEY_parenright, 0x3285, 
--IBUS_KEY_parenleft, 0x5199, IBUS_KEY_parenright, 0x32A2, 
--IBUS_KEY_parenleft, 0x52B4, IBUS_KEY_parenright, 0x3298, 
--IBUS_KEY_parenleft, 0x533B, IBUS_KEY_parenright, 0x32A9, 
--IBUS_KEY_parenleft, 0x5341, IBUS_KEY_parenright, 0x3289, 
--IBUS_KEY_parenleft, 0x5354, IBUS_KEY_parenright, 0x32AF, 
--IBUS_KEY_parenleft, 0x5370, IBUS_KEY_parenright, 0x329E, 
--IBUS_KEY_parenleft, 0x53F3, IBUS_KEY_parenright, 0x32A8, 
--IBUS_KEY_parenleft, 0x540D, IBUS_KEY_parenright, 0x3294, 
--IBUS_KEY_parenleft, 0x56DB, IBUS_KEY_parenright, 0x3283, 
--IBUS_KEY_parenleft, 0x571F, IBUS_KEY_parenright, 0x328F, 
--IBUS_KEY_parenleft, 0x591C, IBUS_KEY_parenright, 0x32B0, 
--IBUS_KEY_parenleft, 0x5973, IBUS_KEY_parenright, 0x329B, 
--IBUS_KEY_parenleft, 0x5B66, IBUS_KEY_parenright, 0x32AB, 
--IBUS_KEY_parenleft, 0x5B97, IBUS_KEY_parenright, 0x32AA, 
--IBUS_KEY_parenleft, 0x5DE6, IBUS_KEY_parenright, 0x32A7, 
--IBUS_KEY_parenleft, 0x65E5, IBUS_KEY_parenright, 0x3290, 
--IBUS_KEY_parenleft, 0x6708, IBUS_KEY_parenright, 0x328A, 
--IBUS_KEY_parenleft, 0x6709, IBUS_KEY_parenright, 0x3292, 
--IBUS_KEY_parenleft, 0x6728, IBUS_KEY_parenright, 0x328D, 
--IBUS_KEY_parenleft, 0x682A, IBUS_KEY_parenright, 0x3291, 
--IBUS_KEY_parenleft, 0x6B63, IBUS_KEY_parenright, 0x32A3, 
--IBUS_KEY_parenleft, 0x6C34, IBUS_KEY_parenright, 0x328C, 
--IBUS_KEY_parenleft, 0x6CE8, IBUS_KEY_parenright, 0x329F, 
--IBUS_KEY_parenleft, 0x706B, IBUS_KEY_parenright, 0x328B, 
--IBUS_KEY_parenleft, 0x7279, IBUS_KEY_parenright, 0x3295, 
--IBUS_KEY_parenleft, 0x7537, IBUS_KEY_parenright, 0x329A, 
--IBUS_KEY_parenleft, 0x76E3, IBUS_KEY_parenright, 0x32AC, 
--IBUS_KEY_parenleft, 0x793E, IBUS_KEY_parenright, 0x3293, 
--IBUS_KEY_parenleft, 0x795D, IBUS_KEY_parenright, 0x3297, 
--IBUS_KEY_parenleft, 0x79D8, IBUS_KEY_parenright, 0x3299, 
--IBUS_KEY_parenleft, 0x8CA1, IBUS_KEY_parenright, 0x3296, 
--IBUS_KEY_parenleft, 0x8CC7, IBUS_KEY_parenright, 0x32AE, 
--IBUS_KEY_parenleft, 0x9069, IBUS_KEY_parenright, 0x329C, 
--IBUS_KEY_parenleft, 0x91D1, IBUS_KEY_parenright, 0x328E, 
--IBUS_KEY_parenleft, 0x9805, IBUS_KEY_parenright, 0x32A0, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x2461, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x24EA, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x2460, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x2461, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x2462, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x2463, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x2464, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x2465, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x2466, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x2467, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x2468, 
--IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_A, 0x01FA, 
--IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_a, 0x01FB, 
--IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_space, 0x00AD, 
--IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_minus, 0x2014, 
--IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_period, 0x2013, 
--IBUS_KEY_period, IBUS_KEY_exclam, IBUS_KEY_S, 0x1E68, 
--IBUS_KEY_period, IBUS_KEY_exclam, IBUS_KEY_s, 0x1E69, 
--IBUS_KEY_period, IBUS_KEY_apostrophe, IBUS_KEY_S, 0x1E64, 
--IBUS_KEY_period, IBUS_KEY_apostrophe, IBUS_KEY_s, 0x1E65, 
--IBUS_KEY_period, IBUS_KEY_acute, IBUS_KEY_S, 0x1E64, 
--IBUS_KEY_period, IBUS_KEY_acute, IBUS_KEY_s, 0x1E65, 
--IBUS_KEY_period, IBUS_KEY_dead_acute, IBUS_KEY_S, 0x1E64, 
--IBUS_KEY_period, IBUS_KEY_dead_acute, IBUS_KEY_s, 0x1E65, 
--IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_S, 0x1E66, 
--IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_s, 0x1E67, 
--IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_S, 0x1E68, 
--IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_s, 0x1E69, 
--IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_0, 0x2152, 
--IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDE, 
--IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEC, 
--IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDF, 
--IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_u, 0x1EED, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA8, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC2, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED4, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA9, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC3, 
--IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED5, 
--IBUS_KEY_question, IBUS_KEY_b, IBUS_KEY_A, 0x1EB2, 
--IBUS_KEY_question, IBUS_KEY_b, IBUS_KEY_a, 0x1EB3, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_A, 0x1EA8, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0x1EC2, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_O, 0x1ED4, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_a, 0x1EA9, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_e, 0x1EC3, 
--IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_o, 0x1ED5, 
--IBUS_KEY_question, IBUS_KEY_dead_breve, IBUS_KEY_A, 0x1EB2, 
--IBUS_KEY_question, IBUS_KEY_dead_breve, IBUS_KEY_a, 0x1EB3, 
--IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EDE, 
--IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EEC, 
--IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EDF, 
--IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EED, 
--IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EB6, 
--IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EB7, 
--IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_U, IBUS_KEY_dead_cedilla, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_U, IBUS_KEY_dead_cedilla, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_U, IBUS_KEY_dead_belowdot, IBUS_KEY_A, 0x1EB6, 
--IBUS_KEY_U, IBUS_KEY_dead_belowdot, IBUS_KEY_a, 0x1EB7, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EAC, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_E, 0x1EC6, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_O, 0x1ED8, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EAD, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_e, 0x1EC7, 
--IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_o, 0x1ED9, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_a, 0x00AA, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_h, 0x02B0, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_i, 0x2071, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_j, 0x02B2, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_l, 0x02E1, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_n, 0x207F, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_o, 0x00BA, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_r, 0x02B3, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_s, 0x02E2, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_w, 0x02B7, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_x, 0x02E3, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_y, 0x02B8, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0263, 0x02E0, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0266, 0x02B1, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0279, 0x02B4, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x027B, 0x02B5, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0281, 0x02B6, 
--IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0295, 0x02E4, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_a, 0x00AA, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_h, 0x02B0, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_i, 0x2071, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_j, 0x02B2, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_l, 0x02E1, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_n, 0x207F, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_o, 0x00BA, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_r, 0x02B3, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_s, 0x02E2, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_w, 0x02B7, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_x, 0x02E3, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_y, 0x02B8, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0263, 0x02E0, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0266, 0x02B1, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0279, 0x02B4, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x027B, 0x02B5, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0281, 0x02B6, 
--IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0295, 0x02E4, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_A, 0x1EAC, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_E, 0x1EC6, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_O, 0x1ED8, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_a, 0x1EAD, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_e, 0x1EC7, 
--IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_o, 0x1ED9, 
--IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_L, 0x1E38, 
--IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5C, 
--IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_l, 0x1E39, 
--IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_r, 0x1E5D, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_A, 0x01DE, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_O, 0x022A, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D5, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_a, 0x01DF, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_o, 0x022B, 
--IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D6, 
--IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_A, 0x01E0, 
--IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_O, 0x0230, 
--IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_a, 0x01E1, 
--IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_o, 0x0231, 
--IBUS_KEY_underscore, IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EC, 
--IBUS_KEY_underscore, IBUS_KEY_semicolon, IBUS_KEY_o, 0x01ED, 
--IBUS_KEY_underscore, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x022C, 
--IBUS_KEY_underscore, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x022D, 
--IBUS_KEY_underscore, IBUS_KEY_dead_tilde, IBUS_KEY_O, 0x022C, 
--IBUS_KEY_underscore, IBUS_KEY_dead_tilde, IBUS_KEY_o, 0x022D, 
--IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_A, 0x01E0, 
--IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_O, 0x0230, 
--IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_a, 0x01E1, 
--IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_o, 0x0231, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_A, 0x01DE, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_O, 0x022A, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D5, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_a, 0x01DF, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_o, 0x022B, 
--IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01D6, 
--IBUS_KEY_underscore, IBUS_KEY_dead_ogonek, IBUS_KEY_O, 0x01EC, 
--IBUS_KEY_underscore, IBUS_KEY_dead_ogonek, IBUS_KEY_o, 0x01ED, 
--IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_L, 0x1E38, 
--IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_R, 0x1E5C, 
--IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_l, 0x1E39, 
--IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_r, 0x1E5D, 
--IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01DB, 
--IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DC, 
--IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD2, 
--IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE2, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6B, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F03, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F13, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F23, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F33, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F43, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F53, 
--IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F63, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6A, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F02, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F12, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F22, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F32, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F42, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F52, 
--IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F62, 
--IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDC, 
--IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEA, 
--IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDD, 
--IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEB, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA6, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC0, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED2, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA7, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC1, 
--IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED3, 
--IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E14, 
--IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E50, 
--IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E15, 
--IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E51, 
--IBUS_KEY_grave, IBUS_KEY_b, IBUS_KEY_A, 0x1EB0, 
--IBUS_KEY_grave, IBUS_KEY_b, IBUS_KEY_a, 0x1EB1, 
--IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_E, 0x1E14, 
--IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_O, 0x1E50, 
--IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_e, 0x1E15, 
--IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_o, 0x1E51, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_A, 0x1EA6, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0x1EC0, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_O, 0x1ED2, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_a, 0x1EA7, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_e, 0x1EC1, 
--IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_o, 0x1ED3, 
--IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_E, 0x1E14, 
--IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_O, 0x1E50, 
--IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_e, 0x1E15, 
--IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_o, 0x1E51, 
--IBUS_KEY_grave, IBUS_KEY_dead_breve, IBUS_KEY_A, 0x1EB0, 
--IBUS_KEY_grave, IBUS_KEY_dead_breve, IBUS_KEY_a, 0x1EB1, 
--IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01DB, 
--IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01DC, 
--IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD2, 
--IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE2, 
--IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EDC, 
--IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EEA, 
--IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EDD, 
--IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EEB, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6A, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F02, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F12, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F22, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F32, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F42, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F52, 
--IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F62, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6B, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F03, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F13, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F23, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F33, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F43, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F53, 
--IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F63, 
--IBUS_KEY_b, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EB6, 
--IBUS_KEY_b, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EB7, 
--IBUS_KEY_b, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_b, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_b, IBUS_KEY_cedilla, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_b, IBUS_KEY_cedilla, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_b, IBUS_KEY_dead_cedilla, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_b, IBUS_KEY_dead_cedilla, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_b, IBUS_KEY_dead_belowdot, IBUS_KEY_A, 0x1EB6, 
--IBUS_KEY_b, IBUS_KEY_dead_belowdot, IBUS_KEY_a, 0x1EB7, 
--IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D9, 
--IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DA, 
--IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D9, 
--IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01DA, 
--IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD7, 
--IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE7, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0F, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2F, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3F, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5F, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6F, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F07, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F27, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F37, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F57, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F67, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0E, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2E, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3E, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6E, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F06, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F26, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F36, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F56, 
--IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F66, 
--IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_O, 0x1EE0, 
--IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEE, 
--IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_o, 0x1EE1, 
--IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEF, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EAA, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC4, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED6, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EAB, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC5, 
--IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED7, 
--IBUS_KEY_asciitilde, IBUS_KEY_b, IBUS_KEY_A, 0x1EB4, 
--IBUS_KEY_asciitilde, IBUS_KEY_b, IBUS_KEY_a, 0x1EB5, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_A, 0x1EAA, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0x1EC4, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_O, 0x1ED6, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_a, 0x1EAB, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_e, 0x1EC5, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_o, 0x1ED7, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_breve, IBUS_KEY_A, 0x1EB4, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_breve, IBUS_KEY_a, 0x1EB5, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD7, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE7, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EE0, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EEE, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EE1, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EEF, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0E, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2E, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3E, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6E, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F06, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F26, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F36, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F56, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F66, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0F, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2F, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3F, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5F, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6F, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F07, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F27, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F37, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F57, 
--IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F67, 
--IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_L, 0x1E38, 
--IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5C, 
--IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_l, 0x1E39, 
--IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_r, 0x1E5D, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_A, 0x01DE, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_O, 0x022A, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D5, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_a, 0x01DF, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_o, 0x022B, 
--IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D6, 
--IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_A, 0x01E0, 
--IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_O, 0x0230, 
--IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_a, 0x01E1, 
--IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_o, 0x0231, 
--IBUS_KEY_macron, IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EC, 
--IBUS_KEY_macron, IBUS_KEY_semicolon, IBUS_KEY_o, 0x01ED, 
--IBUS_KEY_macron, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x022C, 
--IBUS_KEY_macron, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x022D, 
--IBUS_KEY_macron, IBUS_KEY_dead_tilde, IBUS_KEY_O, 0x022C, 
--IBUS_KEY_macron, IBUS_KEY_dead_tilde, IBUS_KEY_o, 0x022D, 
--IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_A, 0x01E0, 
--IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_O, 0x0230, 
--IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_a, 0x01E1, 
--IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_o, 0x0231, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_A, 0x01DE, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_O, 0x022A, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D5, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_a, 0x01DF, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_o, 0x022B, 
--IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01D6, 
--IBUS_KEY_macron, IBUS_KEY_dead_ogonek, IBUS_KEY_O, 0x01EC, 
--IBUS_KEY_macron, IBUS_KEY_dead_ogonek, IBUS_KEY_o, 0x01ED, 
--IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_L, 0x1E38, 
--IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_R, 0x1E5C, 
--IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_l, 0x1E39, 
--IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_r, 0x1E5D, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_I, 0x1E2E, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D7, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_i, 0x1E2F, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D8, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDA, 
--IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_U, 0x1EE8, 
--IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDB, 
--IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_u, 0x1EE9, 
--IBUS_KEY_acute, IBUS_KEY_comma, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_acute, IBUS_KEY_comma, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_acute, IBUS_KEY_slash, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_acute, IBUS_KEY_slash, IBUS_KEY_o, 0x01FF, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA4, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EBE, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED0, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA5, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EBF, 
--IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED1, 
--IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_acute, IBUS_KEY_b, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_acute, IBUS_KEY_b, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4C, 
--IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_U, 0x1E78, 
--IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4D, 
--IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_u, 0x1E79, 
--IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_acute, IBUS_KEY_cedilla, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_acute, IBUS_KEY_cedilla, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_A, 0x1EA4, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0x1EBE, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_O, 0x1ED0, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_a, 0x1EA5, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_e, 0x1EBF, 
--IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_o, 0x1ED1, 
--IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_O, 0x1E4C, 
--IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_U, 0x1E78, 
--IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_o, 0x1E4D, 
--IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_u, 0x1E79, 
--IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_E, 0x1E16, 
--IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_O, 0x1E52, 
--IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_e, 0x1E17, 
--IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_o, 0x1E53, 
--IBUS_KEY_acute, IBUS_KEY_dead_breve, IBUS_KEY_A, 0x1EAE, 
--IBUS_KEY_acute, IBUS_KEY_dead_breve, IBUS_KEY_a, 0x1EAF, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_I, 0x1E2E, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D7, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_i, 0x1E2F, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01D8, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x0390, 
--IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x03B0, 
--IBUS_KEY_acute, IBUS_KEY_dead_abovering, IBUS_KEY_A, 0x01FA, 
--IBUS_KEY_acute, IBUS_KEY_dead_abovering, IBUS_KEY_a, 0x01FB, 
--IBUS_KEY_acute, IBUS_KEY_dead_cedilla, IBUS_KEY_C, 0x1E08, 
--IBUS_KEY_acute, IBUS_KEY_dead_cedilla, IBUS_KEY_c, 0x1E09, 
--IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_O, 0x1EDA, 
--IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_U, 0x1EE8, 
--IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EDB, 
--IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EE9, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6C, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F04, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F14, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F24, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F34, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F44, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F54, 
--IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F64, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6D, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F05, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F15, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F25, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F35, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F45, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F55, 
--IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F65, 
--IBUS_KEY_acute, IBUS_KEY_KP_Divide, IBUS_KEY_O, 0x01FE, 
--IBUS_KEY_acute, IBUS_KEY_KP_Divide, IBUS_KEY_o, 0x01FF, 
--0x05C1, 0x05BC, IBUS_KEY_hebrew_shin, 0xFB2C, 
--0x05C2, 0x05BC, IBUS_KEY_hebrew_shin, 0xFB2D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F00, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F01, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F08, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F09, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F20, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F21, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F28, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F29, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F60, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F61, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F68, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F69, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F89, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F99, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FA9, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F81, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F91, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA1, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F88, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F98, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FA8, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F80, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F90, 
--IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA0, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0x1FC2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0x1FF2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F00, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F01, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F08, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F09, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F20, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F21, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F28, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F29, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F60, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F61, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F68, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F69, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0x1FB7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0x1FC7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0x1FF7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F00, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F01, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F08, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F09, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F20, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F21, 0x1F97, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F28, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F29, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F60, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F61, 0x1FA7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F68, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F69, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F00, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F01, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F08, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F09, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F20, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F21, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F28, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F29, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F60, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F61, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F68, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F69, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0x1FC2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0x1FF2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F00, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F01, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F08, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F09, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F20, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F21, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F28, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F29, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F60, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F61, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F68, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F69, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0x1FC4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0x1FF4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F00, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F01, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F08, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F09, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F20, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F21, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F28, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F29, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F60, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F61, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F68, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F69, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0x1FB7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0x1FC7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0x1FF7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F00, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F01, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F08, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F09, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F20, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F21, 0x1F97, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F28, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F29, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F60, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F61, 0x1FA7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F68, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F69, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F88, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F98, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FA8, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F80, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F90, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA0, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F89, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F99, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FA9, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F81, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F91, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA1, 
--IBUS_KEY_dead_abovedot, IBUS_KEY_f, IBUS_KEY_s, 0x1E9B, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_0, IBUS_KEY_parenright, 0x2469, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_parenright, 0x246A, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_2, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_3, IBUS_KEY_parenright, 0x246C, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_4, IBUS_KEY_parenright, 0x246D, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_5, IBUS_KEY_parenright, 0x246E, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_6, IBUS_KEY_parenright, 0x246F, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_7, IBUS_KEY_parenright, 0x2470, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_8, IBUS_KEY_parenright, 0x2471, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_9, IBUS_KEY_parenright, 0x2472, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x2469, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x246A, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x246C, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x246D, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x246E, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x246F, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x2470, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x2471, 
--IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x2472, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_0, IBUS_KEY_parenright, 0x325A, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_1, IBUS_KEY_parenright, 0x325B, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_2, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_3, IBUS_KEY_parenright, 0x325D, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_4, IBUS_KEY_parenright, 0x325E, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_5, IBUS_KEY_parenright, 0x325F, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_6, IBUS_KEY_parenright, 0x32B1, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_7, IBUS_KEY_parenright, 0x32B2, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_8, IBUS_KEY_parenright, 0x32B3, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_9, IBUS_KEY_parenright, 0x32B4, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x325A, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x325B, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x325D, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x325E, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x325F, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x32B1, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x32B2, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x32B3, 
--IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x32B4, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_0, IBUS_KEY_parenright, 0x32B5, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_1, IBUS_KEY_parenright, 0x32B6, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_2, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_3, IBUS_KEY_parenright, 0x32B8, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_4, IBUS_KEY_parenright, 0x32B9, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_5, IBUS_KEY_parenright, 0x32BA, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_6, IBUS_KEY_parenright, 0x32BB, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_7, IBUS_KEY_parenright, 0x32BC, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_8, IBUS_KEY_parenright, 0x32BD, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_9, IBUS_KEY_parenright, 0x32BE, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x32B5, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x32B6, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x32B8, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x32B9, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x32BA, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x32BB, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x32BC, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x32BD, 
--IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x32BE, 
--IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x32BF, 
--IBUS_KEY_parenleft, 0x1100, 0x1161, IBUS_KEY_parenright, 0x326E, 
--IBUS_KEY_parenleft, 0x1102, 0x1161, IBUS_KEY_parenright, 0x326F, 
--IBUS_KEY_parenleft, 0x1103, 0x1161, IBUS_KEY_parenright, 0x3270, 
--IBUS_KEY_parenleft, 0x1105, 0x1161, IBUS_KEY_parenright, 0x3271, 
--IBUS_KEY_parenleft, 0x1106, 0x1161, IBUS_KEY_parenright, 0x3272, 
--IBUS_KEY_parenleft, 0x1107, 0x1161, IBUS_KEY_parenright, 0x3273, 
--IBUS_KEY_parenleft, 0x1109, 0x1161, IBUS_KEY_parenright, 0x3274, 
--IBUS_KEY_parenleft, 0x110B, 0x1161, IBUS_KEY_parenright, 0x3275, 
--IBUS_KEY_parenleft, 0x110C, 0x1161, IBUS_KEY_parenright, 0x3276, 
--IBUS_KEY_parenleft, 0x110E, 0x1161, IBUS_KEY_parenright, 0x3277, 
--IBUS_KEY_parenleft, 0x110F, 0x1161, IBUS_KEY_parenright, 0x3278, 
--IBUS_KEY_parenleft, 0x1110, 0x1161, IBUS_KEY_parenright, 0x3279, 
--IBUS_KEY_parenleft, 0x1111, 0x1161, IBUS_KEY_parenright, 0x327A, 
--IBUS_KEY_parenleft, 0x1112, 0x1161, IBUS_KEY_parenright, 0x327B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_0, IBUS_KEY_parenright, 0x2469, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_1, IBUS_KEY_parenright, 0x246A, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_2, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_3, IBUS_KEY_parenright, 0x246C, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_4, IBUS_KEY_parenright, 0x246D, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_5, IBUS_KEY_parenright, 0x246E, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_6, IBUS_KEY_parenright, 0x246F, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_7, IBUS_KEY_parenright, 0x2470, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_8, IBUS_KEY_parenright, 0x2471, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_9, IBUS_KEY_parenright, 0x2472, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x2469, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x246A, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x246B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x246C, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x246D, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x246E, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x246F, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x2470, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x2471, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x2472, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x2473, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x3251, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x3252, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x3253, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x3254, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x3255, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x3256, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x3257, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x3258, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x3259, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_0, IBUS_KEY_parenright, 0x325A, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_1, IBUS_KEY_parenright, 0x325B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_2, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_3, IBUS_KEY_parenright, 0x325D, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_4, IBUS_KEY_parenright, 0x325E, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_5, IBUS_KEY_parenright, 0x325F, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_6, IBUS_KEY_parenright, 0x32B1, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_7, IBUS_KEY_parenright, 0x32B2, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_8, IBUS_KEY_parenright, 0x32B3, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_9, IBUS_KEY_parenright, 0x32B4, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x325A, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x325B, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x325C, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x325D, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x325E, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x325F, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x32B1, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x32B2, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x32B3, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x32B4, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_0, IBUS_KEY_parenright, 0x32B5, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_1, IBUS_KEY_parenright, 0x32B6, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_2, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_3, IBUS_KEY_parenright, 0x32B8, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_4, IBUS_KEY_parenright, 0x32B9, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_5, IBUS_KEY_parenright, 0x32BA, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_6, IBUS_KEY_parenright, 0x32BB, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_7, IBUS_KEY_parenright, 0x32BC, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_8, IBUS_KEY_parenright, 0x32BD, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_9, IBUS_KEY_parenright, 0x32BE, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_Space, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x32B5, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_1, IBUS_KEY_parenright, 0x32B6, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_2, IBUS_KEY_parenright, 0x32B7, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_3, IBUS_KEY_parenright, 0x32B8, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_4, IBUS_KEY_parenright, 0x32B9, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_5, IBUS_KEY_parenright, 0x32BA, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x32BB, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x32BC, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x32BD, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x32BE, 
--IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x32BF, 
--IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_P, 0x262D, 
--IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, 
--IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9A, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAA, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F82, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F92, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA2, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9B, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAB, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F83, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F93, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA3, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F97, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA7, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9E, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAE, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F86, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F96, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA6, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9F, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAF, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F87, 
--IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F97, 
-+IBUS_KEY_Multi_key, 3952, 3952, 10495, 14203, 16083, 
-+IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_space,  0x0060, 
-+IBUS_KEY_V,  0x01DB, 
-+IBUS_KEY_v,  0x01DC, 
-+IBUS_KEY_nobreakspace,  0x0300, 
-+IBUS_KEY_Abreve,  0x1EB0, 
-+IBUS_KEY_abreve,  0x1EB1, 
-+IBUS_KEY_Emacron,  0x1E14, 
-+IBUS_KEY_emacron,  0x1E15, 
-+IBUS_KEY_Omacron,  0x1E50, 
-+IBUS_KEY_omacron,  0x1E51, 
-+IBUS_KEY_Cyrillic_ie,  0x0450, 
-+IBUS_KEY_Cyrillic_i,  0x045D, 
-+IBUS_KEY_Cyrillic_IE,  0x0400, 
-+IBUS_KEY_Cyrillic_I,  0x040D, 
-+IBUS_KEY_Greek_iotadieresis,  0x1FD2, 
-+IBUS_KEY_Greek_upsilondieresis,  0x1FE2, 
-+IBUS_KEY_Greek_ALPHA,  0x1FBA, 
-+IBUS_KEY_Greek_EPSILON,  0x1FC8, 
-+IBUS_KEY_Greek_ETA,  0x1FCA, 
-+IBUS_KEY_Greek_IOTA,  0x1FDA, 
-+IBUS_KEY_Greek_OMICRON,  0x1FF8, 
-+IBUS_KEY_Greek_UPSILON,  0x1FEA, 
-+IBUS_KEY_Greek_OMEGA,  0x1FFA, 
-+IBUS_KEY_Greek_alpha,  0x1F70, 
-+IBUS_KEY_Greek_epsilon,  0x1F72, 
-+IBUS_KEY_Greek_eta,  0x1F74, 
-+IBUS_KEY_Greek_iota,  0x1F76, 
-+IBUS_KEY_Greek_omicron,  0x1F78, 
-+IBUS_KEY_Greek_upsilon,  0x1F7A, 
-+IBUS_KEY_Greek_omega,  0x1F7C, 
-+IBUS_KEY_dead_grave,  0x0060, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x1FD2, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x1FE2, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON,  0x1F1A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON,  0x1F4A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6A, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F02, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon,  0x1F12, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F22, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F32, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron,  0x1F42, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F52, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F62, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON,  0x1F1B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON,  0x1F4B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6B, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F03, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon,  0x1F13, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F23, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F33, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron,  0x1F43, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F53, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F63, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01DB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01DC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x1FD2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x1FE2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F1B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F4B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F03, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F13, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F23, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F33, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F43, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F53, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F63, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F1A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F4A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F02, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F12, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F22, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F32, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F42, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F52, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F62, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u,  0x1EEB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A,  0x1EB0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a,  0x1EB1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E,  0x1E14, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O,  0x1E50, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e,  0x1E15, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o,  0x1E51, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A,  0x1EB0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a,  0x1EB1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E,  0x1E14, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O,  0x1E50, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e,  0x1E15, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o,  0x1E51, 
-+IBUS_KEY_space,  0x0027, 
-+IBUS_KEY_V,  0x01D7, 
-+IBUS_KEY_v,  0x01D8, 
-+IBUS_KEY_nobreakspace,  0x0301, 
-+IBUS_KEY_Abreve,  0x1EAE, 
-+IBUS_KEY_abreve,  0x1EAF, 
-+IBUS_KEY_Emacron,  0x1E16, 
-+IBUS_KEY_emacron,  0x1E17, 
-+IBUS_KEY_Utilde,  0x1E78, 
-+IBUS_KEY_omacron,  0x1E53, 
-+IBUS_KEY_utilde,  0x1E79, 
-+IBUS_KEY_Cyrillic_ghe,  0x0453, 
-+IBUS_KEY_Cyrillic_ka,  0x045C, 
-+IBUS_KEY_Cyrillic_GHE,  0x0403, 
-+IBUS_KEY_Cyrillic_KA,  0x040C, 
-+IBUS_KEY_Greek_iotadieresis,  0x0390, 
-+IBUS_KEY_Greek_upsilondieresis,  0x03B0, 
-+IBUS_KEY_Greek_ALPHA,  0x0386, 
-+IBUS_KEY_Greek_EPSILON,  0x0388, 
-+IBUS_KEY_Greek_ETA,  0x0389, 
-+IBUS_KEY_Greek_IOTA,  0x038A, 
-+IBUS_KEY_Greek_OMICRON,  0x038C, 
-+IBUS_KEY_Greek_UPSILON,  0x038E, 
-+IBUS_KEY_Greek_OMEGA,  0x038F, 
-+IBUS_KEY_Greek_alpha,  0x03AC, 
-+IBUS_KEY_Greek_epsilon,  0x03AD, 
-+IBUS_KEY_Greek_eta,  0x03AE, 
-+IBUS_KEY_Greek_iota,  0x03AF, 
-+IBUS_KEY_Greek_omicron,  0x03CC, 
-+IBUS_KEY_Greek_upsilon,  0x03CD, 
-+IBUS_KEY_Greek_omega,  0x03CE, 
-+IBUS_KEY_dead_acute,  0x00B4, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_space,  0x0385, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_dead_stroke, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_dead_stroke, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_I,  0x1E2E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_i,  0x1E2F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U,  0x1EE8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u,  0x1EE9, 
-+IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EBE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EBF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_A,  0x01FA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_a,  0x01FB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x1E4C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_U,  0x1E78, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x1E4D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_u,  0x1E79, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_space,  0x005E, 
-+IBUS_KEY_parenleft,  0x207D, 
-+IBUS_KEY_parenright,  0x207E, 
-+IBUS_KEY_plus,  0x207A, 
-+IBUS_KEY_minus,  0x207B, 
-+IBUS_KEY_0,  0x2070, 
-+IBUS_KEY_1,  0x00B9, 
-+IBUS_KEY_2,  0x00B2, 
-+IBUS_KEY_3,  0x00B3, 
-+IBUS_KEY_4,  0x2074, 
-+IBUS_KEY_5,  0x2075, 
-+IBUS_KEY_6,  0x2076, 
-+IBUS_KEY_7,  0x2077, 
-+IBUS_KEY_8,  0x2078, 
-+IBUS_KEY_9,  0x2079, 
-+IBUS_KEY_equal,  0x207C, 
-+IBUS_KEY_nobreakspace,  0x0302, 
-+IBUS_KEY_Agrave,  0x1EA6, 
-+IBUS_KEY_Aacute,  0x1EA4, 
-+IBUS_KEY_Atilde,  0x1EAA, 
-+IBUS_KEY_Egrave,  0x1EC0, 
-+IBUS_KEY_Eacute,  0x1EBE, 
-+IBUS_KEY_Ograve,  0x1ED2, 
-+IBUS_KEY_Oacute,  0x1ED0, 
-+IBUS_KEY_Otilde,  0x1ED6, 
-+IBUS_KEY_agrave,  0x1EA7, 
-+IBUS_KEY_aacute,  0x1EA5, 
-+IBUS_KEY_atilde,  0x1EAB, 
-+IBUS_KEY_egrave,  0x1EC1, 
-+IBUS_KEY_eacute,  0x1EBF, 
-+IBUS_KEY_ograve,  0x1ED3, 
-+IBUS_KEY_oacute,  0x1ED1, 
-+IBUS_KEY_otilde,  0x1ED7, 
-+0x2212,  0x207B, 
-+0x4E00,  0x3192, 
-+0x4E01,  0x319C, 
-+0x4E09,  0x3194, 
-+0x4E0A,  0x3196, 
-+0x4E0B,  0x3198, 
-+0x4E19,  0x319B, 
-+0x4E2D,  0x3197, 
-+0x4E59,  0x319A, 
-+0x4E8C,  0x3193, 
-+0x4EBA,  0x319F, 
-+0x56DB,  0x3195, 
-+0x5730,  0x319E, 
-+0x5929,  0x319D, 
-+0x7532,  0x3199, 
-+IBUS_KEY_dead_circumflex,  0x005E, 
-+IBUS_KEY_KP_Space,  0x00B2, 
-+IBUS_KEY_KP_Add,  0x207A, 
-+IBUS_KEY_KP_0,  0x2070, 
-+IBUS_KEY_KP_1,  0x00B9, 
-+IBUS_KEY_KP_2,  0x00B2, 
-+IBUS_KEY_KP_3,  0x00B3, 
-+IBUS_KEY_KP_4,  0x2074, 
-+IBUS_KEY_KP_5,  0x2075, 
-+IBUS_KEY_KP_6,  0x2076, 
-+IBUS_KEY_KP_7,  0x2077, 
-+IBUS_KEY_KP_8,  0x2078, 
-+IBUS_KEY_KP_9,  0x2079, 
-+IBUS_KEY_KP_Equal,  0x207C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A,  0x1EAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_E,  0x1EC6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_O,  0x1ED8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a,  0x1EAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_e,  0x1EC7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_o,  0x1ED9, 
-+IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_M,  0x2120, 
-+IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_m,  0x2120, 
-+IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_M,  0x2122, 
-+IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_m,  0x2122, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_a,  0x00AA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_h,  0x02B0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_i,  0x2071, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_j,  0x02B2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_l,  0x02E1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_n,  0x207F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o,  0x00BA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_r,  0x02B3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_s,  0x02E2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_w,  0x02B7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_x,  0x02E3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_y,  0x02B8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0263,  0x02E0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0266,  0x02B1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0279,  0x02B4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x027B,  0x02B5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0281,  0x02B6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0295,  0x02E4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_M,  0x2120, 
-+IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_m,  0x2120, 
-+IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_M,  0x2122, 
-+IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_m,  0x2122, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_a,  0x00AA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_h,  0x02B0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_i,  0x2071, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_j,  0x02B2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_l,  0x02E1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_n,  0x207F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_o,  0x00BA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_r,  0x02B3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_s,  0x02E2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_w,  0x02B7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_x,  0x02E3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_y,  0x02B8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0263,  0x02E0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0266,  0x02B1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0279,  0x02B4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x027B,  0x02B5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0281,  0x02B6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0295,  0x02E4, 
-+IBUS_KEY_space,  0x007E, 
-+IBUS_KEY_less,  0x2272, 
-+IBUS_KEY_equal,  0x2243, 
-+IBUS_KEY_greater,  0x2273, 
-+IBUS_KEY_nobreakspace,  0x0303, 
-+IBUS_KEY_Oacute,  0x1E4C, 
-+IBUS_KEY_Odiaeresis,  0x1E4E, 
-+IBUS_KEY_Uacute,  0x1E78, 
-+IBUS_KEY_oacute,  0x1E4D, 
-+IBUS_KEY_odiaeresis,  0x1E4F, 
-+IBUS_KEY_uacute,  0x1E79, 
-+IBUS_KEY_Abreve,  0x1EB4, 
-+IBUS_KEY_abreve,  0x1EB5, 
-+IBUS_KEY_Omacron,  0x022C, 
-+IBUS_KEY_omacron,  0x022D, 
-+IBUS_KEY_Greek_iotadieresis,  0x1FD7, 
-+IBUS_KEY_Greek_upsilondieresis,  0x1FE7, 
-+IBUS_KEY_Greek_alpha,  0x1FB6, 
-+IBUS_KEY_Greek_eta,  0x1FC6, 
-+IBUS_KEY_Greek_iota,  0x1FD6, 
-+IBUS_KEY_Greek_upsilon,  0x1FE6, 
-+IBUS_KEY_Greek_omega,  0x1FF6, 
-+0x1F00,  0x1F06, 
-+0x1F01,  0x1F07, 
-+0x1F08,  0x1F0E, 
-+0x1F09,  0x1F0F, 
-+0x1F20,  0x1F26, 
-+0x1F21,  0x1F27, 
-+0x1F28,  0x1F2E, 
-+0x1F29,  0x1F2F, 
-+0x1F30,  0x1F36, 
-+0x1F31,  0x1F37, 
-+0x1F38,  0x1F3E, 
-+0x1F39,  0x1F3F, 
-+0x1F50,  0x1F56, 
-+0x1F51,  0x1F57, 
-+0x1F59,  0x1F5F, 
-+0x1F60,  0x1F66, 
-+0x1F61,  0x1F67, 
-+0x1F68,  0x1F6E, 
-+0x1F69,  0x1F6F, 
-+IBUS_KEY_dead_tilde,  0x007E, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x1FD7, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x1FE7, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0E, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2E, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3E, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6E, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F06, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F26, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F36, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F56, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F66, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0F, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2F, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3F, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5F, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6F, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F07, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F27, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F37, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F57, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F67, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x1FD7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x1FE7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F07, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F27, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F37, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F57, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F67, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F06, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F26, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F36, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F56, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F66, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O,  0x1EE0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o,  0x1EE1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u,  0x1EEF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A,  0x1EB4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a,  0x1EB5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EAA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EAB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A,  0x1EB4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a,  0x1EB5, 
-+IBUS_KEY_space,  0x00AF, 
-+IBUS_KEY_V,  0x01D5, 
-+IBUS_KEY_v,  0x01D6, 
-+IBUS_KEY_nobreakspace,  0x0304, 
-+IBUS_KEY_Egrave,  0x1E14, 
-+IBUS_KEY_Eacute,  0x1E16, 
-+IBUS_KEY_Ograve,  0x1E50, 
-+IBUS_KEY_Oacute,  0x1E52, 
-+IBUS_KEY_egrave,  0x1E15, 
-+IBUS_KEY_eacute,  0x1E17, 
-+IBUS_KEY_ograve,  0x1E51, 
-+IBUS_KEY_oacute,  0x1E53, 
-+IBUS_KEY_Cyrillic_i,  0x04E3, 
-+IBUS_KEY_Cyrillic_u,  0x04EF, 
-+IBUS_KEY_Cyrillic_I,  0x04E2, 
-+IBUS_KEY_Cyrillic_U,  0x04EE, 
-+IBUS_KEY_Greek_ALPHA,  0x1FB9, 
-+IBUS_KEY_Greek_IOTA,  0x1FD9, 
-+IBUS_KEY_Greek_UPSILON,  0x1FE9, 
-+IBUS_KEY_Greek_alpha,  0x1FB1, 
-+IBUS_KEY_Greek_iota,  0x1FD1, 
-+IBUS_KEY_Greek_upsilon,  0x1FE1, 
-+IBUS_KEY_dead_macron,  0x00AF, 
-+IBUS_KEY_dead_greek, IBUS_KEY_A,  0x1FB9, 
-+IBUS_KEY_dead_greek, IBUS_KEY_I,  0x1FD9, 
-+IBUS_KEY_dead_greek, IBUS_KEY_U,  0x1FE9, 
-+IBUS_KEY_dead_greek, IBUS_KEY_a,  0x1FB1, 
-+IBUS_KEY_dead_greek, IBUS_KEY_i,  0x1FD1, 
-+IBUS_KEY_dead_greek, IBUS_KEY_u,  0x1FE1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_L,  0x1E38, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_R,  0x1E5C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_l,  0x1E39, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_r,  0x1E5D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_A,  0x01DE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_O,  0x022A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_a,  0x01DF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_o,  0x022B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_A,  0x01E0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_O,  0x0230, 
-+IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_a,  0x01E1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_o,  0x0231, 
-+IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_O,  0x01EC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_o,  0x01ED, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x022C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x022D, 
-+IBUS_KEY_space,  0x02D8, 
-+IBUS_KEY_nobreakspace,  0x0306, 
-+IBUS_KEY_Agrave,  0x1EB0, 
-+IBUS_KEY_Aacute,  0x1EAE, 
-+IBUS_KEY_Atilde,  0x1EB4, 
-+IBUS_KEY_agrave,  0x1EB1, 
-+IBUS_KEY_aacute,  0x1EAF, 
-+IBUS_KEY_atilde,  0x1EB5, 
-+IBUS_KEY_Cyrillic_a,  0x04D1, 
-+IBUS_KEY_Cyrillic_ie,  0x04D7, 
-+IBUS_KEY_Cyrillic_i,  0x0439, 
-+IBUS_KEY_Cyrillic_u,  0x045E, 
-+IBUS_KEY_Cyrillic_zhe,  0x04C2, 
-+IBUS_KEY_Cyrillic_A,  0x04D0, 
-+IBUS_KEY_Cyrillic_IE,  0x04D6, 
-+IBUS_KEY_Cyrillic_I,  0x0419, 
-+IBUS_KEY_Cyrillic_U,  0x040E, 
-+IBUS_KEY_Cyrillic_ZHE,  0x04C1, 
-+IBUS_KEY_Greek_ALPHA,  0x1FB8, 
-+IBUS_KEY_Greek_IOTA,  0x1FD8, 
-+IBUS_KEY_Greek_UPSILON,  0x1FE8, 
-+IBUS_KEY_Greek_alpha,  0x1FB0, 
-+IBUS_KEY_Greek_iota,  0x1FD0, 
-+IBUS_KEY_Greek_upsilon,  0x1FE0, 
-+IBUS_KEY_dead_breve,  0x02D8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A,  0x1EB6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a,  0x1EB7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_space,  0x02D9, 
-+IBUS_KEY_L,  0x013F, 
-+IBUS_KEY_i,  0x0131, 
-+IBUS_KEY_j,  0x0237, 
-+IBUS_KEY_l,  0x0140, 
-+IBUS_KEY_nobreakspace,  0x0307, 
-+IBUS_KEY_Sacute,  0x1E64, 
-+IBUS_KEY_Scaron,  0x1E66, 
-+IBUS_KEY_sacute,  0x1E65, 
-+IBUS_KEY_scaron,  0x1E67, 
-+IBUS_KEY_Amacron,  0x01E0, 
-+IBUS_KEY_Omacron,  0x0230, 
-+IBUS_KEY_amacron,  0x01E1, 
-+IBUS_KEY_omacron,  0x0231, 
-+IBUS_KEY_dead_abovedot,  0x02D9, 
-+IBUS_KEY_dead_stroke, IBUS_KEY_j,  0x025F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_S,  0x1E68, 
-+IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_s,  0x1E69, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_S,  0x1E64, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_s,  0x1E65, 
-+IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_S,  0x1E66, 
-+IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_s,  0x1E67, 
-+IBUS_KEY_Multi_key, IBUS_KEY_f, IBUS_KEY_s,  0x1E9B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_S,  0x1E64, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_s,  0x1E65, 
-+IBUS_KEY_space,  0x0022, 
-+IBUS_KEY_apostrophe,  0x0344, 
-+IBUS_KEY_nobreakspace,  0x0308, 
-+IBUS_KEY_acute,  0x0344, 
-+IBUS_KEY_Iacute,  0x1E2E, 
-+IBUS_KEY_Ugrave,  0x01DB, 
-+IBUS_KEY_Uacute,  0x01D7, 
-+IBUS_KEY_iacute,  0x1E2F, 
-+IBUS_KEY_ugrave,  0x01DC, 
-+IBUS_KEY_uacute,  0x01D8, 
-+0x01D3,  0x01D9, 
-+0x01D4,  0x01DA, 
-+IBUS_KEY_Amacron,  0x01DE, 
-+IBUS_KEY_Umacron,  0x1E7A, 
-+IBUS_KEY_amacron,  0x01DF, 
-+IBUS_KEY_omacron,  0x022B, 
-+IBUS_KEY_umacron,  0x1E7B, 
-+IBUS_KEY_Ukrainian_i,  0x0457, 
-+IBUS_KEY_Ukrainian_I,  0x0407, 
-+IBUS_KEY_Cyrillic_a,  0x04D3, 
-+IBUS_KEY_Cyrillic_ie,  0x0451, 
-+IBUS_KEY_Cyrillic_i,  0x04E5, 
-+IBUS_KEY_Cyrillic_o,  0x04E7, 
-+IBUS_KEY_Cyrillic_u,  0x04F1, 
-+IBUS_KEY_Cyrillic_zhe,  0x04DD, 
-+IBUS_KEY_Cyrillic_yeru,  0x04F9, 
-+IBUS_KEY_Cyrillic_ze,  0x04DF, 
-+IBUS_KEY_Cyrillic_e,  0x04ED, 
-+IBUS_KEY_Cyrillic_che,  0x04F5, 
-+IBUS_KEY_Cyrillic_A,  0x04D2, 
-+IBUS_KEY_Cyrillic_IE,  0x0401, 
-+IBUS_KEY_Cyrillic_I,  0x04E4, 
-+IBUS_KEY_Cyrillic_O,  0x04E6, 
-+IBUS_KEY_Cyrillic_U,  0x04F0, 
-+IBUS_KEY_Cyrillic_ZHE,  0x04DC, 
-+IBUS_KEY_Cyrillic_YERU,  0x04F8, 
-+IBUS_KEY_Cyrillic_ZE,  0x04DE, 
-+IBUS_KEY_Cyrillic_E,  0x04EC, 
-+IBUS_KEY_Cyrillic_CHE,  0x04F4, 
-+IBUS_KEY_Greek_IOTA,  0x03AA, 
-+IBUS_KEY_Greek_UPSILON,  0x03AB, 
-+IBUS_KEY_Greek_iota,  0x03CA, 
-+IBUS_KEY_Greek_upsilon,  0x03CB, 
-+IBUS_KEY_dead_diaeresis,  0x00A8, 
-+IBUS_KEY_dead_acute, IBUS_KEY_space,  0x0385, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_equal,  0x2A77, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_U,  0x1E7A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_u,  0x1E7B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x1E4E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x1E4F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_U,  0x1E7A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_u,  0x1E7B, 
-+IBUS_KEY_space,  0x00B0, 
-+IBUS_KEY_nobreakspace,  0x030A, 
-+IBUS_KEY_Aacute,  0x01FA, 
-+IBUS_KEY_aacute,  0x01FB, 
-+IBUS_KEY_dead_abovering,  0x00B0, 
-+IBUS_KEY_space,  0x02DD, 
-+IBUS_KEY_nobreakspace,  0x030B, 
-+IBUS_KEY_Cyrillic_u,  0x04F3, 
-+IBUS_KEY_Cyrillic_U,  0x04F2, 
-+IBUS_KEY_dead_doubleacute,  0x02DD, 
-+IBUS_KEY_space,  0x02C7, 
-+IBUS_KEY_parenleft,  0x208D, 
-+IBUS_KEY_parenright,  0x208E, 
-+IBUS_KEY_plus,  0x208A, 
-+IBUS_KEY_minus,  0x208B, 
-+IBUS_KEY_0,  0x2080, 
-+IBUS_KEY_1,  0x2081, 
-+IBUS_KEY_2,  0x2082, 
-+IBUS_KEY_3,  0x2083, 
-+IBUS_KEY_4,  0x2084, 
-+IBUS_KEY_5,  0x2085, 
-+IBUS_KEY_6,  0x2086, 
-+IBUS_KEY_7,  0x2087, 
-+IBUS_KEY_8,  0x2088, 
-+IBUS_KEY_9,  0x2089, 
-+IBUS_KEY_equal,  0x208C, 
-+IBUS_KEY_V,  0x01D9, 
-+IBUS_KEY_v,  0x01DA, 
-+IBUS_KEY_nobreakspace,  0x030C, 
-+0x01F2,  0x01C5, 
-+IBUS_KEY_dead_caron,  0x02C7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D9, 
-+IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01DA, 
-+IBUS_KEY_space,  0x00B8, 
-+IBUS_KEY_nobreakspace,  0x0327, 
-+IBUS_KEY_cent,  0x20B5, 
-+IBUS_KEY_Cacute,  0x1E08, 
-+IBUS_KEY_cacute,  0x1E09, 
-+IBUS_KEY_dead_cedilla,  0x00B8, 
-+IBUS_KEY_dead_currency, IBUS_KEY_C,  0x20B5, 
-+IBUS_KEY_dead_currency, IBUS_KEY_c,  0x20B5, 
-+IBUS_KEY_space,  0x02DB, 
-+IBUS_KEY_nobreakspace,  0x0328, 
-+IBUS_KEY_Omacron,  0x01EC, 
-+IBUS_KEY_omacron,  0x01ED, 
-+IBUS_KEY_dead_ogonek,  0x02DB, 
-+IBUS_KEY_space,  0x037A, 
-+IBUS_KEY_Greek_alphaaccent,  0x1FB4, 
-+IBUS_KEY_Greek_etaaccent,  0x1FC4, 
-+IBUS_KEY_Greek_omegaaccent,  0x1FF4, 
-+IBUS_KEY_Greek_ALPHA,  0x1FBC, 
-+IBUS_KEY_Greek_ETA,  0x1FCC, 
-+IBUS_KEY_Greek_OMEGA,  0x1FFC, 
-+IBUS_KEY_Greek_alpha,  0x1FB3, 
-+IBUS_KEY_Greek_eta,  0x1FC3, 
-+IBUS_KEY_Greek_omega,  0x1FF3, 
-+IBUS_KEY_dead_iota,  0x037A, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha,  0x1FB2, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta,  0x1FC2, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega,  0x1FF2, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha,  0x1FB7, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta,  0x1FC7, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega,  0x1FF7, 
-+IBUS_KEY_dead_tilde, 0x1F00,  0x1F86, 
-+IBUS_KEY_dead_tilde, 0x1F01,  0x1F87, 
-+IBUS_KEY_dead_tilde, 0x1F08,  0x1F8E, 
-+IBUS_KEY_dead_tilde, 0x1F09,  0x1F8F, 
-+IBUS_KEY_dead_tilde, 0x1F20,  0x1F96, 
-+IBUS_KEY_dead_tilde, 0x1F21,  0x1F97, 
-+IBUS_KEY_dead_tilde, 0x1F28,  0x1F9E, 
-+IBUS_KEY_dead_tilde, 0x1F29,  0x1F9F, 
-+IBUS_KEY_dead_tilde, 0x1F60,  0x1FA6, 
-+IBUS_KEY_dead_tilde, 0x1F61,  0x1FA7, 
-+IBUS_KEY_dead_tilde, 0x1F68,  0x1FAE, 
-+IBUS_KEY_dead_tilde, 0x1F69,  0x1FAF, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F88, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F98, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FA8, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F80, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F90, 
-+IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA0, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F89, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F99, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FA9, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F81, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F91, 
-+IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA1, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F00,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F01,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F08,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F09,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F20,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F21,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F28,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F29,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F60,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F61,  0x1FA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F68,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F69,  0x1FAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F89, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F99, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FA9, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F81, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F91, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA1, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F88, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F98, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FA8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F80, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F90, 
-+IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_alpha,  0x1FB2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_eta,  0x1FC2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_omega,  0x1FF2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F00,  0x1F82, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F01,  0x1F83, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F08,  0x1F8A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F09,  0x1F8B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F20,  0x1F92, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F21,  0x1F93, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F28,  0x1F9A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F29,  0x1F9B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F60,  0x1FA2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F61,  0x1FA3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F68,  0x1FAA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F69,  0x1FAB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha,  0x1FB7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta,  0x1FC7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega,  0x1FF7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F00,  0x1F86, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F01,  0x1F87, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F08,  0x1F8E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F09,  0x1F8F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F20,  0x1F96, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F21,  0x1F97, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F28,  0x1F9E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F29,  0x1F9F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F60,  0x1FA6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F61,  0x1FA7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F68,  0x1FAE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F69,  0x1FAF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F00,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F01,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F08,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F09,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F20,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F21,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F28,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F29,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F60,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F61,  0x1FA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F68,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F69,  0x1FAD, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_dead_grave, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_dead_acute, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_dead_tilde, IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_kana_WO,  0x30FA, 
-+IBUS_KEY_kana_U,  0x30F4, 
-+IBUS_KEY_kana_KA,  0x30AC, 
-+IBUS_KEY_kana_KI,  0x30AE, 
-+IBUS_KEY_kana_KU,  0x30B0, 
-+IBUS_KEY_kana_KE,  0x30B2, 
-+IBUS_KEY_kana_KO,  0x30B4, 
-+IBUS_KEY_kana_SA,  0x30B6, 
-+IBUS_KEY_kana_SHI,  0x30B8, 
-+IBUS_KEY_kana_SU,  0x30BA, 
-+IBUS_KEY_kana_SE,  0x30BC, 
-+IBUS_KEY_kana_SO,  0x30BE, 
-+IBUS_KEY_kana_TA,  0x30C0, 
-+IBUS_KEY_kana_CHI,  0x30C2, 
-+IBUS_KEY_kana_TSU,  0x30C5, 
-+IBUS_KEY_kana_TE,  0x30C7, 
-+IBUS_KEY_kana_TO,  0x30C9, 
-+IBUS_KEY_kana_HA,  0x30D0, 
-+IBUS_KEY_kana_HI,  0x30D3, 
-+IBUS_KEY_kana_FU,  0x30D6, 
-+IBUS_KEY_kana_HE,  0x30D9, 
-+IBUS_KEY_kana_HO,  0x30DC, 
-+IBUS_KEY_kana_WA,  0x30F7, 
-+IBUS_KEY_kana_HA,  0x30D1, 
-+IBUS_KEY_kana_HI,  0x30D4, 
-+IBUS_KEY_kana_FU,  0x30D7, 
-+IBUS_KEY_kana_HE,  0x30DA, 
-+IBUS_KEY_kana_HO,  0x30DD, 
-+IBUS_KEY_space,  0x0323, 
-+IBUS_KEY_plus,  0x2A25, 
-+IBUS_KEY_minus,  0x2A2A, 
-+IBUS_KEY_equal,  0x2A66, 
-+IBUS_KEY_nobreakspace,  0x0323, 
-+IBUS_KEY_Abreve,  0x1EB6, 
-+IBUS_KEY_abreve,  0x1EB7, 
-+IBUS_KEY_dead_belowdot,  0x0323, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O,  0x1EE2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U,  0x1EF0, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o,  0x1EE3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u,  0x1EF1, 
-+IBUS_KEY_space,  0x0309, 
-+IBUS_KEY_B,  0x0181, 
-+IBUS_KEY_C,  0x0187, 
-+IBUS_KEY_D,  0x018A, 
-+IBUS_KEY_F,  0x0191, 
-+IBUS_KEY_G,  0x0193, 
-+IBUS_KEY_K,  0x0198, 
-+IBUS_KEY_M,  0x2C6E, 
-+IBUS_KEY_N,  0x019D, 
-+IBUS_KEY_P,  0x01A4, 
-+IBUS_KEY_T,  0x01AC, 
-+IBUS_KEY_V,  0x01B2, 
-+IBUS_KEY_W,  0x2C72, 
-+IBUS_KEY_Z,  0x0224, 
-+IBUS_KEY_b,  0x0253, 
-+IBUS_KEY_c,  0x0188, 
-+IBUS_KEY_d,  0x0257, 
-+IBUS_KEY_f,  0x0192, 
-+IBUS_KEY_g,  0x0260, 
-+IBUS_KEY_h,  0x0266, 
-+IBUS_KEY_k,  0x0199, 
-+IBUS_KEY_m,  0x0271, 
-+IBUS_KEY_n,  0x0272, 
-+IBUS_KEY_p,  0x01A5, 
-+IBUS_KEY_q,  0x02A0, 
-+IBUS_KEY_r,  0x027C, 
-+IBUS_KEY_s,  0x0282, 
-+IBUS_KEY_t,  0x01AD, 
-+IBUS_KEY_v,  0x028B, 
-+IBUS_KEY_w,  0x2C73, 
-+IBUS_KEY_z,  0x0225, 
-+IBUS_KEY_nobreakspace,  0x0309, 
-+IBUS_KEY_Abreve,  0x1EB2, 
-+IBUS_KEY_abreve,  0x1EB3, 
-+0x0256,  0x1D91, 
-+0x025C,  0x025D, 
-+0x025F,  0x0284, 
-+0x0279,  0x027B, 
-+IBUS_KEY_dead_hook,  0x0309, 
-+IBUS_KEY_dead_greek, IBUS_KEY_U,  0x03D2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDE, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEC, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDF, 
-+IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u,  0x1EED, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A,  0x1EB2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a,  0x1EB3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA8, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED4, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA9, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC3, 
-+IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED5, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A,  0x1EB2, 
-+IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a,  0x1EB3, 
-+IBUS_KEY_space,  0x031B, 
-+IBUS_KEY_nobreakspace,  0x031B, 
-+IBUS_KEY_Utilde,  0x1EEE, 
-+IBUS_KEY_utilde,  0x1EEF, 
-+IBUS_KEY_dead_horn,  0x031B, 
-+IBUS_KEY_space,  0x002F, 
-+IBUS_KEY_2,  0x01BB, 
-+IBUS_KEY_A,  0x023A, 
-+IBUS_KEY_B,  0x0243, 
-+IBUS_KEY_C,  0x023B, 
-+IBUS_KEY_D,  0x0110, 
-+IBUS_KEY_E,  0x0246, 
-+IBUS_KEY_G,  0x01E4, 
-+IBUS_KEY_H,  0x0126, 
-+IBUS_KEY_I,  0x0197, 
-+IBUS_KEY_J,  0x0248, 
-+IBUS_KEY_L,  0x0141, 
-+IBUS_KEY_O,  0x00D8, 
-+IBUS_KEY_P,  0x2C63, 
-+IBUS_KEY_R,  0x024C, 
-+IBUS_KEY_T,  0x0166, 
-+IBUS_KEY_U,  0x0244, 
-+IBUS_KEY_Y,  0x024E, 
-+IBUS_KEY_Z,  0x01B5, 
-+IBUS_KEY_a,  0x2C65, 
-+IBUS_KEY_b,  0x0180, 
-+IBUS_KEY_c,  0x023C, 
-+IBUS_KEY_d,  0x0111, 
-+IBUS_KEY_e,  0x0247, 
-+IBUS_KEY_g,  0x01E5, 
-+IBUS_KEY_h,  0x0127, 
-+IBUS_KEY_i,  0x0268, 
-+IBUS_KEY_j,  0x0249, 
-+IBUS_KEY_l,  0x0142, 
-+IBUS_KEY_o,  0x00F8, 
-+IBUS_KEY_p,  0x1D7D, 
-+IBUS_KEY_r,  0x024D, 
-+IBUS_KEY_t,  0x0167, 
-+IBUS_KEY_u,  0x0289, 
-+IBUS_KEY_y,  0x024F, 
-+IBUS_KEY_z,  0x01B6, 
-+IBUS_KEY_nobreakspace,  0x0338, 
-+IBUS_KEY_Oacute,  0x01FE, 
-+IBUS_KEY_oacute,  0x01FF, 
-+0x0237,  0x025F, 
-+0x0269,  0x1D7C, 
-+IBUS_KEY_lessthanequal,  0x2270, 
-+IBUS_KEY_greaterthanequal,  0x2271, 
-+IBUS_KEY_dead_stroke,  0x002F, 
-+IBUS_KEY_dead_acute, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_dead_acute, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_dead_abovedot, IBUS_KEY_j,  0x025F, 
-+IBUS_KEY_dead_greek, IBUS_KEY_r,  0x03FC, 
-+IBUS_KEY_Greek_ALPHA,  0x1F08, 
-+IBUS_KEY_Greek_EPSILON,  0x1F18, 
-+IBUS_KEY_Greek_ETA,  0x1F28, 
-+IBUS_KEY_Greek_IOTA,  0x1F38, 
-+IBUS_KEY_Greek_OMICRON,  0x1F48, 
-+IBUS_KEY_Greek_OMEGA,  0x1F68, 
-+IBUS_KEY_Greek_alpha,  0x1F00, 
-+IBUS_KEY_Greek_epsilon,  0x1F10, 
-+IBUS_KEY_Greek_eta,  0x1F20, 
-+IBUS_KEY_Greek_iota,  0x1F30, 
-+IBUS_KEY_Greek_omicron,  0x1F40, 
-+IBUS_KEY_Greek_rho,  0x1FE4, 
-+IBUS_KEY_Greek_upsilon,  0x1F50, 
-+IBUS_KEY_Greek_omega,  0x1F60, 
-+IBUS_KEY_Greek_ALPHA,  0x1F09, 
-+IBUS_KEY_Greek_EPSILON,  0x1F19, 
-+IBUS_KEY_Greek_ETA,  0x1F29, 
-+IBUS_KEY_Greek_IOTA,  0x1F39, 
-+IBUS_KEY_Greek_OMICRON,  0x1F49, 
-+IBUS_KEY_Greek_RHO,  0x1FEC, 
-+IBUS_KEY_Greek_UPSILON,  0x1F59, 
-+IBUS_KEY_Greek_OMEGA,  0x1F69, 
-+IBUS_KEY_Greek_alpha,  0x1F01, 
-+IBUS_KEY_Greek_epsilon,  0x1F11, 
-+IBUS_KEY_Greek_eta,  0x1F21, 
-+IBUS_KEY_Greek_iota,  0x1F31, 
-+IBUS_KEY_Greek_omicron,  0x1F41, 
-+IBUS_KEY_Greek_rho,  0x1FE5, 
-+IBUS_KEY_Greek_upsilon,  0x1F51, 
-+IBUS_KEY_Greek_omega,  0x1F61, 
-+IBUS_KEY_bar,  0x2AF0, 
-+IBUS_KEY_plus,  0x2A26, 
-+IBUS_KEY_dead_diaeresis, IBUS_KEY_equal,  0x2A77, 
-+IBUS_KEY_space,  0x002C, 
-+IBUS_KEY_S,  0x0218, 
-+IBUS_KEY_T,  0x021A, 
-+IBUS_KEY_s,  0x0219, 
-+IBUS_KEY_t,  0x021B, 
-+IBUS_KEY_nobreakspace,  0x0326, 
-+IBUS_KEY_dead_belowcomma,  0x002C, 
-+IBUS_KEY_space,  0x00A4, 
-+IBUS_KEY_A,  0x20B3, 
-+IBUS_KEY_B,  0x20B1, 
-+IBUS_KEY_C,  0x20A1, 
-+IBUS_KEY_D,  0x20AF, 
-+IBUS_KEY_E,  0x20A0, 
-+IBUS_KEY_F,  0x20A3, 
-+IBUS_KEY_G,  0x20B2, 
-+IBUS_KEY_H,  0x20B4, 
-+IBUS_KEY_I,  0x17DB, 
-+IBUS_KEY_K,  0x20AD, 
-+IBUS_KEY_L,  0x20A4, 
-+IBUS_KEY_M,  0x2133, 
-+IBUS_KEY_N,  0x20A6, 
-+IBUS_KEY_O,  0x0AF1, 
-+IBUS_KEY_P,  0x20A7, 
-+IBUS_KEY_R,  0x20A8, 
-+IBUS_KEY_S,  0x0024, 
-+IBUS_KEY_T,  0x20AE, 
-+IBUS_KEY_U,  0x5713, 
-+IBUS_KEY_W,  0x20A9, 
-+IBUS_KEY_Y,  0x5186, 
-+IBUS_KEY_a,  0x060B, 
-+IBUS_KEY_b,  0x0E3F, 
-+IBUS_KEY_c,  0x00A2, 
-+IBUS_KEY_d,  0x20AB, 
-+IBUS_KEY_e,  0x20AC, 
-+IBUS_KEY_f,  0x0192, 
-+IBUS_KEY_g,  0x20B2, 
-+IBUS_KEY_h,  0x20B4, 
-+IBUS_KEY_i,  0xFDFC, 
-+IBUS_KEY_k,  0x20AD, 
-+IBUS_KEY_l,  0x00A3, 
-+IBUS_KEY_m,  0x20A5, 
-+IBUS_KEY_n,  0x20A6, 
-+IBUS_KEY_o,  0x0BF9, 
-+IBUS_KEY_p,  0x20B0, 
-+IBUS_KEY_r,  0x20A2, 
-+IBUS_KEY_s,  0x20AA, 
-+IBUS_KEY_t,  0x09F3, 
-+IBUS_KEY_u,  0x5143, 
-+IBUS_KEY_w,  0x20A9, 
-+IBUS_KEY_y,  0x00A5, 
-+IBUS_KEY_nobreakspace,  0x00A4, 
-+IBUS_KEY_Ccedilla,  0x20B5, 
-+IBUS_KEY_THORN,  0x09F2, 
-+IBUS_KEY_ccedilla,  0x20B5, 
-+IBUS_KEY_thorn,  0x09F2, 
-+IBUS_KEY_dead_currency,  0x00A4, 
-+IBUS_KEY_dead_cedilla, IBUS_KEY_C,  0x20B5, 
-+IBUS_KEY_dead_cedilla, IBUS_KEY_c,  0x20B5, 
-+IBUS_KEY_space,  0x00B5, 
-+IBUS_KEY_A,  0x0391, 
-+IBUS_KEY_B,  0x0392, 
-+IBUS_KEY_D,  0x0394, 
-+IBUS_KEY_E,  0x0395, 
-+IBUS_KEY_F,  0x03A6, 
-+IBUS_KEY_G,  0x0393, 
-+IBUS_KEY_H,  0x0397, 
-+IBUS_KEY_I,  0x0399, 
-+IBUS_KEY_J,  0x0398, 
-+IBUS_KEY_K,  0x039A, 
-+IBUS_KEY_L,  0x039B, 
-+IBUS_KEY_M,  0x039C, 
-+IBUS_KEY_N,  0x039D, 
-+IBUS_KEY_O,  0x039F, 
-+IBUS_KEY_P,  0x03A0, 
-+IBUS_KEY_Q,  0x03A7, 
-+IBUS_KEY_R,  0x03A1, 
-+IBUS_KEY_S,  0x03A3, 
-+IBUS_KEY_T,  0x03A4, 
-+IBUS_KEY_U,  0x03A5, 
-+IBUS_KEY_W,  0x03A9, 
-+IBUS_KEY_X,  0x039E, 
-+IBUS_KEY_Y,  0x03A8, 
-+IBUS_KEY_Z,  0x0396, 
-+IBUS_KEY_a,  0x03B1, 
-+IBUS_KEY_b,  0x03B2, 
-+IBUS_KEY_d,  0x03B4, 
-+IBUS_KEY_e,  0x03B5, 
-+IBUS_KEY_f,  0x03C6, 
-+IBUS_KEY_g,  0x03B3, 
-+IBUS_KEY_h,  0x03B7, 
-+IBUS_KEY_i,  0x03B9, 
-+IBUS_KEY_j,  0x03B8, 
-+IBUS_KEY_k,  0x03BA, 
-+IBUS_KEY_l,  0x03BB, 
-+IBUS_KEY_m,  0x03BC, 
-+IBUS_KEY_n,  0x03BD, 
-+IBUS_KEY_o,  0x03BF, 
-+IBUS_KEY_p,  0x03C0, 
-+IBUS_KEY_q,  0x03C7, 
-+IBUS_KEY_r,  0x03C1, 
-+IBUS_KEY_s,  0x03C3, 
-+IBUS_KEY_t,  0x03C4, 
-+IBUS_KEY_u,  0x03C5, 
-+IBUS_KEY_w,  0x03C9, 
-+IBUS_KEY_x,  0x03BE, 
-+IBUS_KEY_y,  0x03C8, 
-+IBUS_KEY_z,  0x03B6, 
-+IBUS_KEY_nobreakspace,  0x00B5, 
-+IBUS_KEY_dead_greek,  0x00B5, 
-+IBUS_KEY_dead_macron, IBUS_KEY_A,  0x1FB9, 
-+IBUS_KEY_dead_macron, IBUS_KEY_I,  0x1FD9, 
-+IBUS_KEY_dead_macron, IBUS_KEY_U,  0x1FE9, 
-+IBUS_KEY_dead_macron, IBUS_KEY_a,  0x1FB1, 
-+IBUS_KEY_dead_macron, IBUS_KEY_i,  0x1FD1, 
-+IBUS_KEY_dead_macron, IBUS_KEY_u,  0x1FE1, 
-+IBUS_KEY_dead_hook, IBUS_KEY_U,  0x03D2, 
-+IBUS_KEY_dead_stroke, IBUS_KEY_r,  0x03FC, 
-+IBUS_KEY_space, IBUS_KEY_space,  0x00A0, 
-+IBUS_KEY_space, IBUS_KEY_apostrophe,  0x0027, 
-+IBUS_KEY_space, IBUS_KEY_parenleft,  0x02D8, 
-+IBUS_KEY_space, IBUS_KEY_comma,  0x00B8, 
-+IBUS_KEY_space, IBUS_KEY_minus,  0x007E, 
-+IBUS_KEY_space, IBUS_KEY_period,  0x2008, 
-+IBUS_KEY_space, IBUS_KEY_less,  0x02C7, 
-+IBUS_KEY_space, IBUS_KEY_greater,  0x005E, 
-+IBUS_KEY_space, IBUS_KEY_asciicircum,  0x005E, 
-+IBUS_KEY_space, IBUS_KEY_grave,  0x0060, 
-+IBUS_KEY_space, IBUS_KEY_asciitilde,  0x007E, 
-+IBUS_KEY_exclam, IBUS_KEY_exclam,  0x00A1, 
-+IBUS_KEY_exclam, IBUS_KEY_question,  0x203D, 
-+IBUS_KEY_exclam, IBUS_KEY_A,  0x1EA0, 
-+IBUS_KEY_exclam, IBUS_KEY_B,  0x1E04, 
-+IBUS_KEY_exclam, IBUS_KEY_D,  0x1E0C, 
-+IBUS_KEY_exclam, IBUS_KEY_E,  0x1EB8, 
-+IBUS_KEY_exclam, IBUS_KEY_H,  0x1E24, 
-+IBUS_KEY_exclam, IBUS_KEY_I,  0x1ECA, 
-+IBUS_KEY_exclam, IBUS_KEY_K,  0x1E32, 
-+IBUS_KEY_exclam, IBUS_KEY_L,  0x1E36, 
-+IBUS_KEY_exclam, IBUS_KEY_M,  0x1E42, 
-+IBUS_KEY_exclam, IBUS_KEY_N,  0x1E46, 
-+IBUS_KEY_exclam, IBUS_KEY_O,  0x1ECC, 
-+IBUS_KEY_exclam, IBUS_KEY_P,  0x00B6, 
-+IBUS_KEY_exclam, IBUS_KEY_R,  0x1E5A, 
-+IBUS_KEY_exclam, IBUS_KEY_S,  0x1E62, 
-+IBUS_KEY_exclam, IBUS_KEY_T,  0x1E6C, 
-+IBUS_KEY_exclam, IBUS_KEY_U,  0x1EE4, 
-+IBUS_KEY_exclam, IBUS_KEY_V,  0x1E7E, 
-+IBUS_KEY_exclam, IBUS_KEY_W,  0x1E88, 
-+IBUS_KEY_exclam, IBUS_KEY_Y,  0x1EF4, 
-+IBUS_KEY_exclam, IBUS_KEY_Z,  0x1E92, 
-+IBUS_KEY_exclam, IBUS_KEY_asciicircum,  0x00A6, 
-+IBUS_KEY_exclam, IBUS_KEY_a,  0x1EA1, 
-+IBUS_KEY_exclam, IBUS_KEY_b,  0x1E05, 
-+IBUS_KEY_exclam, IBUS_KEY_d,  0x1E0D, 
-+IBUS_KEY_exclam, IBUS_KEY_e,  0x1EB9, 
-+IBUS_KEY_exclam, IBUS_KEY_h,  0x1E25, 
-+IBUS_KEY_exclam, IBUS_KEY_i,  0x1ECB, 
-+IBUS_KEY_exclam, IBUS_KEY_k,  0x1E33, 
-+IBUS_KEY_exclam, IBUS_KEY_l,  0x1E37, 
-+IBUS_KEY_exclam, IBUS_KEY_m,  0x1E43, 
-+IBUS_KEY_exclam, IBUS_KEY_n,  0x1E47, 
-+IBUS_KEY_exclam, IBUS_KEY_o,  0x1ECD, 
-+IBUS_KEY_exclam, IBUS_KEY_p,  0x00B6, 
-+IBUS_KEY_exclam, IBUS_KEY_r,  0x1E5B, 
-+IBUS_KEY_exclam, IBUS_KEY_s,  0x1E63, 
-+IBUS_KEY_exclam, IBUS_KEY_t,  0x1E6D, 
-+IBUS_KEY_exclam, IBUS_KEY_u,  0x1EE5, 
-+IBUS_KEY_exclam, IBUS_KEY_v,  0x1E7F, 
-+IBUS_KEY_exclam, IBUS_KEY_w,  0x1E89, 
-+IBUS_KEY_exclam, IBUS_KEY_y,  0x1EF5, 
-+IBUS_KEY_exclam, IBUS_KEY_z,  0x1E93, 
-+IBUS_KEY_quotedbl, IBUS_KEY_quotedbl,  0x00A8, 
-+IBUS_KEY_quotedbl, IBUS_KEY_apostrophe,  0x0344, 
-+IBUS_KEY_quotedbl, IBUS_KEY_comma,  0x201E, 
-+IBUS_KEY_quotedbl, IBUS_KEY_less,  0x201C, 
-+IBUS_KEY_quotedbl, IBUS_KEY_greater,  0x201D, 
-+IBUS_KEY_quotedbl, IBUS_KEY_A,  0x00C4, 
-+IBUS_KEY_quotedbl, IBUS_KEY_E,  0x00CB, 
-+IBUS_KEY_quotedbl, IBUS_KEY_H,  0x1E26, 
-+IBUS_KEY_quotedbl, IBUS_KEY_I,  0x00CF, 
-+IBUS_KEY_quotedbl, IBUS_KEY_O,  0x00D6, 
-+IBUS_KEY_quotedbl, IBUS_KEY_U,  0x00DC, 
-+IBUS_KEY_quotedbl, IBUS_KEY_W,  0x1E84, 
-+IBUS_KEY_quotedbl, IBUS_KEY_X,  0x1E8C, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Y,  0x0178, 
-+IBUS_KEY_quotedbl, IBUS_KEY_a,  0x00E4, 
-+IBUS_KEY_quotedbl, IBUS_KEY_e,  0x00EB, 
-+IBUS_KEY_quotedbl, IBUS_KEY_h,  0x1E27, 
-+IBUS_KEY_quotedbl, IBUS_KEY_i,  0x00EF, 
-+IBUS_KEY_quotedbl, IBUS_KEY_o,  0x00F6, 
-+IBUS_KEY_quotedbl, IBUS_KEY_t,  0x1E97, 
-+IBUS_KEY_quotedbl, IBUS_KEY_u,  0x00FC, 
-+IBUS_KEY_quotedbl, IBUS_KEY_w,  0x1E85, 
-+IBUS_KEY_quotedbl, IBUS_KEY_x,  0x1E8D, 
-+IBUS_KEY_quotedbl, IBUS_KEY_y,  0x00FF, 
-+IBUS_KEY_quotedbl, IBUS_KEY_acute,  0x0344, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Otilde,  0x1E4E, 
-+IBUS_KEY_quotedbl, IBUS_KEY_otilde,  0x1E4F, 
-+IBUS_KEY_quotedbl, 0x03D2,  0x03D4, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Umacron,  0x1E7A, 
-+IBUS_KEY_quotedbl, IBUS_KEY_umacron,  0x1E7B, 
-+IBUS_KEY_quotedbl, 0x04D8,  0x04DA, 
-+IBUS_KEY_quotedbl, 0x04D9,  0x04DB, 
-+IBUS_KEY_quotedbl, 0x04E8,  0x04EA, 
-+IBUS_KEY_quotedbl, 0x04E9,  0x04EB, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Ukrainian_i,  0x0457, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Ukrainian_I,  0x0407, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_a,  0x04D3, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ie,  0x0451, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_i,  0x04E5, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_o,  0x04E7, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_u,  0x04F1, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_zhe,  0x04DD, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_yeru,  0x04F9, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ze,  0x04DF, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_e,  0x04ED, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_che,  0x04F5, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_A,  0x04D2, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_IE,  0x0401, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_I,  0x04E4, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_O,  0x04E6, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_U,  0x04F0, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ZHE,  0x04DC, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_YERU,  0x04F8, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_ZE,  0x04DE, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_E,  0x04EC, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Cyrillic_CHE,  0x04F4, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Greek_IOTA,  0x03AA, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Greek_UPSILON,  0x03AB, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x03CA, 
-+IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x03CB, 
-+IBUS_KEY_quotedbl, IBUS_KEY_dead_acute,  0x0344, 
-+IBUS_KEY_numbersign, IBUS_KEY_numbersign,  0x266F, 
-+IBUS_KEY_numbersign, IBUS_KEY_E,  0x266B, 
-+IBUS_KEY_numbersign, IBUS_KEY_S,  0x266C, 
-+IBUS_KEY_numbersign, IBUS_KEY_b,  0x266D, 
-+IBUS_KEY_numbersign, IBUS_KEY_e,  0x266A, 
-+IBUS_KEY_numbersign, IBUS_KEY_f,  0x266E, 
-+IBUS_KEY_numbersign, IBUS_KEY_q,  0x2669, 
-+IBUS_KEY_percent, IBUS_KEY_o,  0x2030, 
-+IBUS_KEY_apostrophe, IBUS_KEY_space,  0x0027, 
-+IBUS_KEY_apostrophe, IBUS_KEY_apostrophe,  0x00B4, 
-+IBUS_KEY_apostrophe, IBUS_KEY_comma,  0x201A, 
-+IBUS_KEY_apostrophe, IBUS_KEY_less,  0x2018, 
-+IBUS_KEY_apostrophe, IBUS_KEY_greater,  0x2019, 
-+IBUS_KEY_apostrophe, IBUS_KEY_A,  0x00C1, 
-+IBUS_KEY_apostrophe, IBUS_KEY_C,  0x0106, 
-+IBUS_KEY_apostrophe, IBUS_KEY_E,  0x00C9, 
-+IBUS_KEY_apostrophe, IBUS_KEY_G,  0x01F4, 
-+IBUS_KEY_apostrophe, IBUS_KEY_I,  0x00CD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_K,  0x1E30, 
-+IBUS_KEY_apostrophe, IBUS_KEY_L,  0x0139, 
-+IBUS_KEY_apostrophe, IBUS_KEY_M,  0x1E3E, 
-+IBUS_KEY_apostrophe, IBUS_KEY_N,  0x0143, 
-+IBUS_KEY_apostrophe, IBUS_KEY_O,  0x00D3, 
-+IBUS_KEY_apostrophe, IBUS_KEY_P,  0x1E54, 
-+IBUS_KEY_apostrophe, IBUS_KEY_R,  0x0154, 
-+IBUS_KEY_apostrophe, IBUS_KEY_S,  0x015A, 
-+IBUS_KEY_apostrophe, IBUS_KEY_U,  0x00DA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_W,  0x1E82, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Y,  0x00DD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Z,  0x0179, 
-+IBUS_KEY_apostrophe, IBUS_KEY_a,  0x00E1, 
-+IBUS_KEY_apostrophe, IBUS_KEY_c,  0x0107, 
-+IBUS_KEY_apostrophe, IBUS_KEY_e,  0x00E9, 
-+IBUS_KEY_apostrophe, IBUS_KEY_g,  0x01F5, 
-+IBUS_KEY_apostrophe, IBUS_KEY_i,  0x00ED, 
-+IBUS_KEY_apostrophe, IBUS_KEY_k,  0x1E31, 
-+IBUS_KEY_apostrophe, IBUS_KEY_l,  0x013A, 
-+IBUS_KEY_apostrophe, IBUS_KEY_m,  0x1E3F, 
-+IBUS_KEY_apostrophe, IBUS_KEY_n,  0x0144, 
-+IBUS_KEY_apostrophe, IBUS_KEY_o,  0x00F3, 
-+IBUS_KEY_apostrophe, IBUS_KEY_p,  0x1E55, 
-+IBUS_KEY_apostrophe, IBUS_KEY_r,  0x0155, 
-+IBUS_KEY_apostrophe, IBUS_KEY_s,  0x015B, 
-+IBUS_KEY_apostrophe, IBUS_KEY_u,  0x00FA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_w,  0x1E83, 
-+IBUS_KEY_apostrophe, IBUS_KEY_y,  0x00FD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_z,  0x017A, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Acircumflex,  0x1EA4, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Aring,  0x01FA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_AE,  0x01FC, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Ccedilla,  0x1E08, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Ecircumflex,  0x1EBE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Idiaeresis,  0x1E2E, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Ocircumflex,  0x1ED0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Otilde,  0x1E4C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Ooblique,  0x01FE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Udiaeresis,  0x01D7, 
-+IBUS_KEY_apostrophe, IBUS_KEY_acircumflex,  0x1EA5, 
-+IBUS_KEY_apostrophe, IBUS_KEY_aring,  0x01FB, 
-+IBUS_KEY_apostrophe, IBUS_KEY_ae,  0x01FD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_ccedilla,  0x1E09, 
-+IBUS_KEY_apostrophe, IBUS_KEY_ecircumflex,  0x1EBF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_idiaeresis,  0x1E2F, 
-+IBUS_KEY_apostrophe, IBUS_KEY_ocircumflex,  0x1ED1, 
-+IBUS_KEY_apostrophe, IBUS_KEY_otilde,  0x1E4D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_oslash,  0x01FF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_udiaeresis,  0x01D8, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Abreve,  0x1EAE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_abreve,  0x1EAF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Emacron,  0x1E16, 
-+IBUS_KEY_apostrophe, IBUS_KEY_emacron,  0x1E17, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Omacron,  0x1E52, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Utilde,  0x1E78, 
-+IBUS_KEY_apostrophe, IBUS_KEY_omacron,  0x1E53, 
-+IBUS_KEY_apostrophe, IBUS_KEY_utilde,  0x1E79, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ghe,  0x0453, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ka,  0x045C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_GHE,  0x0403, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_KA,  0x040C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_iotadieresis,  0x0390, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilondieresis,  0x03B0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA,  0x0386, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_EPSILON,  0x0388, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA,  0x0389, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_IOTA,  0x038A, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMICRON,  0x038C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_UPSILON,  0x038E, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA,  0x038F, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha,  0x03AC, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_epsilon,  0x03AD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta,  0x03AE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_iota,  0x03AF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_omicron,  0x03CC, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilon,  0x03CD, 
-+IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega,  0x03CE, 
-+IBUS_KEY_apostrophe, 0x1F00,  0x1F04, 
-+IBUS_KEY_apostrophe, 0x1F01,  0x1F05, 
-+IBUS_KEY_apostrophe, 0x1F08,  0x1F0C, 
-+IBUS_KEY_apostrophe, 0x1F09,  0x1F0D, 
-+IBUS_KEY_apostrophe, 0x1F10,  0x1F14, 
-+IBUS_KEY_apostrophe, 0x1F11,  0x1F15, 
-+IBUS_KEY_apostrophe, 0x1F18,  0x1F1C, 
-+IBUS_KEY_apostrophe, 0x1F19,  0x1F1D, 
-+IBUS_KEY_apostrophe, 0x1F20,  0x1F24, 
-+IBUS_KEY_apostrophe, 0x1F21,  0x1F25, 
-+IBUS_KEY_apostrophe, 0x1F28,  0x1F2C, 
-+IBUS_KEY_apostrophe, 0x1F29,  0x1F2D, 
-+IBUS_KEY_apostrophe, 0x1F30,  0x1F34, 
-+IBUS_KEY_apostrophe, 0x1F31,  0x1F35, 
-+IBUS_KEY_apostrophe, 0x1F38,  0x1F3C, 
-+IBUS_KEY_apostrophe, 0x1F39,  0x1F3D, 
-+IBUS_KEY_apostrophe, 0x1F40,  0x1F44, 
-+IBUS_KEY_apostrophe, 0x1F41,  0x1F45, 
-+IBUS_KEY_apostrophe, 0x1F48,  0x1F4C, 
-+IBUS_KEY_apostrophe, 0x1F49,  0x1F4D, 
-+IBUS_KEY_apostrophe, 0x1F50,  0x1F54, 
-+IBUS_KEY_apostrophe, 0x1F51,  0x1F55, 
-+IBUS_KEY_apostrophe, 0x1F59,  0x1F5D, 
-+IBUS_KEY_apostrophe, 0x1F60,  0x1F64, 
-+IBUS_KEY_apostrophe, 0x1F61,  0x1F65, 
-+IBUS_KEY_apostrophe, 0x1F68,  0x1F6C, 
-+IBUS_KEY_apostrophe, 0x1F69,  0x1F6D, 
-+IBUS_KEY_apostrophe, 0x2395,  0x235E, 
-+IBUS_KEY_parenleft, IBUS_KEY_space,  0x02D8, 
-+IBUS_KEY_parenleft, IBUS_KEY_parenleft,  0x005B, 
-+IBUS_KEY_parenleft, IBUS_KEY_minus,  0x007B, 
-+IBUS_KEY_parenleft, IBUS_KEY_A,  0x0102, 
-+IBUS_KEY_parenleft, IBUS_KEY_G,  0x011E, 
-+IBUS_KEY_parenleft, IBUS_KEY_a,  0x0103, 
-+IBUS_KEY_parenleft, IBUS_KEY_c,  0x00A9, 
-+IBUS_KEY_parenleft, IBUS_KEY_g,  0x011F, 
-+IBUS_KEY_parenleft, IBUS_KEY_r,  0x00AE, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F09, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F19, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F29, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F39, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F49, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_RHO,  0x1FEC, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F59, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F69, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F01, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F11, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F21, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F31, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F41, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_rho,  0x1FE5, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F51, 
-+IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F61, 
-+IBUS_KEY_parenright, IBUS_KEY_parenright,  0x005D, 
-+IBUS_KEY_parenright, IBUS_KEY_minus,  0x007D, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F08, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F18, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F28, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F38, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F48, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F68, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F00, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F10, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F20, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F30, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F40, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_rho,  0x1FE4, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F50, 
-+IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F60, 
-+IBUS_KEY_asterisk, IBUS_KEY_0,  0x00B0, 
-+IBUS_KEY_asterisk, IBUS_KEY_A,  0x00C5, 
-+IBUS_KEY_asterisk, IBUS_KEY_U,  0x016E, 
-+IBUS_KEY_asterisk, IBUS_KEY_a,  0x00E5, 
-+IBUS_KEY_asterisk, IBUS_KEY_u,  0x016F, 
-+IBUS_KEY_asterisk, IBUS_KEY_diaeresis,  0x2363, 
-+IBUS_KEY_asterisk, IBUS_KEY_emopencircle,  0x235F, 
-+IBUS_KEY_plus, IBUS_KEY_plus,  0x0023, 
-+IBUS_KEY_plus, IBUS_KEY_minus,  0x00B1, 
-+IBUS_KEY_plus, IBUS_KEY_O,  0x01A0, 
-+IBUS_KEY_plus, IBUS_KEY_U,  0x01AF, 
-+IBUS_KEY_plus, IBUS_KEY_o,  0x01A1, 
-+IBUS_KEY_plus, IBUS_KEY_u,  0x01B0, 
-+IBUS_KEY_comma, IBUS_KEY_space,  0x00B8, 
-+IBUS_KEY_comma, IBUS_KEY_quotedbl,  0x201E, 
-+IBUS_KEY_comma, IBUS_KEY_apostrophe,  0x201A, 
-+IBUS_KEY_comma, IBUS_KEY_comma,  0x00B8, 
-+IBUS_KEY_comma, IBUS_KEY_minus,  0x00AC, 
-+IBUS_KEY_comma, IBUS_KEY_A,  0x0104, 
-+IBUS_KEY_comma, IBUS_KEY_C,  0x00C7, 
-+IBUS_KEY_comma, IBUS_KEY_D,  0x1E10, 
-+IBUS_KEY_comma, IBUS_KEY_E,  0x0118, 
-+IBUS_KEY_comma, IBUS_KEY_G,  0x0122, 
-+IBUS_KEY_comma, IBUS_KEY_H,  0x1E28, 
-+IBUS_KEY_comma, IBUS_KEY_I,  0x012E, 
-+IBUS_KEY_comma, IBUS_KEY_K,  0x0136, 
-+IBUS_KEY_comma, IBUS_KEY_L,  0x013B, 
-+IBUS_KEY_comma, IBUS_KEY_N,  0x0145, 
-+IBUS_KEY_comma, IBUS_KEY_O,  0x01EA, 
-+IBUS_KEY_comma, IBUS_KEY_R,  0x0156, 
-+IBUS_KEY_comma, IBUS_KEY_S,  0x015E, 
-+IBUS_KEY_comma, IBUS_KEY_T,  0x0162, 
-+IBUS_KEY_comma, IBUS_KEY_U,  0x0172, 
-+IBUS_KEY_comma, IBUS_KEY_a,  0x0105, 
-+IBUS_KEY_comma, IBUS_KEY_c,  0x00E7, 
-+IBUS_KEY_comma, IBUS_KEY_d,  0x1E11, 
-+IBUS_KEY_comma, IBUS_KEY_e,  0x0119, 
-+IBUS_KEY_comma, IBUS_KEY_g,  0x0123, 
-+IBUS_KEY_comma, IBUS_KEY_h,  0x1E29, 
-+IBUS_KEY_comma, IBUS_KEY_i,  0x012F, 
-+IBUS_KEY_comma, IBUS_KEY_k,  0x0137, 
-+IBUS_KEY_comma, IBUS_KEY_l,  0x013C, 
-+IBUS_KEY_comma, IBUS_KEY_n,  0x0146, 
-+IBUS_KEY_comma, IBUS_KEY_o,  0x01EB, 
-+IBUS_KEY_comma, IBUS_KEY_r,  0x0157, 
-+IBUS_KEY_comma, IBUS_KEY_s,  0x015F, 
-+IBUS_KEY_comma, IBUS_KEY_t,  0x0163, 
-+IBUS_KEY_comma, IBUS_KEY_u,  0x0173, 
-+IBUS_KEY_minus, IBUS_KEY_space,  0x007E, 
-+IBUS_KEY_minus, IBUS_KEY_parenleft,  0x007B, 
-+IBUS_KEY_minus, IBUS_KEY_parenright,  0x007D, 
-+IBUS_KEY_minus, IBUS_KEY_plus,  0x00B1, 
-+IBUS_KEY_minus, IBUS_KEY_comma,  0x00AC, 
-+IBUS_KEY_minus, IBUS_KEY_slash,  0x233F, 
-+IBUS_KEY_minus, IBUS_KEY_colon,  0x00F7, 
-+IBUS_KEY_minus, IBUS_KEY_greater,  0x2192, 
-+IBUS_KEY_minus, IBUS_KEY_A,  0x0100, 
-+IBUS_KEY_minus, IBUS_KEY_D,  0x0110, 
-+IBUS_KEY_minus, IBUS_KEY_E,  0x0112, 
-+IBUS_KEY_minus, IBUS_KEY_I,  0x012A, 
-+IBUS_KEY_minus, IBUS_KEY_L,  0x00A3, 
-+IBUS_KEY_minus, IBUS_KEY_N,  0x00D1, 
-+IBUS_KEY_minus, IBUS_KEY_O,  0x014C, 
-+IBUS_KEY_minus, IBUS_KEY_U,  0x016A, 
-+IBUS_KEY_minus, IBUS_KEY_Y,  0x00A5, 
-+IBUS_KEY_minus, IBUS_KEY_backslash,  0x2340, 
-+IBUS_KEY_minus, IBUS_KEY_asciicircum,  0x00AF, 
-+IBUS_KEY_minus, IBUS_KEY_a,  0x0101, 
-+IBUS_KEY_minus, IBUS_KEY_d,  0x0111, 
-+IBUS_KEY_minus, IBUS_KEY_e,  0x0113, 
-+IBUS_KEY_minus, IBUS_KEY_i,  0x012B, 
-+IBUS_KEY_minus, IBUS_KEY_l,  0x00A3, 
-+IBUS_KEY_minus, IBUS_KEY_n,  0x00F1, 
-+IBUS_KEY_minus, IBUS_KEY_o,  0x014D, 
-+IBUS_KEY_minus, IBUS_KEY_u,  0x016B, 
-+IBUS_KEY_minus, IBUS_KEY_y,  0x00A5, 
-+IBUS_KEY_minus, 0x2191,  0x234F, 
-+IBUS_KEY_minus, 0x2193,  0x2356, 
-+IBUS_KEY_minus, IBUS_KEY_emopencircle,  0x2296, 
-+IBUS_KEY_period, IBUS_KEY_minus,  0x00B7, 
-+IBUS_KEY_period, IBUS_KEY_period,  0x2026, 
-+IBUS_KEY_period, IBUS_KEY_colon,  0x2235, 
-+IBUS_KEY_period, IBUS_KEY_less,  0x2039, 
-+IBUS_KEY_period, IBUS_KEY_equal,  0x2022, 
-+IBUS_KEY_period, IBUS_KEY_greater,  0x203A, 
-+IBUS_KEY_period, IBUS_KEY_A,  0x0226, 
-+IBUS_KEY_period, IBUS_KEY_B,  0x1E02, 
-+IBUS_KEY_period, IBUS_KEY_C,  0x010A, 
-+IBUS_KEY_period, IBUS_KEY_D,  0x1E0A, 
-+IBUS_KEY_period, IBUS_KEY_E,  0x0116, 
-+IBUS_KEY_period, IBUS_KEY_F,  0x1E1E, 
-+IBUS_KEY_period, IBUS_KEY_G,  0x0120, 
-+IBUS_KEY_period, IBUS_KEY_H,  0x1E22, 
-+IBUS_KEY_period, IBUS_KEY_I,  0x0130, 
-+IBUS_KEY_period, IBUS_KEY_M,  0x1E40, 
-+IBUS_KEY_period, IBUS_KEY_N,  0x1E44, 
-+IBUS_KEY_period, IBUS_KEY_O,  0x022E, 
-+IBUS_KEY_period, IBUS_KEY_P,  0x1E56, 
-+IBUS_KEY_period, IBUS_KEY_R,  0x1E58, 
-+IBUS_KEY_period, IBUS_KEY_S,  0x1E60, 
-+IBUS_KEY_period, IBUS_KEY_T,  0x1E6A, 
-+IBUS_KEY_period, IBUS_KEY_W,  0x1E86, 
-+IBUS_KEY_period, IBUS_KEY_X,  0x1E8A, 
-+IBUS_KEY_period, IBUS_KEY_Y,  0x1E8E, 
-+IBUS_KEY_period, IBUS_KEY_Z,  0x017B, 
-+IBUS_KEY_period, IBUS_KEY_asciicircum,  0x00B7, 
-+IBUS_KEY_period, IBUS_KEY_a,  0x0227, 
-+IBUS_KEY_period, IBUS_KEY_b,  0x1E03, 
-+IBUS_KEY_period, IBUS_KEY_c,  0x010B, 
-+IBUS_KEY_period, IBUS_KEY_d,  0x1E0B, 
-+IBUS_KEY_period, IBUS_KEY_e,  0x0117, 
-+IBUS_KEY_period, IBUS_KEY_f,  0x1E1F, 
-+IBUS_KEY_period, IBUS_KEY_g,  0x0121, 
-+IBUS_KEY_period, IBUS_KEY_h,  0x1E23, 
-+IBUS_KEY_period, IBUS_KEY_i,  0x0131, 
-+IBUS_KEY_period, IBUS_KEY_m,  0x1E41, 
-+IBUS_KEY_period, IBUS_KEY_n,  0x1E45, 
-+IBUS_KEY_period, IBUS_KEY_o,  0x022F, 
-+IBUS_KEY_period, IBUS_KEY_p,  0x1E57, 
-+IBUS_KEY_period, IBUS_KEY_r,  0x1E59, 
-+IBUS_KEY_period, IBUS_KEY_s,  0x1E61, 
-+IBUS_KEY_period, IBUS_KEY_t,  0x1E6B, 
-+IBUS_KEY_period, IBUS_KEY_w,  0x1E87, 
-+IBUS_KEY_period, IBUS_KEY_x,  0x1E8B, 
-+IBUS_KEY_period, IBUS_KEY_y,  0x1E8F, 
-+IBUS_KEY_period, IBUS_KEY_z,  0x017C, 
-+IBUS_KEY_period, 0x017F,  0x1E9B, 
-+IBUS_KEY_period, IBUS_KEY_Sacute,  0x1E64, 
-+IBUS_KEY_period, IBUS_KEY_Scaron,  0x1E66, 
-+IBUS_KEY_period, IBUS_KEY_sacute,  0x1E65, 
-+IBUS_KEY_period, IBUS_KEY_scaron,  0x1E67, 
-+IBUS_KEY_period, 0x1E62,  0x1E68, 
-+IBUS_KEY_period, 0x1E63,  0x1E69, 
-+IBUS_KEY_period, IBUS_KEY_emopencircle,  0x2299, 
-+IBUS_KEY_slash, IBUS_KEY_minus,  0x233F, 
-+IBUS_KEY_slash, IBUS_KEY_slash,  0x005C, 
-+IBUS_KEY_slash, IBUS_KEY_less,  0x005C, 
-+IBUS_KEY_slash, IBUS_KEY_equal,  0x2260, 
-+IBUS_KEY_slash, IBUS_KEY_C,  0x20A1, 
-+IBUS_KEY_slash, IBUS_KEY_D,  0x0110, 
-+IBUS_KEY_slash, IBUS_KEY_G,  0x01E4, 
-+IBUS_KEY_slash, IBUS_KEY_H,  0x0126, 
-+IBUS_KEY_slash, IBUS_KEY_I,  0x0197, 
-+IBUS_KEY_slash, IBUS_KEY_L,  0x0141, 
-+IBUS_KEY_slash, IBUS_KEY_O,  0x00D8, 
-+IBUS_KEY_slash, IBUS_KEY_T,  0x0166, 
-+IBUS_KEY_slash, IBUS_KEY_U,  0x00B5, 
-+IBUS_KEY_slash, IBUS_KEY_Z,  0x01B5, 
-+IBUS_KEY_slash, IBUS_KEY_asciicircum,  0x007C, 
-+IBUS_KEY_slash, IBUS_KEY_b,  0x0180, 
-+IBUS_KEY_slash, IBUS_KEY_c,  0x00A2, 
-+IBUS_KEY_slash, IBUS_KEY_d,  0x0111, 
-+IBUS_KEY_slash, IBUS_KEY_g,  0x01E5, 
-+IBUS_KEY_slash, IBUS_KEY_h,  0x0127, 
-+IBUS_KEY_slash, IBUS_KEY_i,  0x0268, 
-+IBUS_KEY_slash, IBUS_KEY_l,  0x0142, 
-+IBUS_KEY_slash, IBUS_KEY_m,  0x20A5, 
-+IBUS_KEY_slash, IBUS_KEY_o,  0x00F8, 
-+IBUS_KEY_slash, IBUS_KEY_t,  0x0167, 
-+IBUS_KEY_slash, IBUS_KEY_u,  0x00B5, 
-+IBUS_KEY_slash, IBUS_KEY_v,  0x221A, 
-+IBUS_KEY_slash, IBUS_KEY_z,  0x01B6, 
-+IBUS_KEY_slash, 0x0294,  0x02A1, 
-+IBUS_KEY_slash, 0x04AE,  0x04B0, 
-+IBUS_KEY_slash, 0x04AF,  0x04B1, 
-+IBUS_KEY_slash, IBUS_KEY_Cyrillic_ghe,  0x0493, 
-+IBUS_KEY_slash, IBUS_KEY_Cyrillic_ka,  0x049F, 
-+IBUS_KEY_slash, IBUS_KEY_Cyrillic_GHE,  0x0492, 
-+IBUS_KEY_slash, IBUS_KEY_Cyrillic_KA,  0x049E, 
-+IBUS_KEY_slash, IBUS_KEY_leftarrow,  0x219A, 
-+IBUS_KEY_slash, IBUS_KEY_rightarrow,  0x219B, 
-+IBUS_KEY_slash, 0x2194,  0x21AE, 
-+IBUS_KEY_slash, 0x2395,  0x2341, 
-+IBUS_KEY_0, IBUS_KEY_asterisk,  0x00B0, 
-+IBUS_KEY_0, IBUS_KEY_3,  0x2189, 
-+IBUS_KEY_0, IBUS_KEY_C,  0x00A9, 
-+IBUS_KEY_0, IBUS_KEY_S,  0x00A7, 
-+IBUS_KEY_0, IBUS_KEY_X,  0x00A4, 
-+IBUS_KEY_0, IBUS_KEY_asciicircum,  0x00B0, 
-+IBUS_KEY_0, IBUS_KEY_c,  0x00A9, 
-+IBUS_KEY_0, IBUS_KEY_s,  0x00A7, 
-+IBUS_KEY_0, IBUS_KEY_x,  0x00A4, 
-+IBUS_KEY_0, IBUS_KEY_asciitilde,  0x236C, 
-+IBUS_KEY_1, IBUS_KEY_2,  0x00BD, 
-+IBUS_KEY_1, IBUS_KEY_3,  0x2153, 
-+IBUS_KEY_1, IBUS_KEY_4,  0x00BC, 
-+IBUS_KEY_1, IBUS_KEY_5,  0x2155, 
-+IBUS_KEY_1, IBUS_KEY_6,  0x2159, 
-+IBUS_KEY_1, IBUS_KEY_7,  0x2150, 
-+IBUS_KEY_1, IBUS_KEY_8,  0x215B, 
-+IBUS_KEY_1, IBUS_KEY_9,  0x2151, 
-+IBUS_KEY_1, IBUS_KEY_S,  0x00B9, 
-+IBUS_KEY_1, IBUS_KEY_asciicircum,  0x00B9, 
-+IBUS_KEY_1, IBUS_KEY_s,  0x00B9, 
-+IBUS_KEY_2, IBUS_KEY_3,  0x2154, 
-+IBUS_KEY_2, IBUS_KEY_5,  0x2156, 
-+IBUS_KEY_2, IBUS_KEY_S,  0x00B2, 
-+IBUS_KEY_2, IBUS_KEY_asciicircum,  0x00B2, 
-+IBUS_KEY_2, IBUS_KEY_s,  0x00B2, 
-+IBUS_KEY_3, IBUS_KEY_4,  0x00BE, 
-+IBUS_KEY_3, IBUS_KEY_5,  0x2157, 
-+IBUS_KEY_3, IBUS_KEY_8,  0x215C, 
-+IBUS_KEY_3, IBUS_KEY_S,  0x00B3, 
-+IBUS_KEY_3, IBUS_KEY_asciicircum,  0x00B3, 
-+IBUS_KEY_3, IBUS_KEY_s,  0x00B3, 
-+IBUS_KEY_4, IBUS_KEY_5,  0x2158, 
-+IBUS_KEY_5, IBUS_KEY_6,  0x215A, 
-+IBUS_KEY_5, IBUS_KEY_8,  0x215D, 
-+IBUS_KEY_7, IBUS_KEY_8,  0x215E, 
-+IBUS_KEY_8, IBUS_KEY_8,  0x221E, 
-+IBUS_KEY_colon, IBUS_KEY_parenleft,  0x2639, 
-+IBUS_KEY_colon, IBUS_KEY_parenright,  0x263A, 
-+IBUS_KEY_colon, IBUS_KEY_minus,  0x00F7, 
-+IBUS_KEY_colon, IBUS_KEY_period,  0x2234, 
-+IBUS_KEY_colon, 0x2395,  0x2360, 
-+IBUS_KEY_semicolon, IBUS_KEY_A,  0x0104, 
-+IBUS_KEY_semicolon, IBUS_KEY_E,  0x0118, 
-+IBUS_KEY_semicolon, IBUS_KEY_I,  0x012E, 
-+IBUS_KEY_semicolon, IBUS_KEY_O,  0x01EA, 
-+IBUS_KEY_semicolon, IBUS_KEY_S,  0x0218, 
-+IBUS_KEY_semicolon, IBUS_KEY_T,  0x021A, 
-+IBUS_KEY_semicolon, IBUS_KEY_U,  0x0172, 
-+IBUS_KEY_semicolon, IBUS_KEY_underscore,  0x236E, 
-+IBUS_KEY_semicolon, IBUS_KEY_a,  0x0105, 
-+IBUS_KEY_semicolon, IBUS_KEY_e,  0x0119, 
-+IBUS_KEY_semicolon, IBUS_KEY_i,  0x012F, 
-+IBUS_KEY_semicolon, IBUS_KEY_o,  0x01EB, 
-+IBUS_KEY_semicolon, IBUS_KEY_s,  0x0219, 
-+IBUS_KEY_semicolon, IBUS_KEY_t,  0x021B, 
-+IBUS_KEY_semicolon, IBUS_KEY_u,  0x0173, 
-+IBUS_KEY_less, IBUS_KEY_space,  0x02C7, 
-+IBUS_KEY_less, IBUS_KEY_quotedbl,  0x201C, 
-+IBUS_KEY_less, IBUS_KEY_apostrophe,  0x2018, 
-+IBUS_KEY_less, IBUS_KEY_minus,  0x2190, 
-+IBUS_KEY_less, IBUS_KEY_slash,  0x005C, 
-+IBUS_KEY_less, IBUS_KEY_3,  0x2665, 
-+IBUS_KEY_less, IBUS_KEY_less,  0x00AB, 
-+IBUS_KEY_less, IBUS_KEY_equal,  0x2264, 
-+IBUS_KEY_less, IBUS_KEY_greater,  0x22C4, 
-+IBUS_KEY_less, IBUS_KEY_C,  0x010C, 
-+IBUS_KEY_less, IBUS_KEY_D,  0x010E, 
-+IBUS_KEY_less, IBUS_KEY_E,  0x011A, 
-+IBUS_KEY_less, IBUS_KEY_L,  0x013D, 
-+IBUS_KEY_less, IBUS_KEY_N,  0x0147, 
-+IBUS_KEY_less, IBUS_KEY_R,  0x0158, 
-+IBUS_KEY_less, IBUS_KEY_S,  0x0160, 
-+IBUS_KEY_less, IBUS_KEY_T,  0x0164, 
-+IBUS_KEY_less, IBUS_KEY_Z,  0x017D, 
-+IBUS_KEY_less, IBUS_KEY_underscore,  0x2264, 
-+IBUS_KEY_less, IBUS_KEY_c,  0x010D, 
-+IBUS_KEY_less, IBUS_KEY_d,  0x010F, 
-+IBUS_KEY_less, IBUS_KEY_e,  0x011B, 
-+IBUS_KEY_less, IBUS_KEY_l,  0x013E, 
-+IBUS_KEY_less, IBUS_KEY_n,  0x0148, 
-+IBUS_KEY_less, IBUS_KEY_r,  0x0159, 
-+IBUS_KEY_less, IBUS_KEY_s,  0x0161, 
-+IBUS_KEY_less, IBUS_KEY_t,  0x0165, 
-+IBUS_KEY_less, IBUS_KEY_z,  0x017E, 
-+IBUS_KEY_less, 0x0338,  0x226E, 
-+IBUS_KEY_less, 0x2395,  0x2343, 
-+IBUS_KEY_equal, IBUS_KEY_slash,  0x2260, 
-+IBUS_KEY_equal, IBUS_KEY_greater,  0x21D2, 
-+IBUS_KEY_equal, IBUS_KEY_C,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_E,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_L,  0x20A4, 
-+IBUS_KEY_equal, IBUS_KEY_N,  0x20A6, 
-+IBUS_KEY_equal, IBUS_KEY_O,  0x0150, 
-+IBUS_KEY_equal, IBUS_KEY_R,  0x20B9, 
-+IBUS_KEY_equal, IBUS_KEY_U,  0x0170, 
-+IBUS_KEY_equal, IBUS_KEY_W,  0x20A9, 
-+IBUS_KEY_equal, IBUS_KEY_Y,  0x00A5, 
-+IBUS_KEY_equal, IBUS_KEY_underscore,  0x2261, 
-+IBUS_KEY_equal, IBUS_KEY_c,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_d,  0x20AB, 
-+IBUS_KEY_equal, IBUS_KEY_e,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_l,  0x00A3, 
-+IBUS_KEY_equal, IBUS_KEY_o,  0x0151, 
-+IBUS_KEY_equal, IBUS_KEY_r,  0x20B9, 
-+IBUS_KEY_equal, IBUS_KEY_u,  0x0171, 
-+IBUS_KEY_equal, IBUS_KEY_y,  0x00A5, 
-+IBUS_KEY_equal, 0x0338,  0x2260, 
-+IBUS_KEY_equal, IBUS_KEY_Cyrillic_u,  0x04F3, 
-+IBUS_KEY_equal, IBUS_KEY_Cyrillic_IE,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_Cyrillic_ES,  0x20AC, 
-+IBUS_KEY_equal, IBUS_KEY_Cyrillic_U,  0x04F2, 
-+IBUS_KEY_equal, 0x2395,  0x2338, 
-+IBUS_KEY_greater, IBUS_KEY_space,  0x005E, 
-+IBUS_KEY_greater, IBUS_KEY_quotedbl,  0x201D, 
-+IBUS_KEY_greater, IBUS_KEY_apostrophe,  0x2019, 
-+IBUS_KEY_greater, IBUS_KEY_less,  0x22C4, 
-+IBUS_KEY_greater, IBUS_KEY_equal,  0x2265, 
-+IBUS_KEY_greater, IBUS_KEY_greater,  0x00BB, 
-+IBUS_KEY_greater, IBUS_KEY_A,  0x00C2, 
-+IBUS_KEY_greater, IBUS_KEY_E,  0x00CA, 
-+IBUS_KEY_greater, IBUS_KEY_I,  0x00CE, 
-+IBUS_KEY_greater, IBUS_KEY_O,  0x00D4, 
-+IBUS_KEY_greater, IBUS_KEY_U,  0x00DB, 
-+IBUS_KEY_greater, IBUS_KEY_underscore,  0x2265, 
-+IBUS_KEY_greater, IBUS_KEY_a,  0x00E2, 
-+IBUS_KEY_greater, IBUS_KEY_e,  0x00EA, 
-+IBUS_KEY_greater, IBUS_KEY_i,  0x00EE, 
-+IBUS_KEY_greater, IBUS_KEY_o,  0x00F4, 
-+IBUS_KEY_greater, IBUS_KEY_u,  0x00FB, 
-+IBUS_KEY_greater, IBUS_KEY_diaeresis,  0x2369, 
-+IBUS_KEY_greater, 0x0338,  0x226F, 
-+IBUS_KEY_greater, 0x2395,  0x2344, 
-+IBUS_KEY_question, IBUS_KEY_exclam,  0x2E18, 
-+IBUS_KEY_question, IBUS_KEY_question,  0x00BF, 
-+IBUS_KEY_question, IBUS_KEY_A,  0x1EA2, 
-+IBUS_KEY_question, IBUS_KEY_E,  0x1EBA, 
-+IBUS_KEY_question, IBUS_KEY_I,  0x1EC8, 
-+IBUS_KEY_question, IBUS_KEY_O,  0x1ECE, 
-+IBUS_KEY_question, IBUS_KEY_U,  0x1EE6, 
-+IBUS_KEY_question, IBUS_KEY_Y,  0x1EF6, 
-+IBUS_KEY_question, IBUS_KEY_a,  0x1EA3, 
-+IBUS_KEY_question, IBUS_KEY_e,  0x1EBB, 
-+IBUS_KEY_question, IBUS_KEY_i,  0x1EC9, 
-+IBUS_KEY_question, IBUS_KEY_o,  0x1ECF, 
-+IBUS_KEY_question, IBUS_KEY_u,  0x1EE7, 
-+IBUS_KEY_question, IBUS_KEY_y,  0x1EF7, 
-+IBUS_KEY_question, IBUS_KEY_Acircumflex,  0x1EA8, 
-+IBUS_KEY_question, IBUS_KEY_Ecircumflex,  0x1EC2, 
-+IBUS_KEY_question, IBUS_KEY_Ocircumflex,  0x1ED4, 
-+IBUS_KEY_question, IBUS_KEY_acircumflex,  0x1EA9, 
-+IBUS_KEY_question, IBUS_KEY_ecircumflex,  0x1EC3, 
-+IBUS_KEY_question, IBUS_KEY_ocircumflex,  0x1ED5, 
-+IBUS_KEY_question, IBUS_KEY_Abreve,  0x1EB2, 
-+IBUS_KEY_question, IBUS_KEY_abreve,  0x1EB3, 
-+IBUS_KEY_question, 0x2395,  0x2370, 
-+IBUS_KEY_A, IBUS_KEY_quotedbl,  0x00C4, 
-+IBUS_KEY_A, IBUS_KEY_apostrophe,  0x00C1, 
-+IBUS_KEY_A, IBUS_KEY_parenleft,  0x0102, 
-+IBUS_KEY_A, IBUS_KEY_asterisk,  0x00C5, 
-+IBUS_KEY_A, IBUS_KEY_comma,  0x0104, 
-+IBUS_KEY_A, IBUS_KEY_minus,  0x0100, 
-+IBUS_KEY_A, IBUS_KEY_semicolon,  0x0104, 
-+IBUS_KEY_A, IBUS_KEY_greater,  0x00C2, 
-+IBUS_KEY_A, IBUS_KEY_A,  0x00C5, 
-+IBUS_KEY_A, IBUS_KEY_E,  0x00C6, 
-+IBUS_KEY_A, IBUS_KEY_T,  0x0040, 
-+IBUS_KEY_A, IBUS_KEY_asciicircum,  0x00C2, 
-+IBUS_KEY_A, IBUS_KEY_underscore,  0x0100, 
-+IBUS_KEY_A, IBUS_KEY_grave,  0x00C0, 
-+IBUS_KEY_A, IBUS_KEY_asciitilde,  0x00C3, 
-+IBUS_KEY_A, IBUS_KEY_diaeresis,  0x00C4, 
-+IBUS_KEY_A, IBUS_KEY_acute,  0x00C1, 
-+IBUS_KEY_B, IBUS_KEY_period,  0x1E02, 
-+IBUS_KEY_C, IBUS_KEY_apostrophe,  0x0106, 
-+IBUS_KEY_C, IBUS_KEY_comma,  0x00C7, 
-+IBUS_KEY_C, IBUS_KEY_period,  0x010A, 
-+IBUS_KEY_C, IBUS_KEY_slash,  0x20A1, 
-+IBUS_KEY_C, IBUS_KEY_0,  0x00A9, 
-+IBUS_KEY_C, IBUS_KEY_less,  0x010C, 
-+IBUS_KEY_C, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_C, IBUS_KEY_E,  0x20A0, 
-+IBUS_KEY_C, IBUS_KEY_O,  0x00A9, 
-+IBUS_KEY_C, IBUS_KEY_o,  0x00A9, 
-+IBUS_KEY_C, IBUS_KEY_r,  0x20A2, 
-+IBUS_KEY_C, IBUS_KEY_bar,  0x00A2, 
-+IBUS_KEY_D, IBUS_KEY_comma,  0x1E10, 
-+IBUS_KEY_D, IBUS_KEY_minus,  0x0110, 
-+IBUS_KEY_D, IBUS_KEY_period,  0x1E0A, 
-+IBUS_KEY_D, IBUS_KEY_less,  0x010E, 
-+IBUS_KEY_D, IBUS_KEY_H,  0x00D0, 
-+IBUS_KEY_E, IBUS_KEY_quotedbl,  0x00CB, 
-+IBUS_KEY_E, IBUS_KEY_apostrophe,  0x00C9, 
-+IBUS_KEY_E, IBUS_KEY_comma,  0x0118, 
-+IBUS_KEY_E, IBUS_KEY_minus,  0x0112, 
-+IBUS_KEY_E, IBUS_KEY_period,  0x0116, 
-+IBUS_KEY_E, IBUS_KEY_semicolon,  0x0118, 
-+IBUS_KEY_E, IBUS_KEY_less,  0x011A, 
-+IBUS_KEY_E, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_E, IBUS_KEY_greater,  0x00CA, 
-+IBUS_KEY_E, IBUS_KEY_asciicircum,  0x00CA, 
-+IBUS_KEY_E, IBUS_KEY_underscore,  0x0112, 
-+IBUS_KEY_E, IBUS_KEY_grave,  0x00C8, 
-+IBUS_KEY_E, IBUS_KEY_diaeresis,  0x00CB, 
-+IBUS_KEY_E, IBUS_KEY_acute,  0x00C9, 
-+IBUS_KEY_F, IBUS_KEY_period,  0x1E1E, 
-+IBUS_KEY_F, IBUS_KEY_i,  0xFB03, 
-+IBUS_KEY_F, IBUS_KEY_l,  0xFB04, 
-+IBUS_KEY_F, IBUS_KEY_r,  0x20A3, 
-+IBUS_KEY_G, IBUS_KEY_parenleft,  0x011E, 
-+IBUS_KEY_G, IBUS_KEY_comma,  0x0122, 
-+IBUS_KEY_G, IBUS_KEY_period,  0x0120, 
-+IBUS_KEY_G, IBUS_KEY_U,  0x011E, 
-+IBUS_KEY_G, IBUS_KEY_breve,  0x011E, 
-+IBUS_KEY_H, IBUS_KEY_comma,  0x1E28, 
-+IBUS_KEY_I, IBUS_KEY_quotedbl,  0x00CF, 
-+IBUS_KEY_I, IBUS_KEY_apostrophe,  0x00CD, 
-+IBUS_KEY_I, IBUS_KEY_comma,  0x012E, 
-+IBUS_KEY_I, IBUS_KEY_minus,  0x012A, 
-+IBUS_KEY_I, IBUS_KEY_period,  0x0130, 
-+IBUS_KEY_I, IBUS_KEY_semicolon,  0x012E, 
-+IBUS_KEY_I, IBUS_KEY_greater,  0x00CE, 
-+IBUS_KEY_I, IBUS_KEY_J,  0x0132, 
-+IBUS_KEY_I, IBUS_KEY_asciicircum,  0x00CE, 
-+IBUS_KEY_I, IBUS_KEY_underscore,  0x012A, 
-+IBUS_KEY_I, IBUS_KEY_grave,  0x00CC, 
-+IBUS_KEY_I, IBUS_KEY_j,  0x0132, 
-+IBUS_KEY_I, IBUS_KEY_asciitilde,  0x0128, 
-+IBUS_KEY_I, IBUS_KEY_diaeresis,  0x00CF, 
-+IBUS_KEY_I, IBUS_KEY_acute,  0x00CD, 
-+IBUS_KEY_K, IBUS_KEY_comma,  0x0136, 
-+IBUS_KEY_L, IBUS_KEY_apostrophe,  0x0139, 
-+IBUS_KEY_L, IBUS_KEY_comma,  0x013B, 
-+IBUS_KEY_L, IBUS_KEY_minus,  0x00A3, 
-+IBUS_KEY_L, IBUS_KEY_slash,  0x0141, 
-+IBUS_KEY_L, IBUS_KEY_less,  0x013D, 
-+IBUS_KEY_L, IBUS_KEY_equal,  0x20A4, 
-+IBUS_KEY_L, IBUS_KEY_V,  0x007C, 
-+IBUS_KEY_M, IBUS_KEY_period,  0x1E40, 
-+IBUS_KEY_N, IBUS_KEY_apostrophe,  0x0143, 
-+IBUS_KEY_N, IBUS_KEY_comma,  0x0145, 
-+IBUS_KEY_N, IBUS_KEY_minus,  0x00D1, 
-+IBUS_KEY_N, IBUS_KEY_less,  0x0147, 
-+IBUS_KEY_N, IBUS_KEY_equal,  0x20A6, 
-+IBUS_KEY_N, IBUS_KEY_G,  0x014A, 
-+IBUS_KEY_N, IBUS_KEY_O,  0x2116, 
-+IBUS_KEY_N, IBUS_KEY_o,  0x2116, 
-+IBUS_KEY_N, IBUS_KEY_asciitilde,  0x00D1, 
-+IBUS_KEY_O, IBUS_KEY_quotedbl,  0x00D6, 
-+IBUS_KEY_O, IBUS_KEY_apostrophe,  0x00D3, 
-+IBUS_KEY_O, IBUS_KEY_comma,  0x01EA, 
-+IBUS_KEY_O, IBUS_KEY_minus,  0x014C, 
-+IBUS_KEY_O, IBUS_KEY_slash,  0x00D8, 
-+IBUS_KEY_O, IBUS_KEY_semicolon,  0x01EA, 
-+IBUS_KEY_O, IBUS_KEY_greater,  0x00D4, 
-+IBUS_KEY_O, IBUS_KEY_A,  0x24B6, 
-+IBUS_KEY_O, IBUS_KEY_C,  0x00A9, 
-+IBUS_KEY_O, IBUS_KEY_E,  0x0152, 
-+IBUS_KEY_O, IBUS_KEY_R,  0x00AE, 
-+IBUS_KEY_O, IBUS_KEY_S,  0x00A7, 
-+IBUS_KEY_O, IBUS_KEY_X,  0x00A4, 
-+IBUS_KEY_O, IBUS_KEY_asciicircum,  0x00D4, 
-+IBUS_KEY_O, IBUS_KEY_underscore,  0x014C, 
-+IBUS_KEY_O, IBUS_KEY_grave,  0x00D2, 
-+IBUS_KEY_O, IBUS_KEY_c,  0x00A9, 
-+IBUS_KEY_O, IBUS_KEY_r,  0x00AE, 
-+IBUS_KEY_O, IBUS_KEY_x,  0x00A4, 
-+IBUS_KEY_O, IBUS_KEY_asciitilde,  0x00D5, 
-+IBUS_KEY_O, IBUS_KEY_diaeresis,  0x00D6, 
-+IBUS_KEY_O, IBUS_KEY_acute,  0x00D3, 
-+IBUS_KEY_P, IBUS_KEY_exclam,  0x00B6, 
-+IBUS_KEY_P, IBUS_KEY_period,  0x1E56, 
-+IBUS_KEY_P, IBUS_KEY_P,  0x00B6, 
-+IBUS_KEY_P, IBUS_KEY_t,  0x20A7, 
-+IBUS_KEY_R, IBUS_KEY_apostrophe,  0x0154, 
-+IBUS_KEY_R, IBUS_KEY_comma,  0x0156, 
-+IBUS_KEY_R, IBUS_KEY_less,  0x0158, 
-+IBUS_KEY_R, IBUS_KEY_equal,  0x20B9, 
-+IBUS_KEY_R, IBUS_KEY_O,  0x00AE, 
-+IBUS_KEY_R, IBUS_KEY_o,  0x00AE, 
-+IBUS_KEY_R, IBUS_KEY_s,  0x20A8, 
-+IBUS_KEY_S, IBUS_KEY_exclam,  0x00A7, 
-+IBUS_KEY_S, IBUS_KEY_apostrophe,  0x015A, 
-+IBUS_KEY_S, IBUS_KEY_comma,  0x015E, 
-+IBUS_KEY_S, IBUS_KEY_period,  0x1E60, 
-+IBUS_KEY_S, IBUS_KEY_0,  0x00A7, 
-+IBUS_KEY_S, IBUS_KEY_1,  0x00B9, 
-+IBUS_KEY_S, IBUS_KEY_2,  0x00B2, 
-+IBUS_KEY_S, IBUS_KEY_3,  0x00B3, 
-+IBUS_KEY_S, IBUS_KEY_semicolon,  0x0218, 
-+IBUS_KEY_S, IBUS_KEY_less,  0x0160, 
-+IBUS_KEY_S, IBUS_KEY_M,  0x2120, 
-+IBUS_KEY_S, IBUS_KEY_O,  0x00A7, 
-+IBUS_KEY_S, IBUS_KEY_S,  0x1E9E, 
-+IBUS_KEY_S, IBUS_KEY_m,  0x2120, 
-+IBUS_KEY_S, IBUS_KEY_cedilla,  0x015E, 
-+IBUS_KEY_T, IBUS_KEY_comma,  0x0162, 
-+IBUS_KEY_T, IBUS_KEY_minus,  0x0166, 
-+IBUS_KEY_T, IBUS_KEY_period,  0x1E6A, 
-+IBUS_KEY_T, IBUS_KEY_slash,  0x0166, 
-+IBUS_KEY_T, IBUS_KEY_semicolon,  0x021A, 
-+IBUS_KEY_T, IBUS_KEY_less,  0x0164, 
-+IBUS_KEY_T, IBUS_KEY_H,  0x00DE, 
-+IBUS_KEY_T, IBUS_KEY_M,  0x2122, 
-+IBUS_KEY_T, IBUS_KEY_m,  0x2122, 
-+IBUS_KEY_U, IBUS_KEY_quotedbl,  0x00DC, 
-+IBUS_KEY_U, IBUS_KEY_apostrophe,  0x00DA, 
-+IBUS_KEY_U, IBUS_KEY_asterisk,  0x016E, 
-+IBUS_KEY_U, IBUS_KEY_comma,  0x0172, 
-+IBUS_KEY_U, IBUS_KEY_minus,  0x016A, 
-+IBUS_KEY_U, IBUS_KEY_slash,  0x00B5, 
-+IBUS_KEY_U, IBUS_KEY_semicolon,  0x0172, 
-+IBUS_KEY_U, IBUS_KEY_greater,  0x00DB, 
-+IBUS_KEY_U, IBUS_KEY_A,  0x0102, 
-+IBUS_KEY_U, IBUS_KEY_E,  0x0114, 
-+IBUS_KEY_U, IBUS_KEY_G,  0x011E, 
-+IBUS_KEY_U, IBUS_KEY_I,  0x012C, 
-+IBUS_KEY_U, IBUS_KEY_O,  0x014E, 
-+IBUS_KEY_U, IBUS_KEY_U,  0x016C, 
-+IBUS_KEY_U, IBUS_KEY_asciicircum,  0x00DB, 
-+IBUS_KEY_U, IBUS_KEY_underscore,  0x016A, 
-+IBUS_KEY_U, IBUS_KEY_grave,  0x00D9, 
-+IBUS_KEY_U, IBUS_KEY_a,  0x0103, 
-+IBUS_KEY_U, IBUS_KEY_e,  0x0115, 
-+IBUS_KEY_U, IBUS_KEY_g,  0x011F, 
-+IBUS_KEY_U, IBUS_KEY_i,  0x012D, 
-+IBUS_KEY_U, IBUS_KEY_o,  0x014F, 
-+IBUS_KEY_U, IBUS_KEY_u,  0x016D, 
-+IBUS_KEY_U, IBUS_KEY_asciitilde,  0x0168, 
-+IBUS_KEY_U, IBUS_KEY_diaeresis,  0x00DC, 
-+IBUS_KEY_U, IBUS_KEY_acute,  0x00DA, 
-+IBUS_KEY_U, 0x0228,  0x1E1C, 
-+IBUS_KEY_U, 0x0229,  0x1E1D, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_a,  0x04D1, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_ie,  0x04D7, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_i,  0x0439, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_u,  0x045E, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_zhe,  0x04C2, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_A,  0x04D0, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_IE,  0x04D6, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_I,  0x0419, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_U,  0x040E, 
-+IBUS_KEY_U, IBUS_KEY_Cyrillic_ZHE,  0x04C1, 
-+IBUS_KEY_U, IBUS_KEY_Greek_ALPHA,  0x1FB8, 
-+IBUS_KEY_U, IBUS_KEY_Greek_IOTA,  0x1FD8, 
-+IBUS_KEY_U, IBUS_KEY_Greek_UPSILON,  0x1FE8, 
-+IBUS_KEY_U, IBUS_KEY_Greek_alpha,  0x1FB0, 
-+IBUS_KEY_U, IBUS_KEY_Greek_iota,  0x1FD0, 
-+IBUS_KEY_U, IBUS_KEY_Greek_upsilon,  0x1FE0, 
-+IBUS_KEY_U, 0x1EA0,  0x1EB6, 
-+IBUS_KEY_U, 0x1EA1,  0x1EB7, 
-+IBUS_KEY_V, IBUS_KEY_L,  0x007C, 
-+IBUS_KEY_W, IBUS_KEY_equal,  0x20A9, 
-+IBUS_KEY_W, IBUS_KEY_asciicircum,  0x0174, 
-+IBUS_KEY_X, IBUS_KEY_0,  0x00A4, 
-+IBUS_KEY_X, IBUS_KEY_O,  0x00A4, 
-+IBUS_KEY_X, IBUS_KEY_o,  0x00A4, 
-+IBUS_KEY_Y, IBUS_KEY_quotedbl,  0x0178, 
-+IBUS_KEY_Y, IBUS_KEY_apostrophe,  0x00DD, 
-+IBUS_KEY_Y, IBUS_KEY_minus,  0x00A5, 
-+IBUS_KEY_Y, IBUS_KEY_equal,  0x00A5, 
-+IBUS_KEY_Y, IBUS_KEY_asciicircum,  0x0176, 
-+IBUS_KEY_Y, IBUS_KEY_diaeresis,  0x0178, 
-+IBUS_KEY_Y, IBUS_KEY_acute,  0x00DD, 
-+IBUS_KEY_Z, IBUS_KEY_apostrophe,  0x0179, 
-+IBUS_KEY_Z, IBUS_KEY_period,  0x017B, 
-+IBUS_KEY_Z, IBUS_KEY_less,  0x017D, 
-+IBUS_KEY_bracketleft, IBUS_KEY_bracketright,  0x2337, 
-+IBUS_KEY_backslash, IBUS_KEY_minus,  0x2340, 
-+IBUS_KEY_backslash, 0x2395,  0x2342, 
-+IBUS_KEY_backslash, IBUS_KEY_emopencircle,  0x2349, 
-+IBUS_KEY_bracketright, IBUS_KEY_bracketleft,  0x2337, 
-+IBUS_KEY_asciicircum, IBUS_KEY_space,  0x005E, 
-+IBUS_KEY_asciicircum, IBUS_KEY_parenleft,  0x207D, 
-+IBUS_KEY_asciicircum, IBUS_KEY_parenright,  0x207E, 
-+IBUS_KEY_asciicircum, IBUS_KEY_plus,  0x207A, 
-+IBUS_KEY_asciicircum, IBUS_KEY_minus,  0x00AF, 
-+IBUS_KEY_asciicircum, IBUS_KEY_period,  0x00B7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_slash,  0x007C, 
-+IBUS_KEY_asciicircum, IBUS_KEY_0,  0x2070, 
-+IBUS_KEY_asciicircum, IBUS_KEY_1,  0x00B9, 
-+IBUS_KEY_asciicircum, IBUS_KEY_2,  0x00B2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_3,  0x00B3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_4,  0x2074, 
-+IBUS_KEY_asciicircum, IBUS_KEY_5,  0x2075, 
-+IBUS_KEY_asciicircum, IBUS_KEY_6,  0x2076, 
-+IBUS_KEY_asciicircum, IBUS_KEY_7,  0x2077, 
-+IBUS_KEY_asciicircum, IBUS_KEY_8,  0x2078, 
-+IBUS_KEY_asciicircum, IBUS_KEY_9,  0x2079, 
-+IBUS_KEY_asciicircum, IBUS_KEY_equal,  0x207C, 
-+IBUS_KEY_asciicircum, IBUS_KEY_A,  0x00C2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_C,  0x0108, 
-+IBUS_KEY_asciicircum, IBUS_KEY_E,  0x00CA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_G,  0x011C, 
-+IBUS_KEY_asciicircum, IBUS_KEY_H,  0x0124, 
-+IBUS_KEY_asciicircum, IBUS_KEY_I,  0x00CE, 
-+IBUS_KEY_asciicircum, IBUS_KEY_J,  0x0134, 
-+IBUS_KEY_asciicircum, IBUS_KEY_O,  0x00D4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_S,  0x015C, 
-+IBUS_KEY_asciicircum, IBUS_KEY_U,  0x00DB, 
-+IBUS_KEY_asciicircum, IBUS_KEY_W,  0x0174, 
-+IBUS_KEY_asciicircum, IBUS_KEY_Y,  0x0176, 
-+IBUS_KEY_asciicircum, IBUS_KEY_Z,  0x1E90, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore,  0x00AF, 
-+IBUS_KEY_asciicircum, IBUS_KEY_a,  0x00E2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_c,  0x0109, 
-+IBUS_KEY_asciicircum, IBUS_KEY_e,  0x00EA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_g,  0x011D, 
-+IBUS_KEY_asciicircum, IBUS_KEY_h,  0x0125, 
-+IBUS_KEY_asciicircum, IBUS_KEY_i,  0x00EE, 
-+IBUS_KEY_asciicircum, IBUS_KEY_j,  0x0135, 
-+IBUS_KEY_asciicircum, IBUS_KEY_o,  0x00F4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_s,  0x015D, 
-+IBUS_KEY_asciicircum, IBUS_KEY_u,  0x00FB, 
-+IBUS_KEY_asciicircum, IBUS_KEY_w,  0x0175, 
-+IBUS_KEY_asciicircum, IBUS_KEY_y,  0x0177, 
-+IBUS_KEY_asciicircum, IBUS_KEY_z,  0x1E91, 
-+IBUS_KEY_asciicircum, 0x1EA0,  0x1EAC, 
-+IBUS_KEY_asciicircum, 0x1EA1,  0x1EAD, 
-+IBUS_KEY_asciicircum, 0x1EB8,  0x1EC6, 
-+IBUS_KEY_asciicircum, 0x1EB9,  0x1EC7, 
-+IBUS_KEY_asciicircum, 0x1ECC,  0x1ED8, 
-+IBUS_KEY_asciicircum, 0x1ECD,  0x1ED9, 
-+IBUS_KEY_asciicircum, 0x2212,  0x207B, 
-+IBUS_KEY_asciicircum, 0x4E00,  0x3192, 
-+IBUS_KEY_asciicircum, 0x4E01,  0x319C, 
-+IBUS_KEY_asciicircum, 0x4E09,  0x3194, 
-+IBUS_KEY_asciicircum, 0x4E0A,  0x3196, 
-+IBUS_KEY_asciicircum, 0x4E0B,  0x3198, 
-+IBUS_KEY_asciicircum, 0x4E19,  0x319B, 
-+IBUS_KEY_asciicircum, 0x4E2D,  0x3197, 
-+IBUS_KEY_asciicircum, 0x4E59,  0x319A, 
-+IBUS_KEY_asciicircum, 0x4E8C,  0x3193, 
-+IBUS_KEY_asciicircum, 0x4EBA,  0x319F, 
-+IBUS_KEY_asciicircum, 0x56DB,  0x3195, 
-+IBUS_KEY_asciicircum, 0x5730,  0x319E, 
-+IBUS_KEY_asciicircum, 0x5929,  0x319D, 
-+IBUS_KEY_asciicircum, 0x7532,  0x3199, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_Space,  0x00B2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_Add,  0x207A, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_0,  0x2070, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_1,  0x00B9, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_2,  0x00B2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_3,  0x00B3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_4,  0x2074, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_5,  0x2075, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_6,  0x2076, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_7,  0x2077, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_8,  0x2078, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_9,  0x2079, 
-+IBUS_KEY_asciicircum, IBUS_KEY_KP_Equal,  0x207C, 
-+IBUS_KEY_underscore, IBUS_KEY_apostrophe,  0x2358, 
-+IBUS_KEY_underscore, IBUS_KEY_parenleft,  0x208D, 
-+IBUS_KEY_underscore, IBUS_KEY_parenright,  0x208E, 
-+IBUS_KEY_underscore, IBUS_KEY_plus,  0x208A, 
-+IBUS_KEY_underscore, IBUS_KEY_0,  0x2080, 
-+IBUS_KEY_underscore, IBUS_KEY_1,  0x2081, 
-+IBUS_KEY_underscore, IBUS_KEY_2,  0x2082, 
-+IBUS_KEY_underscore, IBUS_KEY_3,  0x2083, 
-+IBUS_KEY_underscore, IBUS_KEY_4,  0x2084, 
-+IBUS_KEY_underscore, IBUS_KEY_5,  0x2085, 
-+IBUS_KEY_underscore, IBUS_KEY_6,  0x2086, 
-+IBUS_KEY_underscore, IBUS_KEY_7,  0x2087, 
-+IBUS_KEY_underscore, IBUS_KEY_8,  0x2088, 
-+IBUS_KEY_underscore, IBUS_KEY_9,  0x2089, 
-+IBUS_KEY_underscore, IBUS_KEY_less,  0x2264, 
-+IBUS_KEY_underscore, IBUS_KEY_equal,  0x208C, 
-+IBUS_KEY_underscore, IBUS_KEY_greater,  0x2265, 
-+IBUS_KEY_underscore, IBUS_KEY_A,  0x0100, 
-+IBUS_KEY_underscore, IBUS_KEY_E,  0x0112, 
-+IBUS_KEY_underscore, IBUS_KEY_G,  0x1E20, 
-+IBUS_KEY_underscore, IBUS_KEY_I,  0x012A, 
-+IBUS_KEY_underscore, IBUS_KEY_O,  0x014C, 
-+IBUS_KEY_underscore, IBUS_KEY_U,  0x016A, 
-+IBUS_KEY_underscore, IBUS_KEY_Y,  0x0232, 
-+IBUS_KEY_underscore, IBUS_KEY_asciicircum,  0x00AF, 
-+IBUS_KEY_underscore, IBUS_KEY_underscore,  0x00AF, 
-+IBUS_KEY_underscore, IBUS_KEY_a,  0x0101, 
-+IBUS_KEY_underscore, IBUS_KEY_e,  0x0113, 
-+IBUS_KEY_underscore, IBUS_KEY_g,  0x1E21, 
-+IBUS_KEY_underscore, IBUS_KEY_i,  0x012B, 
-+IBUS_KEY_underscore, IBUS_KEY_o,  0x014D, 
-+IBUS_KEY_underscore, IBUS_KEY_u,  0x016B, 
-+IBUS_KEY_underscore, IBUS_KEY_y,  0x0233, 
-+IBUS_KEY_underscore, IBUS_KEY_Adiaeresis,  0x01DE, 
-+IBUS_KEY_underscore, IBUS_KEY_AE,  0x01E2, 
-+IBUS_KEY_underscore, IBUS_KEY_Otilde,  0x022C, 
-+IBUS_KEY_underscore, IBUS_KEY_Odiaeresis,  0x022A, 
-+IBUS_KEY_underscore, IBUS_KEY_Udiaeresis,  0x01D5, 
-+IBUS_KEY_underscore, IBUS_KEY_adiaeresis,  0x01DF, 
-+IBUS_KEY_underscore, IBUS_KEY_ae,  0x01E3, 
-+IBUS_KEY_underscore, IBUS_KEY_otilde,  0x022D, 
-+IBUS_KEY_underscore, IBUS_KEY_odiaeresis,  0x022B, 
-+IBUS_KEY_underscore, IBUS_KEY_udiaeresis,  0x01D6, 
-+IBUS_KEY_underscore, 0x01EA,  0x01EC, 
-+IBUS_KEY_underscore, 0x01EB,  0x01ED, 
-+IBUS_KEY_underscore, 0x0226,  0x01E0, 
-+IBUS_KEY_underscore, 0x0227,  0x01E1, 
-+IBUS_KEY_underscore, 0x022E,  0x0230, 
-+IBUS_KEY_underscore, 0x022F,  0x0231, 
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_i,  0x04E3, 
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_u,  0x04EF, 
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_I,  0x04E2, 
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_U,  0x04EE, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_ALPHA,  0x1FB9, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_IOTA,  0x1FD9, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_UPSILON,  0x1FE9, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_alpha,  0x1FB1, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_iota,  0x1FD1, 
-+IBUS_KEY_underscore, IBUS_KEY_Greek_upsilon,  0x1FE1, 
-+IBUS_KEY_underscore, 0x1E36,  0x1E38, 
-+IBUS_KEY_underscore, 0x1E37,  0x1E39, 
-+IBUS_KEY_underscore, 0x1E5A,  0x1E5C, 
-+IBUS_KEY_underscore, 0x1E5B,  0x1E5D, 
-+IBUS_KEY_underscore, 0x2206,  0x2359, 
-+IBUS_KEY_underscore, 0x220A,  0x2377, 
-+IBUS_KEY_underscore, 0x2212,  0x208B, 
-+IBUS_KEY_underscore, 0x2218,  0x235B, 
-+IBUS_KEY_underscore, 0x2260,  0x2262, 
-+IBUS_KEY_underscore, 0x2282,  0x2286, 
-+IBUS_KEY_underscore, 0x2283,  0x2287, 
-+IBUS_KEY_underscore, IBUS_KEY_downtack,  0x234A, 
-+IBUS_KEY_underscore, 0x22C4,  0x235A, 
-+IBUS_KEY_underscore, 0x2373,  0x2378, 
-+IBUS_KEY_underscore, 0x2375,  0x2379, 
-+IBUS_KEY_underscore, 0x237A,  0x2376, 
-+IBUS_KEY_underscore, IBUS_KEY_emopencircle,  0x235C, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_Space,  0x2082, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_Add,  0x208A, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_0,  0x2080, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_1,  0x2081, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_2,  0x2082, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_3,  0x2083, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_4,  0x2084, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_5,  0x2085, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_6,  0x2086, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_7,  0x2087, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_8,  0x2088, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_9,  0x2089, 
-+IBUS_KEY_underscore, IBUS_KEY_KP_Equal,  0x208C, 
-+IBUS_KEY_grave, IBUS_KEY_space,  0x0060, 
-+IBUS_KEY_grave, IBUS_KEY_A,  0x00C0, 
-+IBUS_KEY_grave, IBUS_KEY_E,  0x00C8, 
-+IBUS_KEY_grave, IBUS_KEY_I,  0x00CC, 
-+IBUS_KEY_grave, IBUS_KEY_N,  0x01F8, 
-+IBUS_KEY_grave, IBUS_KEY_O,  0x00D2, 
-+IBUS_KEY_grave, IBUS_KEY_U,  0x00D9, 
-+IBUS_KEY_grave, IBUS_KEY_W,  0x1E80, 
-+IBUS_KEY_grave, IBUS_KEY_Y,  0x1EF2, 
-+IBUS_KEY_grave, IBUS_KEY_a,  0x00E0, 
-+IBUS_KEY_grave, IBUS_KEY_e,  0x00E8, 
-+IBUS_KEY_grave, IBUS_KEY_i,  0x00EC, 
-+IBUS_KEY_grave, IBUS_KEY_n,  0x01F9, 
-+IBUS_KEY_grave, IBUS_KEY_o,  0x00F2, 
-+IBUS_KEY_grave, IBUS_KEY_u,  0x00F9, 
-+IBUS_KEY_grave, IBUS_KEY_w,  0x1E81, 
-+IBUS_KEY_grave, IBUS_KEY_y,  0x1EF3, 
-+IBUS_KEY_grave, IBUS_KEY_Acircumflex,  0x1EA6, 
-+IBUS_KEY_grave, IBUS_KEY_Ecircumflex,  0x1EC0, 
-+IBUS_KEY_grave, IBUS_KEY_Ocircumflex,  0x1ED2, 
-+IBUS_KEY_grave, IBUS_KEY_Udiaeresis,  0x01DB, 
-+IBUS_KEY_grave, IBUS_KEY_acircumflex,  0x1EA7, 
-+IBUS_KEY_grave, IBUS_KEY_ecircumflex,  0x1EC1, 
-+IBUS_KEY_grave, IBUS_KEY_ocircumflex,  0x1ED3, 
-+IBUS_KEY_grave, IBUS_KEY_udiaeresis,  0x01DC, 
-+IBUS_KEY_grave, IBUS_KEY_Abreve,  0x1EB0, 
-+IBUS_KEY_grave, IBUS_KEY_abreve,  0x1EB1, 
-+IBUS_KEY_grave, IBUS_KEY_Emacron,  0x1E14, 
-+IBUS_KEY_grave, IBUS_KEY_emacron,  0x1E15, 
-+IBUS_KEY_grave, IBUS_KEY_Omacron,  0x1E50, 
-+IBUS_KEY_grave, IBUS_KEY_omacron,  0x1E51, 
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_ie,  0x0450, 
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_i,  0x045D, 
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_IE,  0x0400, 
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_I,  0x040D, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_iotadieresis,  0x1FD2, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_upsilondieresis,  0x1FE2, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA,  0x1FBA, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_EPSILON,  0x1FC8, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_ETA,  0x1FCA, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_IOTA,  0x1FDA, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_OMICRON,  0x1FF8, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_UPSILON,  0x1FEA, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA,  0x1FFA, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_alpha,  0x1F70, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_epsilon,  0x1F72, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_eta,  0x1F74, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_iota,  0x1F76, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_omicron,  0x1F78, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_upsilon,  0x1F7A, 
-+IBUS_KEY_grave, IBUS_KEY_Greek_omega,  0x1F7C, 
-+IBUS_KEY_grave, 0x1F00,  0x1F02, 
-+IBUS_KEY_grave, 0x1F01,  0x1F03, 
-+IBUS_KEY_grave, 0x1F08,  0x1F0A, 
-+IBUS_KEY_grave, 0x1F09,  0x1F0B, 
-+IBUS_KEY_grave, 0x1F10,  0x1F12, 
-+IBUS_KEY_grave, 0x1F11,  0x1F13, 
-+IBUS_KEY_grave, 0x1F18,  0x1F1A, 
-+IBUS_KEY_grave, 0x1F19,  0x1F1B, 
-+IBUS_KEY_grave, 0x1F20,  0x1F22, 
-+IBUS_KEY_grave, 0x1F21,  0x1F23, 
-+IBUS_KEY_grave, 0x1F28,  0x1F2A, 
-+IBUS_KEY_grave, 0x1F29,  0x1F2B, 
-+IBUS_KEY_grave, 0x1F30,  0x1F32, 
-+IBUS_KEY_grave, 0x1F31,  0x1F33, 
-+IBUS_KEY_grave, 0x1F38,  0x1F3A, 
-+IBUS_KEY_grave, 0x1F39,  0x1F3B, 
-+IBUS_KEY_grave, 0x1F40,  0x1F42, 
-+IBUS_KEY_grave, 0x1F41,  0x1F43, 
-+IBUS_KEY_grave, 0x1F48,  0x1F4A, 
-+IBUS_KEY_grave, 0x1F49,  0x1F4B, 
-+IBUS_KEY_grave, 0x1F50,  0x1F52, 
-+IBUS_KEY_grave, 0x1F51,  0x1F53, 
-+IBUS_KEY_grave, 0x1F59,  0x1F5B, 
-+IBUS_KEY_grave, 0x1F60,  0x1F62, 
-+IBUS_KEY_grave, 0x1F61,  0x1F63, 
-+IBUS_KEY_grave, 0x1F68,  0x1F6A, 
-+IBUS_KEY_grave, 0x1F69,  0x1F6B, 
-+IBUS_KEY_a, IBUS_KEY_quotedbl,  0x00E4, 
-+IBUS_KEY_a, IBUS_KEY_apostrophe,  0x00E1, 
-+IBUS_KEY_a, IBUS_KEY_parenleft,  0x0103, 
-+IBUS_KEY_a, IBUS_KEY_asterisk,  0x00E5, 
-+IBUS_KEY_a, IBUS_KEY_comma,  0x0105, 
-+IBUS_KEY_a, IBUS_KEY_minus,  0x0101, 
-+IBUS_KEY_a, IBUS_KEY_semicolon,  0x0105, 
-+IBUS_KEY_a, IBUS_KEY_greater,  0x00E2, 
-+IBUS_KEY_a, IBUS_KEY_asciicircum,  0x00E2, 
-+IBUS_KEY_a, IBUS_KEY_underscore,  0x0101, 
-+IBUS_KEY_a, IBUS_KEY_grave,  0x00E0, 
-+IBUS_KEY_a, IBUS_KEY_a,  0x00E5, 
-+IBUS_KEY_a, IBUS_KEY_e,  0x00E6, 
-+IBUS_KEY_a, IBUS_KEY_asciitilde,  0x00E3, 
-+IBUS_KEY_a, IBUS_KEY_diaeresis,  0x00E4, 
-+IBUS_KEY_a, IBUS_KEY_acute,  0x00E1, 
-+IBUS_KEY_b, IBUS_KEY_period,  0x1E03, 
-+IBUS_KEY_b, IBUS_KEY_A,  0x0102, 
-+IBUS_KEY_b, IBUS_KEY_E,  0x0114, 
-+IBUS_KEY_b, IBUS_KEY_G,  0x011E, 
-+IBUS_KEY_b, IBUS_KEY_I,  0x012C, 
-+IBUS_KEY_b, IBUS_KEY_O,  0x014E, 
-+IBUS_KEY_b, IBUS_KEY_U,  0x016C, 
-+IBUS_KEY_b, IBUS_KEY_a,  0x0103, 
-+IBUS_KEY_b, IBUS_KEY_e,  0x0115, 
-+IBUS_KEY_b, IBUS_KEY_g,  0x011F, 
-+IBUS_KEY_b, IBUS_KEY_i,  0x012D, 
-+IBUS_KEY_b, IBUS_KEY_o,  0x014F, 
-+IBUS_KEY_b, IBUS_KEY_u,  0x016D, 
-+IBUS_KEY_b, 0x0228,  0x1E1C, 
-+IBUS_KEY_b, 0x0229,  0x1E1D, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_a,  0x04D1, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_ie,  0x04D7, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_i,  0x0439, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_u,  0x045E, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_zhe,  0x04C2, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_A,  0x04D0, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_IE,  0x04D6, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_I,  0x0419, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_U,  0x040E, 
-+IBUS_KEY_b, IBUS_KEY_Cyrillic_ZHE,  0x04C1, 
-+IBUS_KEY_b, IBUS_KEY_Greek_ALPHA,  0x1FB8, 
-+IBUS_KEY_b, IBUS_KEY_Greek_IOTA,  0x1FD8, 
-+IBUS_KEY_b, IBUS_KEY_Greek_UPSILON,  0x1FE8, 
-+IBUS_KEY_b, IBUS_KEY_Greek_alpha,  0x1FB0, 
-+IBUS_KEY_b, IBUS_KEY_Greek_iota,  0x1FD0, 
-+IBUS_KEY_b, IBUS_KEY_Greek_upsilon,  0x1FE0, 
-+IBUS_KEY_b, 0x1EA0,  0x1EB6, 
-+IBUS_KEY_b, 0x1EA1,  0x1EB7, 
-+IBUS_KEY_c, IBUS_KEY_apostrophe,  0x0107, 
-+IBUS_KEY_c, IBUS_KEY_comma,  0x00E7, 
-+IBUS_KEY_c, IBUS_KEY_period,  0x010B, 
-+IBUS_KEY_c, IBUS_KEY_slash,  0x00A2, 
-+IBUS_KEY_c, IBUS_KEY_0,  0x00A9, 
-+IBUS_KEY_c, IBUS_KEY_less,  0x010D, 
-+IBUS_KEY_c, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_c, IBUS_KEY_A,  0x01CD, 
-+IBUS_KEY_c, IBUS_KEY_C,  0x010C, 
-+IBUS_KEY_c, IBUS_KEY_D,  0x010E, 
-+IBUS_KEY_c, IBUS_KEY_E,  0x011A, 
-+IBUS_KEY_c, IBUS_KEY_G,  0x01E6, 
-+IBUS_KEY_c, IBUS_KEY_H,  0x021E, 
-+IBUS_KEY_c, IBUS_KEY_I,  0x01CF, 
-+IBUS_KEY_c, IBUS_KEY_K,  0x01E8, 
-+IBUS_KEY_c, IBUS_KEY_L,  0x013D, 
-+IBUS_KEY_c, IBUS_KEY_N,  0x0147, 
-+IBUS_KEY_c, IBUS_KEY_O,  0x01D1, 
-+IBUS_KEY_c, IBUS_KEY_R,  0x0158, 
-+IBUS_KEY_c, IBUS_KEY_S,  0x0160, 
-+IBUS_KEY_c, IBUS_KEY_T,  0x0164, 
-+IBUS_KEY_c, IBUS_KEY_U,  0x01D3, 
-+IBUS_KEY_c, IBUS_KEY_Z,  0x017D, 
-+IBUS_KEY_c, IBUS_KEY_a,  0x01CE, 
-+IBUS_KEY_c, IBUS_KEY_c,  0x010D, 
-+IBUS_KEY_c, IBUS_KEY_d,  0x010F, 
-+IBUS_KEY_c, IBUS_KEY_e,  0x011B, 
-+IBUS_KEY_c, IBUS_KEY_g,  0x01E7, 
-+IBUS_KEY_c, IBUS_KEY_h,  0x021F, 
-+IBUS_KEY_c, IBUS_KEY_i,  0x01D0, 
-+IBUS_KEY_c, IBUS_KEY_j,  0x01F0, 
-+IBUS_KEY_c, IBUS_KEY_k,  0x01E9, 
-+IBUS_KEY_c, IBUS_KEY_l,  0x013E, 
-+IBUS_KEY_c, IBUS_KEY_n,  0x0148, 
-+IBUS_KEY_c, IBUS_KEY_o,  0x01D2, 
-+IBUS_KEY_c, IBUS_KEY_r,  0x0159, 
-+IBUS_KEY_c, IBUS_KEY_s,  0x0161, 
-+IBUS_KEY_c, IBUS_KEY_t,  0x0165, 
-+IBUS_KEY_c, IBUS_KEY_u,  0x01D4, 
-+IBUS_KEY_c, IBUS_KEY_z,  0x017E, 
-+IBUS_KEY_c, IBUS_KEY_bar,  0x00A2, 
-+IBUS_KEY_c, IBUS_KEY_Udiaeresis,  0x01D9, 
-+IBUS_KEY_c, IBUS_KEY_udiaeresis,  0x01DA, 
-+IBUS_KEY_d, IBUS_KEY_comma,  0x1E11, 
-+IBUS_KEY_d, IBUS_KEY_minus,  0x0111, 
-+IBUS_KEY_d, IBUS_KEY_period,  0x1E0B, 
-+IBUS_KEY_d, IBUS_KEY_less,  0x010F, 
-+IBUS_KEY_d, IBUS_KEY_equal,  0x20AB, 
-+IBUS_KEY_d, IBUS_KEY_h,  0x00F0, 
-+IBUS_KEY_d, IBUS_KEY_i,  0x2300, 
-+IBUS_KEY_e, IBUS_KEY_quotedbl,  0x00EB, 
-+IBUS_KEY_e, IBUS_KEY_apostrophe,  0x00E9, 
-+IBUS_KEY_e, IBUS_KEY_comma,  0x0119, 
-+IBUS_KEY_e, IBUS_KEY_minus,  0x0113, 
-+IBUS_KEY_e, IBUS_KEY_period,  0x0117, 
-+IBUS_KEY_e, IBUS_KEY_semicolon,  0x0119, 
-+IBUS_KEY_e, IBUS_KEY_less,  0x011B, 
-+IBUS_KEY_e, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_e, IBUS_KEY_greater,  0x00EA, 
-+IBUS_KEY_e, IBUS_KEY_asciicircum,  0x00EA, 
-+IBUS_KEY_e, IBUS_KEY_underscore,  0x0113, 
-+IBUS_KEY_e, IBUS_KEY_grave,  0x00E8, 
-+IBUS_KEY_e, IBUS_KEY_e,  0x0259, 
-+IBUS_KEY_e, IBUS_KEY_diaeresis,  0x00EB, 
-+IBUS_KEY_e, IBUS_KEY_acute,  0x00E9, 
-+IBUS_KEY_f, IBUS_KEY_period,  0x1E1F, 
-+IBUS_KEY_f, IBUS_KEY_S,  0x017F, 
-+IBUS_KEY_f, IBUS_KEY_f,  0xFB00, 
-+IBUS_KEY_f, IBUS_KEY_i,  0xFB01, 
-+IBUS_KEY_f, IBUS_KEY_l,  0xFB02, 
-+IBUS_KEY_f, IBUS_KEY_s,  0x017F, 
-+IBUS_KEY_g, IBUS_KEY_parenleft,  0x011F, 
-+IBUS_KEY_g, IBUS_KEY_comma,  0x0123, 
-+IBUS_KEY_g, IBUS_KEY_period,  0x0121, 
-+IBUS_KEY_g, IBUS_KEY_U,  0x011F, 
-+IBUS_KEY_g, IBUS_KEY_breve,  0x011F, 
-+IBUS_KEY_h, IBUS_KEY_comma,  0x1E29, 
-+IBUS_KEY_i, IBUS_KEY_quotedbl,  0x00EF, 
-+IBUS_KEY_i, IBUS_KEY_apostrophe,  0x00ED, 
-+IBUS_KEY_i, IBUS_KEY_comma,  0x012F, 
-+IBUS_KEY_i, IBUS_KEY_minus,  0x012B, 
-+IBUS_KEY_i, IBUS_KEY_period,  0x0131, 
-+IBUS_KEY_i, IBUS_KEY_semicolon,  0x012F, 
-+IBUS_KEY_i, IBUS_KEY_greater,  0x00EE, 
-+IBUS_KEY_i, IBUS_KEY_asciicircum,  0x00EE, 
-+IBUS_KEY_i, IBUS_KEY_underscore,  0x012B, 
-+IBUS_KEY_i, IBUS_KEY_grave,  0x00EC, 
-+IBUS_KEY_i, IBUS_KEY_j,  0x0133, 
-+IBUS_KEY_i, IBUS_KEY_asciitilde,  0x0129, 
-+IBUS_KEY_i, IBUS_KEY_diaeresis,  0x00EF, 
-+IBUS_KEY_i, IBUS_KEY_acute,  0x00ED, 
-+IBUS_KEY_k, IBUS_KEY_comma,  0x0137, 
-+IBUS_KEY_k, IBUS_KEY_k,  0x0138, 
-+IBUS_KEY_l, IBUS_KEY_apostrophe,  0x013A, 
-+IBUS_KEY_l, IBUS_KEY_comma,  0x013C, 
-+IBUS_KEY_l, IBUS_KEY_minus,  0x00A3, 
-+IBUS_KEY_l, IBUS_KEY_slash,  0x0142, 
-+IBUS_KEY_l, IBUS_KEY_less,  0x013E, 
-+IBUS_KEY_l, IBUS_KEY_equal,  0x00A3, 
-+IBUS_KEY_l, IBUS_KEY_v,  0x007C, 
-+IBUS_KEY_m, IBUS_KEY_period,  0x1E41, 
-+IBUS_KEY_m, IBUS_KEY_slash,  0x20A5, 
-+IBUS_KEY_m, IBUS_KEY_u,  0x00B5, 
-+IBUS_KEY_n, IBUS_KEY_apostrophe,  0x0144, 
-+IBUS_KEY_n, IBUS_KEY_comma,  0x0146, 
-+IBUS_KEY_n, IBUS_KEY_minus,  0x00F1, 
-+IBUS_KEY_n, IBUS_KEY_less,  0x0148, 
-+IBUS_KEY_n, IBUS_KEY_g,  0x014B, 
-+IBUS_KEY_n, IBUS_KEY_asciitilde,  0x00F1, 
-+IBUS_KEY_o, IBUS_KEY_quotedbl,  0x00F6, 
-+IBUS_KEY_o, IBUS_KEY_apostrophe,  0x00F3, 
-+IBUS_KEY_o, IBUS_KEY_comma,  0x01EB, 
-+IBUS_KEY_o, IBUS_KEY_minus,  0x014D, 
-+IBUS_KEY_o, IBUS_KEY_slash,  0x00F8, 
-+IBUS_KEY_o, IBUS_KEY_semicolon,  0x01EB, 
-+IBUS_KEY_o, IBUS_KEY_greater,  0x00F4, 
-+IBUS_KEY_o, IBUS_KEY_A,  0x00C5, 
-+IBUS_KEY_o, IBUS_KEY_C,  0x00A9, 
-+IBUS_KEY_o, IBUS_KEY_R,  0x00AE, 
-+IBUS_KEY_o, IBUS_KEY_U,  0x016E, 
-+IBUS_KEY_o, IBUS_KEY_X,  0x00A4, 
-+IBUS_KEY_o, IBUS_KEY_asciicircum,  0x00F4, 
-+IBUS_KEY_o, IBUS_KEY_underscore,  0x014D, 
-+IBUS_KEY_o, IBUS_KEY_grave,  0x00F2, 
-+IBUS_KEY_o, IBUS_KEY_a,  0x00E5, 
-+IBUS_KEY_o, IBUS_KEY_c,  0x00A9, 
-+IBUS_KEY_o, IBUS_KEY_e,  0x0153, 
-+IBUS_KEY_o, IBUS_KEY_o,  0x00B0, 
-+IBUS_KEY_o, IBUS_KEY_r,  0x00AE, 
-+IBUS_KEY_o, IBUS_KEY_s,  0x00A7, 
-+IBUS_KEY_o, IBUS_KEY_u,  0x016F, 
-+IBUS_KEY_o, IBUS_KEY_w,  0x1E98, 
-+IBUS_KEY_o, IBUS_KEY_x,  0x00A4, 
-+IBUS_KEY_o, IBUS_KEY_y,  0x1E99, 
-+IBUS_KEY_o, IBUS_KEY_asciitilde,  0x00F5, 
-+IBUS_KEY_o, IBUS_KEY_diaeresis,  0x00F6, 
-+IBUS_KEY_o, IBUS_KEY_acute,  0x00F3, 
-+IBUS_KEY_p, IBUS_KEY_exclam,  0x00B6, 
-+IBUS_KEY_p, IBUS_KEY_period,  0x1E57, 
-+IBUS_KEY_r, IBUS_KEY_apostrophe,  0x0155, 
-+IBUS_KEY_r, IBUS_KEY_comma,  0x0157, 
-+IBUS_KEY_r, IBUS_KEY_less,  0x0159, 
-+IBUS_KEY_r, IBUS_KEY_equal,  0x20B9, 
-+IBUS_KEY_s, IBUS_KEY_exclam,  0x00A7, 
-+IBUS_KEY_s, IBUS_KEY_apostrophe,  0x015B, 
-+IBUS_KEY_s, IBUS_KEY_comma,  0x015F, 
-+IBUS_KEY_s, IBUS_KEY_period,  0x1E61, 
-+IBUS_KEY_s, IBUS_KEY_0,  0x00A7, 
-+IBUS_KEY_s, IBUS_KEY_1,  0x00B9, 
-+IBUS_KEY_s, IBUS_KEY_2,  0x00B2, 
-+IBUS_KEY_s, IBUS_KEY_3,  0x00B3, 
-+IBUS_KEY_s, IBUS_KEY_semicolon,  0x0219, 
-+IBUS_KEY_s, IBUS_KEY_less,  0x0161, 
-+IBUS_KEY_s, IBUS_KEY_M,  0x2120, 
-+IBUS_KEY_s, IBUS_KEY_m,  0x2120, 
-+IBUS_KEY_s, IBUS_KEY_o,  0x00A7, 
-+IBUS_KEY_s, IBUS_KEY_s,  0x00DF, 
-+IBUS_KEY_s, IBUS_KEY_cedilla,  0x015F, 
-+IBUS_KEY_t, IBUS_KEY_comma,  0x0163, 
-+IBUS_KEY_t, IBUS_KEY_minus,  0x0167, 
-+IBUS_KEY_t, IBUS_KEY_period,  0x1E6B, 
-+IBUS_KEY_t, IBUS_KEY_slash,  0x0167, 
-+IBUS_KEY_t, IBUS_KEY_semicolon,  0x021B, 
-+IBUS_KEY_t, IBUS_KEY_less,  0x0165, 
-+IBUS_KEY_t, IBUS_KEY_M,  0x2122, 
-+IBUS_KEY_t, IBUS_KEY_h,  0x00FE, 
-+IBUS_KEY_t, IBUS_KEY_m,  0x2122, 
-+IBUS_KEY_u, IBUS_KEY_quotedbl,  0x00FC, 
-+IBUS_KEY_u, IBUS_KEY_apostrophe,  0x00FA, 
-+IBUS_KEY_u, IBUS_KEY_asterisk,  0x016F, 
-+IBUS_KEY_u, IBUS_KEY_comma,  0x0173, 
-+IBUS_KEY_u, IBUS_KEY_minus,  0x016B, 
-+IBUS_KEY_u, IBUS_KEY_slash,  0x00B5, 
-+IBUS_KEY_u, IBUS_KEY_semicolon,  0x0173, 
-+IBUS_KEY_u, IBUS_KEY_greater,  0x00FB, 
-+IBUS_KEY_u, IBUS_KEY_A,  0x0102, 
-+IBUS_KEY_u, IBUS_KEY_U,  0x016C, 
-+IBUS_KEY_u, IBUS_KEY_asciicircum,  0x00FB, 
-+IBUS_KEY_u, IBUS_KEY_underscore,  0x016B, 
-+IBUS_KEY_u, IBUS_KEY_grave,  0x00F9, 
-+IBUS_KEY_u, IBUS_KEY_a,  0x0103, 
-+IBUS_KEY_u, IBUS_KEY_u,  0x016D, 
-+IBUS_KEY_u, IBUS_KEY_asciitilde,  0x0169, 
-+IBUS_KEY_u, IBUS_KEY_diaeresis,  0x00FC, 
-+IBUS_KEY_u, IBUS_KEY_acute,  0x00FA, 
-+IBUS_KEY_v, IBUS_KEY_slash,  0x221A, 
-+IBUS_KEY_v, IBUS_KEY_Z,  0x017D, 
-+IBUS_KEY_v, IBUS_KEY_l,  0x007C, 
-+IBUS_KEY_v, IBUS_KEY_z,  0x017E, 
-+IBUS_KEY_w, IBUS_KEY_asciicircum,  0x0175, 
-+IBUS_KEY_x, IBUS_KEY_0,  0x00A4, 
-+IBUS_KEY_x, IBUS_KEY_O,  0x00A4, 
-+IBUS_KEY_x, IBUS_KEY_o,  0x00A4, 
-+IBUS_KEY_x, IBUS_KEY_x,  0x00D7, 
-+IBUS_KEY_y, IBUS_KEY_quotedbl,  0x00FF, 
-+IBUS_KEY_y, IBUS_KEY_apostrophe,  0x00FD, 
-+IBUS_KEY_y, IBUS_KEY_minus,  0x00A5, 
-+IBUS_KEY_y, IBUS_KEY_equal,  0x00A5, 
-+IBUS_KEY_y, IBUS_KEY_asciicircum,  0x0177, 
-+IBUS_KEY_y, IBUS_KEY_diaeresis,  0x00FF, 
-+IBUS_KEY_y, IBUS_KEY_acute,  0x00FD, 
-+IBUS_KEY_z, IBUS_KEY_apostrophe,  0x017A, 
-+IBUS_KEY_z, IBUS_KEY_period,  0x017C, 
-+IBUS_KEY_z, IBUS_KEY_less,  0x017E, 
-+IBUS_KEY_braceleft, IBUS_KEY_braceright,  0x2205, 
-+IBUS_KEY_bar, IBUS_KEY_C,  0x00A2, 
-+IBUS_KEY_bar, IBUS_KEY_c,  0x00A2, 
-+IBUS_KEY_bar, IBUS_KEY_asciitilde,  0x236D, 
-+IBUS_KEY_bar, 0x2190,  0x2345, 
-+IBUS_KEY_bar, 0x2192,  0x2346, 
-+IBUS_KEY_bar, 0x2206,  0x234B, 
-+IBUS_KEY_bar, 0x2207,  0x2352, 
-+IBUS_KEY_bar, IBUS_KEY_union,  0x2366, 
-+IBUS_KEY_bar, 0x2282,  0x2367, 
-+IBUS_KEY_bar, IBUS_KEY_emopencircle,  0x233D, 
-+IBUS_KEY_asciitilde, IBUS_KEY_space,  0x007E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_0,  0x236C, 
-+IBUS_KEY_asciitilde, IBUS_KEY_A,  0x00C3, 
-+IBUS_KEY_asciitilde, IBUS_KEY_E,  0x1EBC, 
-+IBUS_KEY_asciitilde, IBUS_KEY_I,  0x0128, 
-+IBUS_KEY_asciitilde, IBUS_KEY_N,  0x00D1, 
-+IBUS_KEY_asciitilde, IBUS_KEY_O,  0x00D5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_U,  0x0168, 
-+IBUS_KEY_asciitilde, IBUS_KEY_V,  0x1E7C, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Y,  0x1EF8, 
-+IBUS_KEY_asciitilde, IBUS_KEY_a,  0x00E3, 
-+IBUS_KEY_asciitilde, IBUS_KEY_e,  0x1EBD, 
-+IBUS_KEY_asciitilde, IBUS_KEY_i,  0x0129, 
-+IBUS_KEY_asciitilde, IBUS_KEY_n,  0x00F1, 
-+IBUS_KEY_asciitilde, IBUS_KEY_o,  0x00F5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_u,  0x0169, 
-+IBUS_KEY_asciitilde, IBUS_KEY_v,  0x1E7D, 
-+IBUS_KEY_asciitilde, IBUS_KEY_y,  0x1EF9, 
-+IBUS_KEY_asciitilde, IBUS_KEY_bar,  0x236D, 
-+IBUS_KEY_asciitilde, IBUS_KEY_diaeresis,  0x2368, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Acircumflex,  0x1EAA, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Ecircumflex,  0x1EC4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Ocircumflex,  0x1ED6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_acircumflex,  0x1EAB, 
-+IBUS_KEY_asciitilde, IBUS_KEY_ecircumflex,  0x1EC5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_ocircumflex,  0x1ED7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Abreve,  0x1EB4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_abreve,  0x1EB5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_iotadieresis,  0x1FD7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilondieresis,  0x1FE7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha,  0x1FB6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta,  0x1FC6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_iota,  0x1FD6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilon,  0x1FE6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega,  0x1FF6, 
-+IBUS_KEY_asciitilde, 0x1F00,  0x1F06, 
-+IBUS_KEY_asciitilde, 0x1F01,  0x1F07, 
-+IBUS_KEY_asciitilde, 0x1F08,  0x1F0E, 
-+IBUS_KEY_asciitilde, 0x1F09,  0x1F0F, 
-+IBUS_KEY_asciitilde, 0x1F20,  0x1F26, 
-+IBUS_KEY_asciitilde, 0x1F21,  0x1F27, 
-+IBUS_KEY_asciitilde, 0x1F28,  0x1F2E, 
-+IBUS_KEY_asciitilde, 0x1F29,  0x1F2F, 
-+IBUS_KEY_asciitilde, 0x1F30,  0x1F36, 
-+IBUS_KEY_asciitilde, 0x1F31,  0x1F37, 
-+IBUS_KEY_asciitilde, 0x1F38,  0x1F3E, 
-+IBUS_KEY_asciitilde, 0x1F39,  0x1F3F, 
-+IBUS_KEY_asciitilde, 0x1F50,  0x1F56, 
-+IBUS_KEY_asciitilde, 0x1F51,  0x1F57, 
-+IBUS_KEY_asciitilde, 0x1F59,  0x1F5F, 
-+IBUS_KEY_asciitilde, 0x1F60,  0x1F66, 
-+IBUS_KEY_asciitilde, 0x1F61,  0x1F67, 
-+IBUS_KEY_asciitilde, 0x1F68,  0x1F6E, 
-+IBUS_KEY_asciitilde, 0x1F69,  0x1F6F, 
-+IBUS_KEY_asciitilde, 0x2207,  0x236B, 
-+IBUS_KEY_asciitilde, 0x2227,  0x2372, 
-+IBUS_KEY_asciitilde, 0x2228,  0x2371, 
-+IBUS_KEY_diaeresis, IBUS_KEY_apostrophe,  0x0385, 
-+IBUS_KEY_diaeresis, IBUS_KEY_asterisk,  0x2363, 
-+IBUS_KEY_diaeresis, IBUS_KEY_greater,  0x2369, 
-+IBUS_KEY_diaeresis, IBUS_KEY_A,  0x00C4, 
-+IBUS_KEY_diaeresis, IBUS_KEY_E,  0x00CB, 
-+IBUS_KEY_diaeresis, IBUS_KEY_I,  0x00CF, 
-+IBUS_KEY_diaeresis, IBUS_KEY_O,  0x00D6, 
-+IBUS_KEY_diaeresis, IBUS_KEY_U,  0x00DC, 
-+IBUS_KEY_diaeresis, IBUS_KEY_Y,  0x0178, 
-+IBUS_KEY_diaeresis, IBUS_KEY_grave,  0x1FED, 
-+IBUS_KEY_diaeresis, IBUS_KEY_a,  0x00E4, 
-+IBUS_KEY_diaeresis, IBUS_KEY_e,  0x00EB, 
-+IBUS_KEY_diaeresis, IBUS_KEY_i,  0x00EF, 
-+IBUS_KEY_diaeresis, IBUS_KEY_o,  0x00F6, 
-+IBUS_KEY_diaeresis, IBUS_KEY_u,  0x00FC, 
-+IBUS_KEY_diaeresis, IBUS_KEY_y,  0x00FF, 
-+IBUS_KEY_diaeresis, IBUS_KEY_asciitilde,  0x1FC1, 
-+IBUS_KEY_diaeresis, IBUS_KEY_acute,  0x0385, 
-+IBUS_KEY_diaeresis, 0x2207,  0x2362, 
-+IBUS_KEY_diaeresis, 0x2218,  0x2364, 
-+IBUS_KEY_diaeresis, IBUS_KEY_uptack,  0x2361, 
-+IBUS_KEY_diaeresis, IBUS_KEY_emopencircle,  0x2365, 
-+IBUS_KEY_diaeresis, IBUS_KEY_dead_grave,  0x1FED, 
-+IBUS_KEY_diaeresis, IBUS_KEY_dead_acute,  0x0385, 
-+IBUS_KEY_diaeresis, IBUS_KEY_dead_tilde,  0x1FC1, 
-+IBUS_KEY_macron, IBUS_KEY_A,  0x0100, 
-+IBUS_KEY_macron, IBUS_KEY_E,  0x0112, 
-+IBUS_KEY_macron, IBUS_KEY_G,  0x1E20, 
-+IBUS_KEY_macron, IBUS_KEY_I,  0x012A, 
-+IBUS_KEY_macron, IBUS_KEY_O,  0x014C, 
-+IBUS_KEY_macron, IBUS_KEY_U,  0x016A, 
-+IBUS_KEY_macron, IBUS_KEY_Y,  0x0232, 
-+IBUS_KEY_macron, IBUS_KEY_a,  0x0101, 
-+IBUS_KEY_macron, IBUS_KEY_e,  0x0113, 
-+IBUS_KEY_macron, IBUS_KEY_g,  0x1E21, 
-+IBUS_KEY_macron, IBUS_KEY_i,  0x012B, 
-+IBUS_KEY_macron, IBUS_KEY_o,  0x014D, 
-+IBUS_KEY_macron, IBUS_KEY_u,  0x016B, 
-+IBUS_KEY_macron, IBUS_KEY_y,  0x0233, 
-+IBUS_KEY_macron, IBUS_KEY_Adiaeresis,  0x01DE, 
-+IBUS_KEY_macron, IBUS_KEY_AE,  0x01E2, 
-+IBUS_KEY_macron, IBUS_KEY_Otilde,  0x022C, 
-+IBUS_KEY_macron, IBUS_KEY_Odiaeresis,  0x022A, 
-+IBUS_KEY_macron, IBUS_KEY_Udiaeresis,  0x01D5, 
-+IBUS_KEY_macron, IBUS_KEY_adiaeresis,  0x01DF, 
-+IBUS_KEY_macron, IBUS_KEY_ae,  0x01E3, 
-+IBUS_KEY_macron, IBUS_KEY_otilde,  0x022D, 
-+IBUS_KEY_macron, IBUS_KEY_odiaeresis,  0x022B, 
-+IBUS_KEY_macron, IBUS_KEY_udiaeresis,  0x01D6, 
-+IBUS_KEY_macron, 0x01EA,  0x01EC, 
-+IBUS_KEY_macron, 0x01EB,  0x01ED, 
-+IBUS_KEY_macron, 0x0226,  0x01E0, 
-+IBUS_KEY_macron, 0x0227,  0x01E1, 
-+IBUS_KEY_macron, 0x022E,  0x0230, 
-+IBUS_KEY_macron, 0x022F,  0x0231, 
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_i,  0x04E3, 
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_u,  0x04EF, 
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_I,  0x04E2, 
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_U,  0x04EE, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_ALPHA,  0x1FB9, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_IOTA,  0x1FD9, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_UPSILON,  0x1FE9, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_alpha,  0x1FB1, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_iota,  0x1FD1, 
-+IBUS_KEY_macron, IBUS_KEY_Greek_upsilon,  0x1FE1, 
-+IBUS_KEY_macron, 0x1E36,  0x1E38, 
-+IBUS_KEY_macron, 0x1E37,  0x1E39, 
-+IBUS_KEY_macron, 0x1E5A,  0x1E5C, 
-+IBUS_KEY_macron, 0x1E5B,  0x1E5D, 
-+IBUS_KEY_macron, IBUS_KEY_uptack,  0x2351, 
-+IBUS_KEY_acute, IBUS_KEY_A,  0x00C1, 
-+IBUS_KEY_acute, IBUS_KEY_C,  0x0106, 
-+IBUS_KEY_acute, IBUS_KEY_E,  0x00C9, 
-+IBUS_KEY_acute, IBUS_KEY_G,  0x01F4, 
-+IBUS_KEY_acute, IBUS_KEY_I,  0x00CD, 
-+IBUS_KEY_acute, IBUS_KEY_K,  0x1E30, 
-+IBUS_KEY_acute, IBUS_KEY_L,  0x0139, 
-+IBUS_KEY_acute, IBUS_KEY_M,  0x1E3E, 
-+IBUS_KEY_acute, IBUS_KEY_N,  0x0143, 
-+IBUS_KEY_acute, IBUS_KEY_O,  0x00D3, 
-+IBUS_KEY_acute, IBUS_KEY_P,  0x1E54, 
-+IBUS_KEY_acute, IBUS_KEY_R,  0x0154, 
-+IBUS_KEY_acute, IBUS_KEY_S,  0x015A, 
-+IBUS_KEY_acute, IBUS_KEY_U,  0x00DA, 
-+IBUS_KEY_acute, IBUS_KEY_W,  0x1E82, 
-+IBUS_KEY_acute, IBUS_KEY_Y,  0x00DD, 
-+IBUS_KEY_acute, IBUS_KEY_Z,  0x0179, 
-+IBUS_KEY_acute, IBUS_KEY_a,  0x00E1, 
-+IBUS_KEY_acute, IBUS_KEY_c,  0x0107, 
-+IBUS_KEY_acute, IBUS_KEY_e,  0x00E9, 
-+IBUS_KEY_acute, IBUS_KEY_g,  0x01F5, 
-+IBUS_KEY_acute, IBUS_KEY_i,  0x00ED, 
-+IBUS_KEY_acute, IBUS_KEY_k,  0x1E31, 
-+IBUS_KEY_acute, IBUS_KEY_l,  0x013A, 
-+IBUS_KEY_acute, IBUS_KEY_m,  0x1E3F, 
-+IBUS_KEY_acute, IBUS_KEY_n,  0x0144, 
-+IBUS_KEY_acute, IBUS_KEY_o,  0x00F3, 
-+IBUS_KEY_acute, IBUS_KEY_p,  0x1E55, 
-+IBUS_KEY_acute, IBUS_KEY_r,  0x0155, 
-+IBUS_KEY_acute, IBUS_KEY_s,  0x015B, 
-+IBUS_KEY_acute, IBUS_KEY_u,  0x00FA, 
-+IBUS_KEY_acute, IBUS_KEY_w,  0x1E83, 
-+IBUS_KEY_acute, IBUS_KEY_y,  0x00FD, 
-+IBUS_KEY_acute, IBUS_KEY_z,  0x017A, 
-+IBUS_KEY_acute, IBUS_KEY_Acircumflex,  0x1EA4, 
-+IBUS_KEY_acute, IBUS_KEY_Aring,  0x01FA, 
-+IBUS_KEY_acute, IBUS_KEY_AE,  0x01FC, 
-+IBUS_KEY_acute, IBUS_KEY_Ccedilla,  0x1E08, 
-+IBUS_KEY_acute, IBUS_KEY_Ecircumflex,  0x1EBE, 
-+IBUS_KEY_acute, IBUS_KEY_Idiaeresis,  0x1E2E, 
-+IBUS_KEY_acute, IBUS_KEY_Ocircumflex,  0x1ED0, 
-+IBUS_KEY_acute, IBUS_KEY_Otilde,  0x1E4C, 
-+IBUS_KEY_acute, IBUS_KEY_Ooblique,  0x01FE, 
-+IBUS_KEY_acute, IBUS_KEY_Udiaeresis,  0x01D7, 
-+IBUS_KEY_acute, IBUS_KEY_acircumflex,  0x1EA5, 
-+IBUS_KEY_acute, IBUS_KEY_aring,  0x01FB, 
-+IBUS_KEY_acute, IBUS_KEY_ae,  0x01FD, 
-+IBUS_KEY_acute, IBUS_KEY_ccedilla,  0x1E09, 
-+IBUS_KEY_acute, IBUS_KEY_ecircumflex,  0x1EBF, 
-+IBUS_KEY_acute, IBUS_KEY_idiaeresis,  0x1E2F, 
-+IBUS_KEY_acute, IBUS_KEY_ocircumflex,  0x1ED1, 
-+IBUS_KEY_acute, IBUS_KEY_otilde,  0x1E4D, 
-+IBUS_KEY_acute, IBUS_KEY_oslash,  0x01FF, 
-+IBUS_KEY_acute, IBUS_KEY_udiaeresis,  0x01D8, 
-+IBUS_KEY_acute, IBUS_KEY_Abreve,  0x1EAE, 
-+IBUS_KEY_acute, IBUS_KEY_abreve,  0x1EAF, 
-+IBUS_KEY_acute, IBUS_KEY_Emacron,  0x1E16, 
-+IBUS_KEY_acute, IBUS_KEY_emacron,  0x1E17, 
-+IBUS_KEY_acute, IBUS_KEY_Omacron,  0x1E52, 
-+IBUS_KEY_acute, IBUS_KEY_Utilde,  0x1E78, 
-+IBUS_KEY_acute, IBUS_KEY_omacron,  0x1E53, 
-+IBUS_KEY_acute, IBUS_KEY_utilde,  0x1E79, 
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_ghe,  0x0453, 
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_ka,  0x045C, 
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_GHE,  0x0403, 
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_KA,  0x040C, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_iotadieresis,  0x0390, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_upsilondieresis,  0x03B0, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_ALPHA,  0x0386, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_EPSILON,  0x0388, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_ETA,  0x0389, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_IOTA,  0x038A, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_OMICRON,  0x038C, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_UPSILON,  0x038E, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_OMEGA,  0x038F, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_alpha,  0x03AC, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_epsilon,  0x03AD, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_eta,  0x03AE, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_iota,  0x03AF, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_omicron,  0x03CC, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_upsilon,  0x03CD, 
-+IBUS_KEY_acute, IBUS_KEY_Greek_omega,  0x03CE, 
-+IBUS_KEY_acute, 0x1F00,  0x1F04, 
-+IBUS_KEY_acute, 0x1F01,  0x1F05, 
-+IBUS_KEY_acute, 0x1F08,  0x1F0C, 
-+IBUS_KEY_acute, 0x1F09,  0x1F0D, 
-+IBUS_KEY_acute, 0x1F10,  0x1F14, 
-+IBUS_KEY_acute, 0x1F11,  0x1F15, 
-+IBUS_KEY_acute, 0x1F18,  0x1F1C, 
-+IBUS_KEY_acute, 0x1F19,  0x1F1D, 
-+IBUS_KEY_acute, 0x1F20,  0x1F24, 
-+IBUS_KEY_acute, 0x1F21,  0x1F25, 
-+IBUS_KEY_acute, 0x1F28,  0x1F2C, 
-+IBUS_KEY_acute, 0x1F29,  0x1F2D, 
-+IBUS_KEY_acute, 0x1F30,  0x1F34, 
-+IBUS_KEY_acute, 0x1F31,  0x1F35, 
-+IBUS_KEY_acute, 0x1F38,  0x1F3C, 
-+IBUS_KEY_acute, 0x1F39,  0x1F3D, 
-+IBUS_KEY_acute, 0x1F40,  0x1F44, 
-+IBUS_KEY_acute, 0x1F41,  0x1F45, 
-+IBUS_KEY_acute, 0x1F48,  0x1F4C, 
-+IBUS_KEY_acute, 0x1F49,  0x1F4D, 
-+IBUS_KEY_acute, 0x1F50,  0x1F54, 
-+IBUS_KEY_acute, 0x1F51,  0x1F55, 
-+IBUS_KEY_acute, 0x1F59,  0x1F5D, 
-+IBUS_KEY_acute, 0x1F60,  0x1F64, 
-+IBUS_KEY_acute, 0x1F61,  0x1F65, 
-+IBUS_KEY_acute, 0x1F68,  0x1F6C, 
-+IBUS_KEY_acute, 0x1F69,  0x1F6D, 
-+IBUS_KEY_cedilla, IBUS_KEY_C,  0x00C7, 
-+IBUS_KEY_cedilla, IBUS_KEY_D,  0x1E10, 
-+IBUS_KEY_cedilla, IBUS_KEY_E,  0x0228, 
-+IBUS_KEY_cedilla, IBUS_KEY_G,  0x0122, 
-+IBUS_KEY_cedilla, IBUS_KEY_H,  0x1E28, 
-+IBUS_KEY_cedilla, IBUS_KEY_K,  0x0136, 
-+IBUS_KEY_cedilla, IBUS_KEY_L,  0x013B, 
-+IBUS_KEY_cedilla, IBUS_KEY_N,  0x0145, 
-+IBUS_KEY_cedilla, IBUS_KEY_R,  0x0156, 
-+IBUS_KEY_cedilla, IBUS_KEY_S,  0x015E, 
-+IBUS_KEY_cedilla, IBUS_KEY_T,  0x0162, 
-+IBUS_KEY_cedilla, IBUS_KEY_c,  0x00E7, 
-+IBUS_KEY_cedilla, IBUS_KEY_d,  0x1E11, 
-+IBUS_KEY_cedilla, IBUS_KEY_e,  0x0229, 
-+IBUS_KEY_cedilla, IBUS_KEY_g,  0x0123, 
-+IBUS_KEY_cedilla, IBUS_KEY_h,  0x1E29, 
-+IBUS_KEY_cedilla, IBUS_KEY_k,  0x0137, 
-+IBUS_KEY_cedilla, IBUS_KEY_l,  0x013C, 
-+IBUS_KEY_cedilla, IBUS_KEY_n,  0x0146, 
-+IBUS_KEY_cedilla, IBUS_KEY_r,  0x0157, 
-+IBUS_KEY_cedilla, IBUS_KEY_s,  0x015F, 
-+IBUS_KEY_cedilla, IBUS_KEY_t,  0x0163, 
-+IBUS_KEY_division, 0x2395,  0x2339, 
-+IBUS_KEY_breve, IBUS_KEY_G,  0x011E, 
-+IBUS_KEY_breve, IBUS_KEY_g,  0x011F, 
-+0x05B4, IBUS_KEY_hebrew_yod,  0xFB1D, 
-+0x05B7, 0x05F2,  0xFB1F, 
-+0x05B7, IBUS_KEY_hebrew_aleph,  0xFB2E, 
-+0x05B8, IBUS_KEY_hebrew_aleph,  0xFB2F, 
-+0x05B9, IBUS_KEY_hebrew_waw,  0xFB4B, 
-+0x05BC, IBUS_KEY_hebrew_aleph,  0xFB30, 
-+0x05BC, IBUS_KEY_hebrew_bet,  0xFB31, 
-+0x05BC, IBUS_KEY_hebrew_gimel,  0xFB32, 
-+0x05BC, IBUS_KEY_hebrew_dalet,  0xFB33, 
-+0x05BC, IBUS_KEY_hebrew_he,  0xFB34, 
-+0x05BC, IBUS_KEY_hebrew_waw,  0xFB35, 
-+0x05BC, IBUS_KEY_hebrew_zain,  0xFB36, 
-+0x05BC, IBUS_KEY_hebrew_tet,  0xFB38, 
-+0x05BC, IBUS_KEY_hebrew_yod,  0xFB39, 
-+0x05BC, IBUS_KEY_hebrew_finalkaph,  0xFB3A, 
-+0x05BC, IBUS_KEY_hebrew_kaph,  0xFB3B, 
-+0x05BC, IBUS_KEY_hebrew_lamed,  0xFB3C, 
-+0x05BC, IBUS_KEY_hebrew_mem,  0xFB3E, 
-+0x05BC, IBUS_KEY_hebrew_nun,  0xFB40, 
-+0x05BC, IBUS_KEY_hebrew_samech,  0xFB41, 
-+0x05BC, IBUS_KEY_hebrew_finalpe,  0xFB43, 
-+0x05BC, IBUS_KEY_hebrew_pe,  0xFB44, 
-+0x05BC, IBUS_KEY_hebrew_zade,  0xFB46, 
-+0x05BC, IBUS_KEY_hebrew_kuf,  0xFB47, 
-+0x05BC, IBUS_KEY_hebrew_resh,  0xFB48, 
-+0x05BC, IBUS_KEY_hebrew_shin,  0xFB49, 
-+0x05BC, IBUS_KEY_hebrew_taf,  0xFB4A, 
-+0x05BF, IBUS_KEY_hebrew_bet,  0xFB4C, 
-+0x05BF, IBUS_KEY_hebrew_kaph,  0xFB4D, 
-+0x05BF, IBUS_KEY_hebrew_pe,  0xFB4E, 
-+0x05C1, IBUS_KEY_hebrew_shin,  0xFB2A, 
-+0x05C1, 0xFB49,  0xFB2C, 
-+0x05C2, IBUS_KEY_hebrew_shin,  0xFB2B, 
-+0x05C2, 0xFB49,  0xFB2D, 
-+0x0653, IBUS_KEY_Arabic_alef,  0x0622, 
-+0x0654, IBUS_KEY_Arabic_alef,  0x0623, 
-+0x0654, IBUS_KEY_Arabic_waw,  0x0624, 
-+0x0654, IBUS_KEY_Arabic_yeh,  0x0626, 
-+0x0654, 0x06C1,  0x06C2, 
-+0x0654, 0x06D2,  0x06D3, 
-+0x0654, 0x06D5,  0x06C0, 
-+0x0655, IBUS_KEY_Arabic_alef,  0x0625, 
-+IBUS_KEY_Cyrillic_pe, IBUS_KEY_Cyrillic_a,  0x00A7, 
-+IBUS_KEY_Cyrillic_IE, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_Cyrillic_EN, IBUS_KEY_Cyrillic_o,  0x2116, 
-+IBUS_KEY_Cyrillic_EN, IBUS_KEY_Cyrillic_O,  0x2116, 
-+IBUS_KEY_Cyrillic_ES, IBUS_KEY_equal,  0x20AC, 
-+IBUS_KEY_Greek_ALPHA, IBUS_KEY_apostrophe,  0x0386, 
-+IBUS_KEY_Greek_EPSILON, IBUS_KEY_apostrophe,  0x0388, 
-+IBUS_KEY_Greek_ETA, IBUS_KEY_apostrophe,  0x0389, 
-+IBUS_KEY_Greek_IOTA, IBUS_KEY_quotedbl,  0x03AA, 
-+IBUS_KEY_Greek_IOTA, IBUS_KEY_apostrophe,  0x038A, 
-+IBUS_KEY_Greek_OMICRON, IBUS_KEY_apostrophe,  0x038C, 
-+IBUS_KEY_Greek_UPSILON, IBUS_KEY_quotedbl,  0x03AB, 
-+IBUS_KEY_Greek_UPSILON, IBUS_KEY_apostrophe,  0x038E, 
-+IBUS_KEY_Greek_OMEGA, IBUS_KEY_apostrophe,  0x038F, 
-+IBUS_KEY_Greek_alpha, IBUS_KEY_apostrophe,  0x03AC, 
-+IBUS_KEY_Greek_epsilon, IBUS_KEY_apostrophe,  0x03AD, 
-+IBUS_KEY_Greek_eta, IBUS_KEY_apostrophe,  0x03AE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_quotedbl,  0x03CA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe,  0x03AF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_alphaaccent,  0x1FB4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_etaaccent,  0x1FC4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_omegaaccent,  0x1FF4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_ALPHA,  0x1FBC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_ETA,  0x1FCC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_OMEGA,  0x1FFC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_alpha,  0x1FB3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_eta,  0x1FC3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_Greek_omega,  0x1FF3, 
-+IBUS_KEY_Greek_iota, 0x1F00,  0x1F80, 
-+IBUS_KEY_Greek_iota, 0x1F01,  0x1F81, 
-+IBUS_KEY_Greek_iota, 0x1F02,  0x1F82, 
-+IBUS_KEY_Greek_iota, 0x1F03,  0x1F83, 
-+IBUS_KEY_Greek_iota, 0x1F04,  0x1F84, 
-+IBUS_KEY_Greek_iota, 0x1F05,  0x1F85, 
-+IBUS_KEY_Greek_iota, 0x1F06,  0x1F86, 
-+IBUS_KEY_Greek_iota, 0x1F07,  0x1F87, 
-+IBUS_KEY_Greek_iota, 0x1F08,  0x1F88, 
-+IBUS_KEY_Greek_iota, 0x1F09,  0x1F89, 
-+IBUS_KEY_Greek_iota, 0x1F0A,  0x1F8A, 
-+IBUS_KEY_Greek_iota, 0x1F0B,  0x1F8B, 
-+IBUS_KEY_Greek_iota, 0x1F0C,  0x1F8C, 
-+IBUS_KEY_Greek_iota, 0x1F0D,  0x1F8D, 
-+IBUS_KEY_Greek_iota, 0x1F0E,  0x1F8E, 
-+IBUS_KEY_Greek_iota, 0x1F0F,  0x1F8F, 
-+IBUS_KEY_Greek_iota, 0x1F20,  0x1F90, 
-+IBUS_KEY_Greek_iota, 0x1F21,  0x1F91, 
-+IBUS_KEY_Greek_iota, 0x1F22,  0x1F92, 
-+IBUS_KEY_Greek_iota, 0x1F23,  0x1F93, 
-+IBUS_KEY_Greek_iota, 0x1F24,  0x1F94, 
-+IBUS_KEY_Greek_iota, 0x1F25,  0x1F95, 
-+IBUS_KEY_Greek_iota, 0x1F26,  0x1F96, 
-+IBUS_KEY_Greek_iota, 0x1F27,  0x1F97, 
-+IBUS_KEY_Greek_iota, 0x1F28,  0x1F98, 
-+IBUS_KEY_Greek_iota, 0x1F29,  0x1F99, 
-+IBUS_KEY_Greek_iota, 0x1F2A,  0x1F9A, 
-+IBUS_KEY_Greek_iota, 0x1F2B,  0x1F9B, 
-+IBUS_KEY_Greek_iota, 0x1F2C,  0x1F9C, 
-+IBUS_KEY_Greek_iota, 0x1F2D,  0x1F9D, 
-+IBUS_KEY_Greek_iota, 0x1F2E,  0x1F9E, 
-+IBUS_KEY_Greek_iota, 0x1F2F,  0x1F9F, 
-+IBUS_KEY_Greek_iota, 0x1F60,  0x1FA0, 
-+IBUS_KEY_Greek_iota, 0x1F61,  0x1FA1, 
-+IBUS_KEY_Greek_iota, 0x1F62,  0x1FA2, 
-+IBUS_KEY_Greek_iota, 0x1F63,  0x1FA3, 
-+IBUS_KEY_Greek_iota, 0x1F64,  0x1FA4, 
-+IBUS_KEY_Greek_iota, 0x1F65,  0x1FA5, 
-+IBUS_KEY_Greek_iota, 0x1F66,  0x1FA6, 
-+IBUS_KEY_Greek_iota, 0x1F67,  0x1FA7, 
-+IBUS_KEY_Greek_iota, 0x1F68,  0x1FA8, 
-+IBUS_KEY_Greek_iota, 0x1F69,  0x1FA9, 
-+IBUS_KEY_Greek_iota, 0x1F6A,  0x1FAA, 
-+IBUS_KEY_Greek_iota, 0x1F6B,  0x1FAB, 
-+IBUS_KEY_Greek_iota, 0x1F6C,  0x1FAC, 
-+IBUS_KEY_Greek_iota, 0x1F6D,  0x1FAD, 
-+IBUS_KEY_Greek_iota, 0x1F6E,  0x1FAE, 
-+IBUS_KEY_Greek_iota, 0x1F6F,  0x1FAF, 
-+IBUS_KEY_Greek_iota, 0x1F70,  0x1FB2, 
-+IBUS_KEY_Greek_iota, 0x1F74,  0x1FC2, 
-+IBUS_KEY_Greek_iota, 0x1F7C,  0x1FF2, 
-+IBUS_KEY_Greek_iota, 0x1FB6,  0x1FB7, 
-+IBUS_KEY_Greek_iota, 0x1FC6,  0x1FC7, 
-+IBUS_KEY_Greek_iota, 0x1FF6,  0x1FF7, 
-+IBUS_KEY_Greek_omicron, IBUS_KEY_apostrophe,  0x03CC, 
-+IBUS_KEY_Greek_upsilon, IBUS_KEY_quotedbl,  0x03CB, 
-+IBUS_KEY_Greek_upsilon, IBUS_KEY_apostrophe,  0x03CD, 
-+IBUS_KEY_Greek_omega, IBUS_KEY_apostrophe,  0x03CE, 
-+IBUS_KEY_lessthanequal, 0x0338,  0x2270, 
-+IBUS_KEY_greaterthanequal, 0x0338,  0x2271, 
-+IBUS_KEY_approximate, 0x0338,  0x2247, 
-+IBUS_KEY_identical, 0x0338,  0x2262, 
-+IBUS_KEY_includedin, 0x0338,  0x2284, 
-+IBUS_KEY_includes, 0x0338,  0x2285, 
-+0x093C, 0x0915,  0x0958, 
-+0x093C, 0x0916,  0x0959, 
-+0x093C, 0x0917,  0x095A, 
-+0x093C, 0x091C,  0x095B, 
-+0x093C, 0x0921,  0x095C, 
-+0x093C, 0x0922,  0x095D, 
-+0x093C, 0x0928,  0x0929, 
-+0x093C, 0x092B,  0x095E, 
-+0x093C, 0x092F,  0x095F, 
-+0x093C, 0x0930,  0x0931, 
-+0x093C, 0x0933,  0x0934, 
-+0x09BC, 0x09A1,  0x09DC, 
-+0x09BC, 0x09A2,  0x09DD, 
-+0x09BC, 0x09AF,  0x09DF, 
-+0x09C7, 0x09BE,  0x09CB, 
-+0x09C7, 0x09D7,  0x09CC, 
-+0x0A3C, 0x0A16,  0x0A59, 
-+0x0A3C, 0x0A17,  0x0A5A, 
-+0x0A3C, 0x0A1C,  0x0A5B, 
-+0x0A3C, 0x0A2B,  0x0A5E, 
-+0x0A3C, 0x0A32,  0x0A33, 
-+0x0A3C, 0x0A38,  0x0A36, 
-+0x0B3C, 0x0B21,  0x0B5C, 
-+0x0B3C, 0x0B22,  0x0B5D, 
-+0x0B47, 0x0B3E,  0x0B4B, 
-+0x0B47, 0x0B56,  0x0B48, 
-+0x0B47, 0x0B57,  0x0B4C, 
-+IBUS_KEY_leftcaret, 0x0338,  0x226E, 
-+IBUS_KEY_rightcaret, 0x0338,  0x226F, 
-+IBUS_KEY_underbar, IBUS_KEY_parenleft,  0x208D, 
-+IBUS_KEY_underbar, IBUS_KEY_parenright,  0x208E, 
-+IBUS_KEY_underbar, IBUS_KEY_plus,  0x208A, 
-+IBUS_KEY_underbar, IBUS_KEY_0,  0x2080, 
-+IBUS_KEY_underbar, IBUS_KEY_1,  0x2081, 
-+IBUS_KEY_underbar, IBUS_KEY_2,  0x2082, 
-+IBUS_KEY_underbar, IBUS_KEY_3,  0x2083, 
-+IBUS_KEY_underbar, IBUS_KEY_4,  0x2084, 
-+IBUS_KEY_underbar, IBUS_KEY_5,  0x2085, 
-+IBUS_KEY_underbar, IBUS_KEY_6,  0x2086, 
-+IBUS_KEY_underbar, IBUS_KEY_7,  0x2087, 
-+IBUS_KEY_underbar, IBUS_KEY_8,  0x2088, 
-+IBUS_KEY_underbar, IBUS_KEY_9,  0x2089, 
-+IBUS_KEY_underbar, IBUS_KEY_equal,  0x208C, 
-+0x0BC6, 0x0BBE,  0x0BCA, 
-+0x0BC6, 0x0BD7,  0x0BCC, 
-+IBUS_KEY_underbar, 0x2212,  0x208B, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_Space,  0x2082, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_Add,  0x208A, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_0,  0x2080, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_1,  0x2081, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_2,  0x2082, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_3,  0x2083, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_4,  0x2084, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_5,  0x2085, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_6,  0x2086, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_7,  0x2087, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_8,  0x2088, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_9,  0x2089, 
-+IBUS_KEY_underbar, IBUS_KEY_KP_Equal,  0x208C, 
-+0x0BC7, 0x0BBE,  0x0BCB, 
-+0x0BD7, 0x0B92,  0x0B94, 
-+IBUS_KEY_rightshoe, 0x0338,  0x2285, 
-+IBUS_KEY_leftshoe, 0x0338,  0x2284, 
-+IBUS_KEY_righttack, 0x0338,  0x22AC, 
-+0x0C46, 0x0C56,  0x0C48, 
-+0x0CBF, 0x0CD5,  0x0CC0, 
-+0x0CC6, 0x0CC2,  0x0CCA, 
-+0x0CC6, 0x0CD5,  0x0CC7, 
-+0x0CC6, 0x0CD6,  0x0CC8, 
-+0x0CCA, 0x0CD5,  0x0CCB, 
-+0x0D46, 0x0D3E,  0x0D4A, 
-+0x0D46, 0x0D57,  0x0D4C, 
-+0x0D47, 0x0D3E,  0x0D4B, 
-+0x0DD9, 0x0DCA,  0x0DDA, 
-+0x0DD9, 0x0DCF,  0x0DDC, 
-+0x0DD9, 0x0DDF,  0x0DDE, 
-+0x0DDC, 0x0DCA,  0x0DDD, 
-+0x0F71, 0x0F72,  0x0F73, 
-+0x0F71, 0x0F74,  0x0F75, 
-+0x0F71, 0x0F80,  0x0F81, 
-+0x0F90, 0x0FB5,  0x0FB9, 
-+0x0F92, 0x0FB7,  0x0F93, 
-+0x0F9C, 0x0FB7,  0x0F9D, 
-+0x0FA1, 0x0FB7,  0x0FA2, 
-+0x0FA6, 0x0FB7,  0x0FA7, 
-+0x0FAB, 0x0FB7,  0x0FAC, 
-+0x0FB2, 0x0F80,  0x0F76, 
-+0x0FB3, 0x0F80,  0x0F78, 
-+0x0FB5, 0x0F40,  0x0F69, 
-+0x0FB7, 0x0F42,  0x0F43, 
-+0x0FB7, 0x0F4C,  0x0F4D, 
-+0x0FB7, 0x0F51,  0x0F52, 
-+0x0FB7, 0x0F56,  0x0F57, 
-+0x0FB7, 0x0F5B,  0x0F5C, 
-+0x102E, 0x1025,  0x1026, 
-+0x1100, 0x1100,  0x1101, 
-+0x1102, 0x1100,  0x1113, 
-+0x1102, 0x1102,  0x1114, 
-+0x1102, 0x1103,  0x1115, 
-+0x1102, 0x1107,  0x1116, 
-+0x1103, 0x1100,  0x1117, 
-+0x1103, 0x1103,  0x1104, 
-+0x1105, 0x1102,  0x1118, 
-+0x1105, 0x1105,  0x1119, 
-+0x1105, 0x110B,  0x111B, 
-+0x1105, 0x1112,  0x111A, 
-+0x1106, 0x1107,  0x111C, 
-+0x1106, 0x110B,  0x111D, 
-+0x1107, 0x1100,  0x111E, 
-+0x1107, 0x1102,  0x111F, 
-+0x1107, 0x1103,  0x1120, 
-+0x1107, 0x1107,  0x1108, 
-+0x1107, 0x1109,  0x1121, 
-+0x1107, 0x110A,  0x1125, 
-+0x1107, 0x110B,  0x112B, 
-+0x1107, 0x110C,  0x1127, 
-+0x1107, 0x110E,  0x1128, 
-+0x1107, 0x1110,  0x1129, 
-+0x1107, 0x1111,  0x112A, 
-+0x1107, 0x112B,  0x112C, 
-+0x1107, 0x112D,  0x1122, 
-+0x1107, 0x112F,  0x1123, 
-+0x1107, 0x1132,  0x1124, 
-+0x1107, 0x1136,  0x1126, 
-+0x1108, 0x110B,  0x112C, 
-+0x1109, 0x1100,  0x112D, 
-+0x1109, 0x1102,  0x112E, 
-+0x1109, 0x1103,  0x112F, 
-+0x1109, 0x1105,  0x1130, 
-+0x1109, 0x1106,  0x1131, 
-+0x1109, 0x1107,  0x1132, 
-+0x1109, 0x1109,  0x110A, 
-+0x1109, 0x110A,  0x1134, 
-+0x1109, 0x110B,  0x1135, 
-+0x1109, 0x110C,  0x1136, 
-+0x1109, 0x110E,  0x1137, 
-+0x1109, 0x110F,  0x1138, 
-+0x1109, 0x1110,  0x1139, 
-+0x1109, 0x1111,  0x113A, 
-+0x1109, 0x1112,  0x113B, 
-+0x1109, 0x111E,  0x1133, 
-+0x110A, 0x1109,  0x1134, 
-+0x110B, 0x1100,  0x1141, 
-+0x110B, 0x1103,  0x1142, 
-+0x110B, 0x1106,  0x1143, 
-+0x110B, 0x1107,  0x1144, 
-+0x110B, 0x1109,  0x1145, 
-+0x110B, 0x110B,  0x1147, 
-+0x110B, 0x110C,  0x1148, 
-+0x110B, 0x110E,  0x1149, 
-+0x110B, 0x1110,  0x114A, 
-+0x110B, 0x1111,  0x114B, 
-+0x110B, 0x1140,  0x1146, 
-+0x110C, 0x110B,  0x114D, 
-+0x110C, 0x110C,  0x110D, 
-+0x110E, 0x110F,  0x1152, 
-+0x110E, 0x1112,  0x1153, 
-+0x1111, 0x1107,  0x1156, 
-+0x1111, 0x110B,  0x1157, 
-+0x1112, 0x1112,  0x1158, 
-+0x1121, 0x1100,  0x1122, 
-+0x1121, 0x1103,  0x1123, 
-+0x1121, 0x1107,  0x1124, 
-+0x1121, 0x1109,  0x1125, 
-+0x1121, 0x110C,  0x1126, 
-+0x1132, 0x1100,  0x1133, 
-+0x113C, 0x113C,  0x113D, 
-+0x113E, 0x113E,  0x113F, 
-+0x114E, 0x114E,  0x114F, 
-+0x1150, 0x1150,  0x1151, 
-+0x1161, 0x1169,  0x1176, 
-+0x1161, 0x116E,  0x1177, 
-+0x1161, 0x1175,  0x1162, 
-+0x1163, 0x1169,  0x1178, 
-+0x1163, 0x116D,  0x1179, 
-+0x1163, 0x1175,  0x1164, 
-+0x1165, 0x1169,  0x117A, 
-+0x1165, 0x116E,  0x117B, 
-+0x1165, 0x1173,  0x117C, 
-+0x1165, 0x1175,  0x1166, 
-+0x1167, 0x1169,  0x117D, 
-+0x1167, 0x116E,  0x117E, 
-+0x1167, 0x1175,  0x1168, 
-+0x1169, 0x1161,  0x116A, 
-+0x1169, 0x1162,  0x116B, 
-+0x1169, 0x1165,  0x117F, 
-+0x1169, 0x1166,  0x1180, 
-+0x1169, 0x1168,  0x1181, 
-+0x1169, 0x1169,  0x1182, 
-+0x1169, 0x116E,  0x1183, 
-+0x1169, 0x1175,  0x116C, 
-+0x116A, 0x1175,  0x116B, 
-+0x116D, 0x1163,  0x1184, 
-+0x116D, 0x1164,  0x1185, 
-+0x116D, 0x1167,  0x1186, 
-+0x116D, 0x1169,  0x1187, 
-+0x116D, 0x1175,  0x1188, 
-+0x116E, 0x1161,  0x1189, 
-+0x116E, 0x1162,  0x118A, 
-+0x116E, 0x1165,  0x116F, 
-+0x116E, 0x1166,  0x1170, 
-+0x116E, 0x1168,  0x118C, 
-+0x116E, 0x116E,  0x118D, 
-+0x116E, 0x1175,  0x1171, 
-+0x116E, 0x117C,  0x118B, 
-+0x116F, 0x1173,  0x118B, 
-+0x116F, 0x1175,  0x1170, 
-+0x1172, 0x1161,  0x118E, 
-+0x1172, 0x1165,  0x118F, 
-+0x1172, 0x1166,  0x1190, 
-+0x1172, 0x1167,  0x1191, 
-+0x1172, 0x1168,  0x1192, 
-+0x1172, 0x116E,  0x1193, 
-+0x1172, 0x1175,  0x1194, 
-+0x1173, 0x116E,  0x1195, 
-+0x1173, 0x1173,  0x1196, 
-+0x1173, 0x1175,  0x1174, 
-+0x1174, 0x116E,  0x1197, 
-+0x1175, 0x1161,  0x1198, 
-+0x1175, 0x1163,  0x1199, 
-+0x1175, 0x1169,  0x119A, 
-+0x1175, 0x116E,  0x119B, 
-+0x1175, 0x1173,  0x119C, 
-+0x1175, 0x119E,  0x119D, 
-+0x119E, 0x1165,  0x119F, 
-+0x119E, 0x116E,  0x11A0, 
-+0x119E, 0x1175,  0x11A1, 
-+0x119E, 0x119E,  0x11A2, 
-+0x11A8, 0x11A8,  0x11A9, 
-+0x11A8, 0x11AF,  0x11C3, 
-+0x11A8, 0x11BA,  0x11AA, 
-+0x11A8, 0x11E7,  0x11C4, 
-+0x11AA, 0x11A8,  0x11C4, 
-+0x11AB, 0x11A8,  0x11C5, 
-+0x11AB, 0x11AE,  0x11C6, 
-+0x11AB, 0x11BA,  0x11C7, 
-+0x11AB, 0x11BD,  0x11AC, 
-+0x11AB, 0x11C0,  0x11C9, 
-+0x11AB, 0x11C2,  0x11AD, 
-+0x11AB, 0x11EB,  0x11C8, 
-+0x11AE, 0x11A8,  0x11CA, 
-+0x11AE, 0x11AF,  0x11CB, 
-+0x11AF, 0x11A8,  0x11B0, 
-+0x11AF, 0x11AA,  0x11CC, 
-+0x11AF, 0x11AB,  0x11CD, 
-+0x11AF, 0x11AE,  0x11CE, 
-+0x11AF, 0x11AF,  0x11D0, 
-+0x11AF, 0x11B7,  0x11B1, 
-+0x11AF, 0x11B8,  0x11B2, 
-+0x11AF, 0x11B9,  0x11D3, 
-+0x11AF, 0x11BA,  0x11B3, 
-+0x11AF, 0x11BB,  0x11D6, 
-+0x11AF, 0x11BF,  0x11D8, 
-+0x11AF, 0x11C0,  0x11B4, 
-+0x11AF, 0x11C1,  0x11B5, 
-+0x11AF, 0x11C2,  0x11B6, 
-+0x11AF, 0x11DA,  0x11D1, 
-+0x11AF, 0x11DD,  0x11D2, 
-+0x11AF, 0x11E5,  0x11D4, 
-+0x11AF, 0x11E6,  0x11D5, 
-+0x11AF, 0x11EB,  0x11D7, 
-+0x11AF, 0x11F9,  0x11D9, 
-+0x11B0, 0x11BA,  0x11CC, 
-+0x11B1, 0x11A8,  0x11D1, 
-+0x11B1, 0x11BA,  0x11D2, 
-+0x11B2, 0x11BA,  0x11D3, 
-+0x11B2, 0x11BC,  0x11D5, 
-+0x11B2, 0x11C2,  0x11D4, 
-+0x11B3, 0x11BA,  0x11D6, 
-+0x11B7, 0x11A8,  0x11DA, 
-+0x11B7, 0x11AF,  0x11DB, 
-+0x11B7, 0x11B8,  0x11DC, 
-+0x11B7, 0x11BA,  0x11DD, 
-+0x11B7, 0x11BB,  0x11DE, 
-+0x11B7, 0x11BC,  0x11E2, 
-+0x11B7, 0x11BE,  0x11E0, 
-+0x11B7, 0x11C2,  0x11E1, 
-+0x11B7, 0x11EB,  0x11DF, 
-+0x11B8, 0x11AF,  0x11E3, 
-+0x11B8, 0x11BA,  0x11B9, 
-+0x11B8, 0x11BC,  0x11E6, 
-+0x11B8, 0x11C1,  0x11E4, 
-+0x11B8, 0x11C2,  0x11E5, 
-+0x11BA, 0x11A8,  0x11E7, 
-+0x11BA, 0x11AE,  0x11E8, 
-+0x11BA, 0x11AF,  0x11E9, 
-+0x11BA, 0x11B8,  0x11EA, 
-+0x11BA, 0x11BA,  0x11BB, 
-+0x11BC, 0x11A8,  0x11EC, 
-+0x11BC, 0x11A9,  0x11ED, 
-+0x11BC, 0x11BC,  0x11EE, 
-+0x11BC, 0x11BF,  0x11EF, 
-+0x11C1, 0x11B8,  0x11F3, 
-+0x11C1, 0x11BC,  0x11F4, 
-+0x11C2, 0x11AB,  0x11F5, 
-+0x11C2, 0x11AF,  0x11F6, 
-+0x11C2, 0x11B7,  0x11F7, 
-+0x11C2, 0x11B8,  0x11F8, 
-+0x11CE, 0x11C2,  0x11CF, 
-+0x11DD, 0x11BA,  0x11DE, 
-+0x11EC, 0x11A8,  0x11ED, 
-+0x11F0, 0x11BA,  0x11F1, 
-+0x11F0, 0x11EB,  0x11F2, 
-+0x1FBF, IBUS_KEY_apostrophe,  0x1FCE, 
-+0x1FBF, IBUS_KEY_grave,  0x1FCD, 
-+0x1FBF, IBUS_KEY_asciitilde,  0x1FCF, 
-+0x1FBF, IBUS_KEY_acute,  0x1FCE, 
-+0x1FBF, IBUS_KEY_dead_grave,  0x1FCD, 
-+0x1FBF, IBUS_KEY_dead_acute,  0x1FCE, 
-+0x1FBF, IBUS_KEY_dead_tilde,  0x1FCF, 
-+0x1FFE, IBUS_KEY_apostrophe,  0x1FDE, 
-+0x1FFE, IBUS_KEY_grave,  0x1FDD, 
-+0x1FFE, IBUS_KEY_asciitilde,  0x1FDF, 
-+0x1FFE, IBUS_KEY_acute,  0x1FDE, 
-+0x1FFE, IBUS_KEY_dead_grave,  0x1FDD, 
-+0x1FFE, IBUS_KEY_dead_acute,  0x1FDE, 
-+0x1FFE, IBUS_KEY_dead_tilde,  0x1FDF, 
-+0x2190, IBUS_KEY_bar,  0x2345, 
-+0x2190, 0x2395,  0x2347, 
-+0x2191, IBUS_KEY_minus,  0x234F, 
-+0x2191, 0x2395,  0x2350, 
-+0x2192, IBUS_KEY_bar,  0x2346, 
-+0x2192, 0x2395,  0x2348, 
-+0x2193, IBUS_KEY_minus,  0x2356, 
-+0x2193, 0x2395,  0x2357, 
-+0x2203, 0x0338,  0x2204, 
-+0x2206, IBUS_KEY_underscore,  0x2359, 
-+0x2206, IBUS_KEY_bar,  0x234B, 
-+0x2206, 0x2395,  0x234D, 
-+0x2207, IBUS_KEY_bar,  0x2352, 
-+0x2207, IBUS_KEY_asciitilde,  0x236B, 
-+0x2207, IBUS_KEY_diaeresis,  0x2362, 
-+0x2207, 0x2395,  0x2354, 
-+0x2208, 0x0338,  0x2209, 
-+0x220A, IBUS_KEY_underscore,  0x2377, 
-+0x220B, 0x0338,  0x220C, 
-+0x2218, IBUS_KEY_underscore,  0x235B, 
-+0x2218, IBUS_KEY_diaeresis,  0x2364, 
-+0x2218, 0x2229,  0x235D, 
-+0x2218, IBUS_KEY_uptack,  0x2355, 
-+0x2218, IBUS_KEY_downtack,  0x234E, 
-+0x2218, 0x2395,  0x233B, 
-+0x2218, IBUS_KEY_emopencircle,  0x233E, 
-+0x2223, 0x0338,  0x2224, 
-+0x2225, 0x0338,  0x2226, 
-+0x2227, IBUS_KEY_asciitilde,  0x2372, 
-+0x2227, 0x2228,  0x22C4, 
-+0x2227, 0x2395,  0x2353, 
-+0x2228, IBUS_KEY_asciitilde,  0x2371, 
-+0x2228, 0x2227,  0x22C4, 
-+0x2228, 0x2395,  0x234C, 
-+0x2229, 0x2218,  0x235D, 
-+IBUS_KEY_union, IBUS_KEY_bar,  0x2366, 
-+0x223C, 0x0338,  0x2241, 
-+0x2243, 0x0338,  0x2244, 
-+0x2248, 0x0338,  0x2249, 
-+0x224D, 0x0338,  0x226D, 
-+0x2260, IBUS_KEY_underscore,  0x2262, 
-+0x2260, 0x2395,  0x236F, 
-+0x2272, 0x0338,  0x2274, 
-+0x2273, 0x0338,  0x2275, 
-+0x2276, 0x0338,  0x2278, 
-+0x2277, 0x0338,  0x2279, 
-+0x227A, 0x0338,  0x2280, 
-+0x227B, 0x0338,  0x2281, 
-+0x227C, 0x0338,  0x22E0, 
-+0x227D, 0x0338,  0x22E1, 
-+0x2282, IBUS_KEY_underscore,  0x2286, 
-+0x2282, IBUS_KEY_bar,  0x2367, 
-+0x2283, IBUS_KEY_underscore,  0x2287, 
-+0x2286, 0x0338,  0x2288, 
-+0x2287, 0x0338,  0x2289, 
-+0x2291, 0x0338,  0x22E2, 
-+0x2292, 0x0338,  0x22E3, 
-+IBUS_KEY_uptack, IBUS_KEY_diaeresis,  0x2361, 
-+IBUS_KEY_uptack, IBUS_KEY_macron,  0x2351, 
-+IBUS_KEY_uptack, 0x2218,  0x2355, 
-+IBUS_KEY_uptack, IBUS_KEY_downtack,  0x2336, 
-+IBUS_KEY_downtack, IBUS_KEY_underscore,  0x234A, 
-+IBUS_KEY_downtack, 0x2218,  0x234E, 
-+IBUS_KEY_downtack, IBUS_KEY_uptack,  0x2336, 
-+0x22A8, 0x0338,  0x22AD, 
-+0x22A9, 0x0338,  0x22AE, 
-+0x22AB, 0x0338,  0x22AF, 
-+0x22B2, 0x0338,  0x22EA, 
-+0x22B3, 0x0338,  0x22EB, 
-+0x22B4, 0x0338,  0x22EC, 
-+0x22B5, 0x0338,  0x22ED, 
-+0x22C4, IBUS_KEY_underscore,  0x235A, 
-+0x22C4, 0x2395,  0x233A, 
-+0x2373, IBUS_KEY_underscore,  0x2378, 
-+0x2375, IBUS_KEY_underscore,  0x2379, 
-+0x237A, IBUS_KEY_underscore,  0x2376, 
-+0x2395, IBUS_KEY_apostrophe,  0x235E, 
-+0x2395, IBUS_KEY_slash,  0x2341, 
-+0x2395, IBUS_KEY_colon,  0x2360, 
-+0x2395, IBUS_KEY_less,  0x2343, 
-+0x2395, IBUS_KEY_equal,  0x2338, 
-+0x2395, IBUS_KEY_greater,  0x2344, 
-+0x2395, IBUS_KEY_question,  0x2370, 
-+0x2395, IBUS_KEY_backslash,  0x2342, 
-+0x2395, IBUS_KEY_division,  0x2339, 
-+0x2395, 0x2190,  0x2347, 
-+0x2395, 0x2191,  0x2350, 
-+0x2395, 0x2192,  0x2348, 
-+0x2395, 0x2193,  0x2357, 
-+0x2395, 0x2206,  0x234D, 
-+0x2395, 0x2207,  0x2354, 
-+0x2395, 0x2218,  0x233B, 
-+0x2395, 0x2227,  0x2353, 
-+0x2395, 0x2228,  0x234C, 
-+0x2395, 0x2260,  0x236F, 
-+0x2395, 0x22C4,  0x233A, 
-+0x2395, IBUS_KEY_emopencircle,  0x233C, 
-+IBUS_KEY_emopencircle, IBUS_KEY_asterisk,  0x235F, 
-+IBUS_KEY_emopencircle, IBUS_KEY_minus,  0x2296, 
-+IBUS_KEY_emopencircle, IBUS_KEY_period,  0x2299, 
-+IBUS_KEY_emopencircle, IBUS_KEY_backslash,  0x2349, 
-+IBUS_KEY_emopencircle, IBUS_KEY_underscore,  0x235C, 
-+IBUS_KEY_emopencircle, IBUS_KEY_bar,  0x233D, 
-+IBUS_KEY_emopencircle, IBUS_KEY_diaeresis,  0x2365, 
-+IBUS_KEY_emopencircle, 0x2218,  0x233E, 
-+IBUS_KEY_emopencircle, 0x2395,  0x233C, 
-+0x2ADD, 0x0338,  0x2ADC, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_D,  0x0110, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_G,  0x01E4, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_H,  0x0126, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_I,  0x0197, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_L,  0x0141, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_O,  0x00D8, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_T,  0x0166, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_Z,  0x01B5, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_b,  0x0180, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_d,  0x0111, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_g,  0x01E5, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_h,  0x0127, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_i,  0x0268, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_l,  0x0142, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_o,  0x00F8, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_t,  0x0167, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_z,  0x01B6, 
-+IBUS_KEY_KP_Divide, 0x0294,  0x02A1, 
-+IBUS_KEY_KP_Divide, 0x04AE,  0x04B0, 
-+IBUS_KEY_KP_Divide, 0x04AF,  0x04B1, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_ghe,  0x0493, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_ka,  0x049F, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_GHE,  0x0492, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_Cyrillic_KA,  0x049E, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_leftarrow,  0x219A, 
-+IBUS_KEY_KP_Divide, IBUS_KEY_rightarrow,  0x219B, 
-+IBUS_KEY_KP_Divide, 0x2194,  0x21AE, 
-+IBUS_KEY_KP_Equal, 0x0338,  0x2260, 
-+IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_O,  0x1EE2, 
-+IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_U,  0x1EF0, 
-+IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_o,  0x1EE3, 
-+IBUS_KEY_exclam, IBUS_KEY_plus, IBUS_KEY_u,  0x1EF1, 
-+IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EE2, 
-+IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EF0, 
-+IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EE3, 
-+IBUS_KEY_exclam, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EF1, 
-+IBUS_KEY_quotedbl, IBUS_KEY_apostrophe, IBUS_KEY_space,  0x0385, 
-+IBUS_KEY_quotedbl, IBUS_KEY_apostrophe, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_quotedbl, IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_quotedbl, IBUS_KEY_underscore, IBUS_KEY_U,  0x1E7A, 
-+IBUS_KEY_quotedbl, IBUS_KEY_underscore, IBUS_KEY_u,  0x1E7B, 
-+IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x1E4E, 
-+IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x1E4F, 
-+IBUS_KEY_quotedbl, IBUS_KEY_macron, IBUS_KEY_U,  0x1E7A, 
-+IBUS_KEY_quotedbl, IBUS_KEY_macron, IBUS_KEY_u,  0x1E7B, 
-+IBUS_KEY_quotedbl, IBUS_KEY_dead_tilde, IBUS_KEY_O,  0x1E4E, 
-+IBUS_KEY_quotedbl, IBUS_KEY_dead_tilde, IBUS_KEY_o,  0x1E4F, 
-+IBUS_KEY_quotedbl, IBUS_KEY_dead_macron, IBUS_KEY_U,  0x1E7A, 
-+IBUS_KEY_quotedbl, IBUS_KEY_dead_macron, IBUS_KEY_u,  0x1E7B, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_space,  0x0385, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_I,  0x1E2E, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D7, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_i,  0x1E2F, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D8, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_apostrophe, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_U,  0x1EE8, 
-+IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDB, 
-+IBUS_KEY_apostrophe, IBUS_KEY_plus, IBUS_KEY_u,  0x1EE9, 
-+IBUS_KEY_apostrophe, IBUS_KEY_slash, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_slash, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA4, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EBE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA5, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EBF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED1, 
-+IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_apostrophe, IBUS_KEY_underscore, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_apostrophe, IBUS_KEY_b, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_b, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x1E4C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_U,  0x1E78, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x1E4D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_asciitilde, IBUS_KEY_u,  0x1E79, 
-+IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_apostrophe, IBUS_KEY_macron, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_apostrophe, IBUS_KEY_cedilla, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_apostrophe, IBUS_KEY_cedilla, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_A,  0x1EA4, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_E,  0x1EBE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_O,  0x1ED0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_a,  0x1EA5, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_e,  0x1EBF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_circumflex, IBUS_KEY_o,  0x1ED1, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_O,  0x1E4C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_U,  0x1E78, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_o,  0x1E4D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_tilde, IBUS_KEY_u,  0x1E79, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_macron, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_breve, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_breve, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_I,  0x1E2E, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01D7, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_i,  0x1E2F, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01D8, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_abovering, IBUS_KEY_A,  0x01FA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_abovering, IBUS_KEY_a,  0x01FB, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_cedilla, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_cedilla, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EDA, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EE8, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EDB, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EE9, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_apostrophe, IBUS_KEY_KP_Divide, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_apostrophe, IBUS_KEY_KP_Divide, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_parenleft, IBUS_KEY_0, IBUS_KEY_parenright,  0x24EA, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_parenright,  0x2460, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_parenright,  0x2461, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_parenright,  0x2462, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_parenright,  0x2463, 
-+IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_parenright,  0x2464, 
-+IBUS_KEY_parenleft, IBUS_KEY_6, IBUS_KEY_parenright,  0x2465, 
-+IBUS_KEY_parenleft, IBUS_KEY_7, IBUS_KEY_parenright,  0x2466, 
-+IBUS_KEY_parenleft, IBUS_KEY_8, IBUS_KEY_parenright,  0x2467, 
-+IBUS_KEY_parenleft, IBUS_KEY_9, IBUS_KEY_parenright,  0x2468, 
-+IBUS_KEY_parenleft, IBUS_KEY_A, IBUS_KEY_parenright,  0x24B6, 
-+IBUS_KEY_parenleft, IBUS_KEY_B, IBUS_KEY_parenright,  0x24B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_C, IBUS_KEY_parenright,  0x24B8, 
-+IBUS_KEY_parenleft, IBUS_KEY_D, IBUS_KEY_parenright,  0x24B9, 
-+IBUS_KEY_parenleft, IBUS_KEY_E, IBUS_KEY_parenright,  0x24BA, 
-+IBUS_KEY_parenleft, IBUS_KEY_F, IBUS_KEY_parenright,  0x24BB, 
-+IBUS_KEY_parenleft, IBUS_KEY_G, IBUS_KEY_parenright,  0x24BC, 
-+IBUS_KEY_parenleft, IBUS_KEY_H, IBUS_KEY_parenright,  0x24BD, 
-+IBUS_KEY_parenleft, IBUS_KEY_I, IBUS_KEY_parenright,  0x24BE, 
-+IBUS_KEY_parenleft, IBUS_KEY_J, IBUS_KEY_parenright,  0x24BF, 
-+IBUS_KEY_parenleft, IBUS_KEY_K, IBUS_KEY_parenright,  0x24C0, 
-+IBUS_KEY_parenleft, IBUS_KEY_L, IBUS_KEY_parenright,  0x24C1, 
-+IBUS_KEY_parenleft, IBUS_KEY_M, IBUS_KEY_parenright,  0x24C2, 
-+IBUS_KEY_parenleft, IBUS_KEY_N, IBUS_KEY_parenright,  0x24C3, 
-+IBUS_KEY_parenleft, IBUS_KEY_O, IBUS_KEY_parenright,  0x24C4, 
-+IBUS_KEY_parenleft, IBUS_KEY_P, IBUS_KEY_parenright,  0x24C5, 
-+IBUS_KEY_parenleft, IBUS_KEY_Q, IBUS_KEY_parenright,  0x24C6, 
-+IBUS_KEY_parenleft, IBUS_KEY_R, IBUS_KEY_parenright,  0x24C7, 
-+IBUS_KEY_parenleft, IBUS_KEY_S, IBUS_KEY_parenright,  0x24C8, 
-+IBUS_KEY_parenleft, IBUS_KEY_T, IBUS_KEY_parenright,  0x24C9, 
-+IBUS_KEY_parenleft, IBUS_KEY_U, IBUS_KEY_parenright,  0x24CA, 
-+IBUS_KEY_parenleft, IBUS_KEY_V, IBUS_KEY_parenright,  0x24CB, 
-+IBUS_KEY_parenleft, IBUS_KEY_W, IBUS_KEY_parenright,  0x24CC, 
-+IBUS_KEY_parenleft, IBUS_KEY_X, IBUS_KEY_parenright,  0x24CD, 
-+IBUS_KEY_parenleft, IBUS_KEY_Y, IBUS_KEY_parenright,  0x24CE, 
-+IBUS_KEY_parenleft, IBUS_KEY_Z, IBUS_KEY_parenright,  0x24CF, 
-+IBUS_KEY_parenleft, IBUS_KEY_a, IBUS_KEY_parenright,  0x24D0, 
-+IBUS_KEY_parenleft, IBUS_KEY_b, IBUS_KEY_parenright,  0x24D1, 
-+IBUS_KEY_parenleft, IBUS_KEY_c, IBUS_KEY_parenright,  0x24D2, 
-+IBUS_KEY_parenleft, IBUS_KEY_d, IBUS_KEY_parenright,  0x24D3, 
-+IBUS_KEY_parenleft, IBUS_KEY_e, IBUS_KEY_parenright,  0x24D4, 
-+IBUS_KEY_parenleft, IBUS_KEY_f, IBUS_KEY_parenright,  0x24D5, 
-+IBUS_KEY_parenleft, IBUS_KEY_g, IBUS_KEY_parenright,  0x24D6, 
-+IBUS_KEY_parenleft, IBUS_KEY_h, IBUS_KEY_parenright,  0x24D7, 
-+IBUS_KEY_parenleft, IBUS_KEY_i, IBUS_KEY_parenright,  0x24D8, 
-+IBUS_KEY_parenleft, IBUS_KEY_j, IBUS_KEY_parenright,  0x24D9, 
-+IBUS_KEY_parenleft, IBUS_KEY_k, IBUS_KEY_parenright,  0x24DA, 
-+IBUS_KEY_parenleft, IBUS_KEY_l, IBUS_KEY_parenright,  0x24DB, 
-+IBUS_KEY_parenleft, IBUS_KEY_m, IBUS_KEY_parenright,  0x24DC, 
-+IBUS_KEY_parenleft, IBUS_KEY_n, IBUS_KEY_parenright,  0x24DD, 
-+IBUS_KEY_parenleft, IBUS_KEY_o, IBUS_KEY_parenright,  0x24DE, 
-+IBUS_KEY_parenleft, IBUS_KEY_p, IBUS_KEY_parenright,  0x24DF, 
-+IBUS_KEY_parenleft, IBUS_KEY_q, IBUS_KEY_parenright,  0x24E0, 
-+IBUS_KEY_parenleft, IBUS_KEY_r, IBUS_KEY_parenright,  0x24E1, 
-+IBUS_KEY_parenleft, IBUS_KEY_s, IBUS_KEY_parenright,  0x24E2, 
-+IBUS_KEY_parenleft, IBUS_KEY_t, IBUS_KEY_parenright,  0x24E3, 
-+IBUS_KEY_parenleft, IBUS_KEY_u, IBUS_KEY_parenright,  0x24E4, 
-+IBUS_KEY_parenleft, IBUS_KEY_v, IBUS_KEY_parenright,  0x24E5, 
-+IBUS_KEY_parenleft, IBUS_KEY_w, IBUS_KEY_parenright,  0x24E6, 
-+IBUS_KEY_parenleft, IBUS_KEY_x, IBUS_KEY_parenright,  0x24E7, 
-+IBUS_KEY_parenleft, IBUS_KEY_y, IBUS_KEY_parenright,  0x24E8, 
-+IBUS_KEY_parenleft, IBUS_KEY_z, IBUS_KEY_parenright,  0x24E9, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_WO, IBUS_KEY_parenright,  0x32FE, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_A, IBUS_KEY_parenright,  0x32D0, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_I, IBUS_KEY_parenright,  0x32D1, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_U, IBUS_KEY_parenright,  0x32D2, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_E, IBUS_KEY_parenright,  0x32D3, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_O, IBUS_KEY_parenright,  0x32D4, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_KA, IBUS_KEY_parenright,  0x32D5, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_KI, IBUS_KEY_parenright,  0x32D6, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_KU, IBUS_KEY_parenright,  0x32D7, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_KE, IBUS_KEY_parenright,  0x32D8, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_KO, IBUS_KEY_parenright,  0x32D9, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_SA, IBUS_KEY_parenright,  0x32DA, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_SHI, IBUS_KEY_parenright,  0x32DB, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_SU, IBUS_KEY_parenright,  0x32DC, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_SE, IBUS_KEY_parenright,  0x32DD, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_SO, IBUS_KEY_parenright,  0x32DE, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_TA, IBUS_KEY_parenright,  0x32DF, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_CHI, IBUS_KEY_parenright,  0x32E0, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_TSU, IBUS_KEY_parenright,  0x32E1, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_TE, IBUS_KEY_parenright,  0x32E2, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_TO, IBUS_KEY_parenright,  0x32E3, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_NA, IBUS_KEY_parenright,  0x32E4, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_NI, IBUS_KEY_parenright,  0x32E5, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_NU, IBUS_KEY_parenright,  0x32E6, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_NE, IBUS_KEY_parenright,  0x32E7, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_NO, IBUS_KEY_parenright,  0x32E8, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_HA, IBUS_KEY_parenright,  0x32E9, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_HI, IBUS_KEY_parenright,  0x32EA, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_FU, IBUS_KEY_parenright,  0x32EB, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_HE, IBUS_KEY_parenright,  0x32EC, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_HO, IBUS_KEY_parenright,  0x32ED, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_MA, IBUS_KEY_parenright,  0x32EE, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_MI, IBUS_KEY_parenright,  0x32EF, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_MU, IBUS_KEY_parenright,  0x32F0, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_ME, IBUS_KEY_parenright,  0x32F1, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_MO, IBUS_KEY_parenright,  0x32F2, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_YA, IBUS_KEY_parenright,  0x32F3, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_YU, IBUS_KEY_parenright,  0x32F4, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_YO, IBUS_KEY_parenright,  0x32F5, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_RA, IBUS_KEY_parenright,  0x32F6, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_RI, IBUS_KEY_parenright,  0x32F7, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_RU, IBUS_KEY_parenright,  0x32F8, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_RE, IBUS_KEY_parenright,  0x32F9, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_RO, IBUS_KEY_parenright,  0x32FA, 
-+IBUS_KEY_parenleft, IBUS_KEY_kana_WA, IBUS_KEY_parenright,  0x32FB, 
-+IBUS_KEY_parenleft, 0x1100, IBUS_KEY_parenright,  0x3260, 
-+IBUS_KEY_parenleft, 0x1102, IBUS_KEY_parenright,  0x3261, 
-+IBUS_KEY_parenleft, 0x1103, IBUS_KEY_parenright,  0x3262, 
-+IBUS_KEY_parenleft, 0x1105, IBUS_KEY_parenright,  0x3263, 
-+IBUS_KEY_parenleft, 0x1106, IBUS_KEY_parenright,  0x3264, 
-+IBUS_KEY_parenleft, 0x1107, IBUS_KEY_parenright,  0x3265, 
-+IBUS_KEY_parenleft, 0x1109, IBUS_KEY_parenright,  0x3266, 
-+IBUS_KEY_parenleft, 0x110B, IBUS_KEY_parenright,  0x3267, 
-+IBUS_KEY_parenleft, 0x110C, IBUS_KEY_parenright,  0x3268, 
-+IBUS_KEY_parenleft, 0x110E, IBUS_KEY_parenright,  0x3269, 
-+IBUS_KEY_parenleft, 0x110F, IBUS_KEY_parenright,  0x326A, 
-+IBUS_KEY_parenleft, 0x1110, IBUS_KEY_parenright,  0x326B, 
-+IBUS_KEY_parenleft, 0x1111, IBUS_KEY_parenright,  0x326C, 
-+IBUS_KEY_parenleft, 0x1112, IBUS_KEY_parenright,  0x326D, 
-+IBUS_KEY_parenleft, 0x30F0, IBUS_KEY_parenright,  0x32FC, 
-+IBUS_KEY_parenleft, 0x30F1, IBUS_KEY_parenright,  0x32FD, 
-+IBUS_KEY_parenleft, 0x4E00, IBUS_KEY_parenright,  0x3280, 
-+IBUS_KEY_parenleft, 0x4E03, IBUS_KEY_parenright,  0x3286, 
-+IBUS_KEY_parenleft, 0x4E09, IBUS_KEY_parenright,  0x3282, 
-+IBUS_KEY_parenleft, 0x4E0A, IBUS_KEY_parenright,  0x32A4, 
-+IBUS_KEY_parenleft, 0x4E0B, IBUS_KEY_parenright,  0x32A6, 
-+IBUS_KEY_parenleft, 0x4E2D, IBUS_KEY_parenright,  0x32A5, 
-+IBUS_KEY_parenleft, 0x4E5D, IBUS_KEY_parenright,  0x3288, 
-+IBUS_KEY_parenleft, 0x4E8C, IBUS_KEY_parenright,  0x3281, 
-+IBUS_KEY_parenleft, 0x4E94, IBUS_KEY_parenright,  0x3284, 
-+IBUS_KEY_parenleft, 0x4F01, IBUS_KEY_parenright,  0x32AD, 
-+IBUS_KEY_parenleft, 0x4F11, IBUS_KEY_parenright,  0x32A1, 
-+IBUS_KEY_parenleft, 0x512A, IBUS_KEY_parenright,  0x329D, 
-+IBUS_KEY_parenleft, 0x516B, IBUS_KEY_parenright,  0x3287, 
-+IBUS_KEY_parenleft, 0x516D, IBUS_KEY_parenright,  0x3285, 
-+IBUS_KEY_parenleft, 0x5199, IBUS_KEY_parenright,  0x32A2, 
-+IBUS_KEY_parenleft, 0x52B4, IBUS_KEY_parenright,  0x3298, 
-+IBUS_KEY_parenleft, 0x533B, IBUS_KEY_parenright,  0x32A9, 
-+IBUS_KEY_parenleft, 0x5341, IBUS_KEY_parenright,  0x3289, 
-+IBUS_KEY_parenleft, 0x5354, IBUS_KEY_parenright,  0x32AF, 
-+IBUS_KEY_parenleft, 0x5370, IBUS_KEY_parenright,  0x329E, 
-+IBUS_KEY_parenleft, 0x53F3, IBUS_KEY_parenright,  0x32A8, 
-+IBUS_KEY_parenleft, 0x540D, IBUS_KEY_parenright,  0x3294, 
-+IBUS_KEY_parenleft, 0x56DB, IBUS_KEY_parenright,  0x3283, 
-+IBUS_KEY_parenleft, 0x571F, IBUS_KEY_parenright,  0x328F, 
-+IBUS_KEY_parenleft, 0x591C, IBUS_KEY_parenright,  0x32B0, 
-+IBUS_KEY_parenleft, 0x5973, IBUS_KEY_parenright,  0x329B, 
-+IBUS_KEY_parenleft, 0x5B66, IBUS_KEY_parenright,  0x32AB, 
-+IBUS_KEY_parenleft, 0x5B97, IBUS_KEY_parenright,  0x32AA, 
-+IBUS_KEY_parenleft, 0x5DE6, IBUS_KEY_parenright,  0x32A7, 
-+IBUS_KEY_parenleft, 0x65E5, IBUS_KEY_parenright,  0x3290, 
-+IBUS_KEY_parenleft, 0x6708, IBUS_KEY_parenright,  0x328A, 
-+IBUS_KEY_parenleft, 0x6709, IBUS_KEY_parenright,  0x3292, 
-+IBUS_KEY_parenleft, 0x6728, IBUS_KEY_parenright,  0x328D, 
-+IBUS_KEY_parenleft, 0x682A, IBUS_KEY_parenright,  0x3291, 
-+IBUS_KEY_parenleft, 0x6B63, IBUS_KEY_parenright,  0x32A3, 
-+IBUS_KEY_parenleft, 0x6C34, IBUS_KEY_parenright,  0x328C, 
-+IBUS_KEY_parenleft, 0x6CE8, IBUS_KEY_parenright,  0x329F, 
-+IBUS_KEY_parenleft, 0x706B, IBUS_KEY_parenright,  0x328B, 
-+IBUS_KEY_parenleft, 0x7279, IBUS_KEY_parenright,  0x3295, 
-+IBUS_KEY_parenleft, 0x7537, IBUS_KEY_parenright,  0x329A, 
-+IBUS_KEY_parenleft, 0x76E3, IBUS_KEY_parenright,  0x32AC, 
-+IBUS_KEY_parenleft, 0x793E, IBUS_KEY_parenright,  0x3293, 
-+IBUS_KEY_parenleft, 0x795D, IBUS_KEY_parenright,  0x3297, 
-+IBUS_KEY_parenleft, 0x79D8, IBUS_KEY_parenright,  0x3299, 
-+IBUS_KEY_parenleft, 0x8CA1, IBUS_KEY_parenright,  0x3296, 
-+IBUS_KEY_parenleft, 0x8CC7, IBUS_KEY_parenright,  0x32AE, 
-+IBUS_KEY_parenleft, 0x9069, IBUS_KEY_parenright,  0x329C, 
-+IBUS_KEY_parenleft, 0x91D1, IBUS_KEY_parenright,  0x328E, 
-+IBUS_KEY_parenleft, 0x9805, IBUS_KEY_parenright,  0x32A0, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x2461, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x24EA, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x2460, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x2461, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x2462, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x2463, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x2464, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x2465, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x2466, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x2467, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x2468, 
-+IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_A,  0x01FA, 
-+IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_a,  0x01FB, 
-+IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_space,  0x00AD, 
-+IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_minus,  0x2014, 
-+IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_period,  0x2013, 
-+IBUS_KEY_period, IBUS_KEY_exclam, IBUS_KEY_S,  0x1E68, 
-+IBUS_KEY_period, IBUS_KEY_exclam, IBUS_KEY_s,  0x1E69, 
-+IBUS_KEY_period, IBUS_KEY_apostrophe, IBUS_KEY_S,  0x1E64, 
-+IBUS_KEY_period, IBUS_KEY_apostrophe, IBUS_KEY_s,  0x1E65, 
-+IBUS_KEY_period, IBUS_KEY_acute, IBUS_KEY_S,  0x1E64, 
-+IBUS_KEY_period, IBUS_KEY_acute, IBUS_KEY_s,  0x1E65, 
-+IBUS_KEY_period, IBUS_KEY_dead_acute, IBUS_KEY_S,  0x1E64, 
-+IBUS_KEY_period, IBUS_KEY_dead_acute, IBUS_KEY_s,  0x1E65, 
-+IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_S,  0x1E66, 
-+IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_s,  0x1E67, 
-+IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_S,  0x1E68, 
-+IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_s,  0x1E69, 
-+IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_0,  0x2152, 
-+IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDE, 
-+IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEC, 
-+IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDF, 
-+IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_u,  0x1EED, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA8, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC2, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED4, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA9, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC3, 
-+IBUS_KEY_question, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED5, 
-+IBUS_KEY_question, IBUS_KEY_b, IBUS_KEY_A,  0x1EB2, 
-+IBUS_KEY_question, IBUS_KEY_b, IBUS_KEY_a,  0x1EB3, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_A,  0x1EA8, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_E,  0x1EC2, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_O,  0x1ED4, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_a,  0x1EA9, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_e,  0x1EC3, 
-+IBUS_KEY_question, IBUS_KEY_dead_circumflex, IBUS_KEY_o,  0x1ED5, 
-+IBUS_KEY_question, IBUS_KEY_dead_breve, IBUS_KEY_A,  0x1EB2, 
-+IBUS_KEY_question, IBUS_KEY_dead_breve, IBUS_KEY_a,  0x1EB3, 
-+IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EDE, 
-+IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EEC, 
-+IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EDF, 
-+IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EED, 
-+IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_A,  0x1EB6, 
-+IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_a,  0x1EB7, 
-+IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_U, IBUS_KEY_dead_cedilla, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_U, IBUS_KEY_dead_cedilla, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_U, IBUS_KEY_dead_belowdot, IBUS_KEY_A,  0x1EB6, 
-+IBUS_KEY_U, IBUS_KEY_dead_belowdot, IBUS_KEY_a,  0x1EB7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_A,  0x1EAC, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_E,  0x1EC6, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_O,  0x1ED8, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_a,  0x1EAD, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_e,  0x1EC7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_exclam, IBUS_KEY_o,  0x1ED9, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_a,  0x00AA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_h,  0x02B0, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_i,  0x2071, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_j,  0x02B2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_l,  0x02E1, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_n,  0x207F, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_o,  0x00BA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_r,  0x02B3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_s,  0x02E2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_w,  0x02B7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_x,  0x02E3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, IBUS_KEY_y,  0x02B8, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0263,  0x02E0, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0266,  0x02B1, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0279,  0x02B4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x027B,  0x02B5, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0281,  0x02B6, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underscore, 0x0295,  0x02E4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_a,  0x00AA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_h,  0x02B0, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_i,  0x2071, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_j,  0x02B2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_l,  0x02E1, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_n,  0x207F, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_o,  0x00BA, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_r,  0x02B3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_s,  0x02E2, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_w,  0x02B7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_x,  0x02E3, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, IBUS_KEY_y,  0x02B8, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0263,  0x02E0, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0266,  0x02B1, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0279,  0x02B4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x027B,  0x02B5, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0281,  0x02B6, 
-+IBUS_KEY_asciicircum, IBUS_KEY_underbar, 0x0295,  0x02E4, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_A,  0x1EAC, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_E,  0x1EC6, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_O,  0x1ED8, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_a,  0x1EAD, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_e,  0x1EC7, 
-+IBUS_KEY_asciicircum, IBUS_KEY_dead_belowdot, IBUS_KEY_o,  0x1ED9, 
-+IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_L,  0x1E38, 
-+IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_R,  0x1E5C, 
-+IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_l,  0x1E39, 
-+IBUS_KEY_underscore, IBUS_KEY_exclam, IBUS_KEY_r,  0x1E5D, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_A,  0x01DE, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_O,  0x022A, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D5, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_a,  0x01DF, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_o,  0x022B, 
-+IBUS_KEY_underscore, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D6, 
-+IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_A,  0x01E0, 
-+IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_O,  0x0230, 
-+IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_a,  0x01E1, 
-+IBUS_KEY_underscore, IBUS_KEY_period, IBUS_KEY_o,  0x0231, 
-+IBUS_KEY_underscore, IBUS_KEY_semicolon, IBUS_KEY_O,  0x01EC, 
-+IBUS_KEY_underscore, IBUS_KEY_semicolon, IBUS_KEY_o,  0x01ED, 
-+IBUS_KEY_underscore, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x022C, 
-+IBUS_KEY_underscore, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x022D, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_tilde, IBUS_KEY_O,  0x022C, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_tilde, IBUS_KEY_o,  0x022D, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_A,  0x01E0, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_O,  0x0230, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_a,  0x01E1, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_abovedot, IBUS_KEY_o,  0x0231, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_A,  0x01DE, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_O,  0x022A, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01D5, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_a,  0x01DF, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_o,  0x022B, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01D6, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_ogonek, IBUS_KEY_O,  0x01EC, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_ogonek, IBUS_KEY_o,  0x01ED, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_L,  0x1E38, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_R,  0x1E5C, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_l,  0x1E39, 
-+IBUS_KEY_underscore, IBUS_KEY_dead_belowdot, IBUS_KEY_r,  0x1E5D, 
-+IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01DB, 
-+IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01DC, 
-+IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x1FD2, 
-+IBUS_KEY_grave, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x1FE2, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F1B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F4B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6B, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F03, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F13, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F23, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F33, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F43, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F53, 
-+IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F63, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F1A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F4A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6A, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F02, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F12, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F22, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F32, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F42, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F52, 
-+IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F62, 
-+IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDC, 
-+IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEA, 
-+IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDD, 
-+IBUS_KEY_grave, IBUS_KEY_plus, IBUS_KEY_u,  0x1EEB, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA6, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC0, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED2, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA7, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC1, 
-+IBUS_KEY_grave, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED3, 
-+IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_E,  0x1E14, 
-+IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_O,  0x1E50, 
-+IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_e,  0x1E15, 
-+IBUS_KEY_grave, IBUS_KEY_underscore, IBUS_KEY_o,  0x1E51, 
-+IBUS_KEY_grave, IBUS_KEY_b, IBUS_KEY_A,  0x1EB0, 
-+IBUS_KEY_grave, IBUS_KEY_b, IBUS_KEY_a,  0x1EB1, 
-+IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_E,  0x1E14, 
-+IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_O,  0x1E50, 
-+IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_e,  0x1E15, 
-+IBUS_KEY_grave, IBUS_KEY_macron, IBUS_KEY_o,  0x1E51, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_A,  0x1EA6, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_E,  0x1EC0, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_O,  0x1ED2, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_a,  0x1EA7, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_e,  0x1EC1, 
-+IBUS_KEY_grave, IBUS_KEY_dead_circumflex, IBUS_KEY_o,  0x1ED3, 
-+IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_E,  0x1E14, 
-+IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_O,  0x1E50, 
-+IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_e,  0x1E15, 
-+IBUS_KEY_grave, IBUS_KEY_dead_macron, IBUS_KEY_o,  0x1E51, 
-+IBUS_KEY_grave, IBUS_KEY_dead_breve, IBUS_KEY_A,  0x1EB0, 
-+IBUS_KEY_grave, IBUS_KEY_dead_breve, IBUS_KEY_a,  0x1EB1, 
-+IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01DB, 
-+IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01DC, 
-+IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x1FD2, 
-+IBUS_KEY_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x1FE2, 
-+IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EDC, 
-+IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EEA, 
-+IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EDD, 
-+IBUS_KEY_grave, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EEB, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON,  0x1F1A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON,  0x1F4A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6A, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F02, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon,  0x1F12, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F22, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F32, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron,  0x1F42, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F52, 
-+IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F62, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON,  0x1F1B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON,  0x1F4B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6B, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F03, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon,  0x1F13, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F23, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F33, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron,  0x1F43, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F53, 
-+IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F63, 
-+IBUS_KEY_b, IBUS_KEY_exclam, IBUS_KEY_A,  0x1EB6, 
-+IBUS_KEY_b, IBUS_KEY_exclam, IBUS_KEY_a,  0x1EB7, 
-+IBUS_KEY_b, IBUS_KEY_comma, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_b, IBUS_KEY_comma, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_b, IBUS_KEY_cedilla, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_b, IBUS_KEY_cedilla, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_b, IBUS_KEY_dead_cedilla, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_b, IBUS_KEY_dead_cedilla, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_b, IBUS_KEY_dead_belowdot, IBUS_KEY_A,  0x1EB6, 
-+IBUS_KEY_b, IBUS_KEY_dead_belowdot, IBUS_KEY_a,  0x1EB7, 
-+IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D9, 
-+IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01DA, 
-+IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01D9, 
-+IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01DA, 
-+IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x1FD7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x1FE7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F07, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F27, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F37, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F57, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F67, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F06, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F26, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F36, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F56, 
-+IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F66, 
-+IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_O,  0x1EE0, 
-+IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_U,  0x1EEE, 
-+IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_o,  0x1EE1, 
-+IBUS_KEY_asciitilde, IBUS_KEY_plus, IBUS_KEY_u,  0x1EEF, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EAA, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EC4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EAB, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EC5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_b, IBUS_KEY_A,  0x1EB4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_b, IBUS_KEY_a,  0x1EB5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_A,  0x1EAA, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_E,  0x1EC4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_O,  0x1ED6, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_a,  0x1EAB, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_e,  0x1EC5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_circumflex, IBUS_KEY_o,  0x1ED7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_breve, IBUS_KEY_A,  0x1EB4, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_breve, IBUS_KEY_a,  0x1EB5, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x1FD7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x1FE7, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EE0, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EEE, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EE1, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EEF, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6E, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F06, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F26, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F36, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F56, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F66, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6F, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F07, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F27, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F37, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F57, 
-+IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F67, 
-+IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_L,  0x1E38, 
-+IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_R,  0x1E5C, 
-+IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_l,  0x1E39, 
-+IBUS_KEY_macron, IBUS_KEY_exclam, IBUS_KEY_r,  0x1E5D, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_A,  0x01DE, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_O,  0x022A, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D5, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_a,  0x01DF, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_o,  0x022B, 
-+IBUS_KEY_macron, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D6, 
-+IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_A,  0x01E0, 
-+IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_O,  0x0230, 
-+IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_a,  0x01E1, 
-+IBUS_KEY_macron, IBUS_KEY_period, IBUS_KEY_o,  0x0231, 
-+IBUS_KEY_macron, IBUS_KEY_semicolon, IBUS_KEY_O,  0x01EC, 
-+IBUS_KEY_macron, IBUS_KEY_semicolon, IBUS_KEY_o,  0x01ED, 
-+IBUS_KEY_macron, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x022C, 
-+IBUS_KEY_macron, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x022D, 
-+IBUS_KEY_macron, IBUS_KEY_dead_tilde, IBUS_KEY_O,  0x022C, 
-+IBUS_KEY_macron, IBUS_KEY_dead_tilde, IBUS_KEY_o,  0x022D, 
-+IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_A,  0x01E0, 
-+IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_O,  0x0230, 
-+IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_a,  0x01E1, 
-+IBUS_KEY_macron, IBUS_KEY_dead_abovedot, IBUS_KEY_o,  0x0231, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_A,  0x01DE, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_O,  0x022A, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01D5, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_a,  0x01DF, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_o,  0x022B, 
-+IBUS_KEY_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01D6, 
-+IBUS_KEY_macron, IBUS_KEY_dead_ogonek, IBUS_KEY_O,  0x01EC, 
-+IBUS_KEY_macron, IBUS_KEY_dead_ogonek, IBUS_KEY_o,  0x01ED, 
-+IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_L,  0x1E38, 
-+IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_R,  0x1E5C, 
-+IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_l,  0x1E39, 
-+IBUS_KEY_macron, IBUS_KEY_dead_belowdot, IBUS_KEY_r,  0x1E5D, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_I,  0x1E2E, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_U,  0x01D7, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_i,  0x1E2F, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_u,  0x01D8, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_acute, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_O,  0x1EDA, 
-+IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_U,  0x1EE8, 
-+IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_o,  0x1EDB, 
-+IBUS_KEY_acute, IBUS_KEY_plus, IBUS_KEY_u,  0x1EE9, 
-+IBUS_KEY_acute, IBUS_KEY_comma, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_acute, IBUS_KEY_comma, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_acute, IBUS_KEY_slash, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_acute, IBUS_KEY_slash, IBUS_KEY_o,  0x01FF, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_A,  0x1EA4, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_E,  0x1EBE, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_O,  0x1ED0, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_a,  0x1EA5, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_e,  0x1EBF, 
-+IBUS_KEY_acute, IBUS_KEY_asciicircum, IBUS_KEY_o,  0x1ED1, 
-+IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_acute, IBUS_KEY_underscore, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_acute, IBUS_KEY_b, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_acute, IBUS_KEY_b, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_O,  0x1E4C, 
-+IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_U,  0x1E78, 
-+IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_o,  0x1E4D, 
-+IBUS_KEY_acute, IBUS_KEY_asciitilde, IBUS_KEY_u,  0x1E79, 
-+IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_acute, IBUS_KEY_macron, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_acute, IBUS_KEY_cedilla, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_acute, IBUS_KEY_cedilla, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_A,  0x1EA4, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_E,  0x1EBE, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_O,  0x1ED0, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_a,  0x1EA5, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_e,  0x1EBF, 
-+IBUS_KEY_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_o,  0x1ED1, 
-+IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_O,  0x1E4C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_U,  0x1E78, 
-+IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_o,  0x1E4D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_tilde, IBUS_KEY_u,  0x1E79, 
-+IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_E,  0x1E16, 
-+IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_O,  0x1E52, 
-+IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_e,  0x1E17, 
-+IBUS_KEY_acute, IBUS_KEY_dead_macron, IBUS_KEY_o,  0x1E53, 
-+IBUS_KEY_acute, IBUS_KEY_dead_breve, IBUS_KEY_A,  0x1EAE, 
-+IBUS_KEY_acute, IBUS_KEY_dead_breve, IBUS_KEY_a,  0x1EAF, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_I,  0x1E2E, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_U,  0x01D7, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_i,  0x1E2F, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_u,  0x01D8, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota,  0x0390, 
-+IBUS_KEY_acute, IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon,  0x03B0, 
-+IBUS_KEY_acute, IBUS_KEY_dead_abovering, IBUS_KEY_A,  0x01FA, 
-+IBUS_KEY_acute, IBUS_KEY_dead_abovering, IBUS_KEY_a,  0x01FB, 
-+IBUS_KEY_acute, IBUS_KEY_dead_cedilla, IBUS_KEY_C,  0x1E08, 
-+IBUS_KEY_acute, IBUS_KEY_dead_cedilla, IBUS_KEY_c,  0x1E09, 
-+IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_O,  0x1EDA, 
-+IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_U,  0x1EE8, 
-+IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_o,  0x1EDB, 
-+IBUS_KEY_acute, IBUS_KEY_dead_horn, IBUS_KEY_u,  0x1EE9, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F0C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON,  0x1F1C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F2C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA,  0x1F3C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON,  0x1F4C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1F6C, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F04, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon,  0x1F14, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F24, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota,  0x1F34, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron,  0x1F44, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon,  0x1F54, 
-+IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1F64, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F0D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON,  0x1F1D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F2D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA,  0x1F3D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON,  0x1F4D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON,  0x1F5D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1F6D, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F05, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon,  0x1F15, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F25, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota,  0x1F35, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron,  0x1F45, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon,  0x1F55, 
-+IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1F65, 
-+IBUS_KEY_acute, IBUS_KEY_KP_Divide, IBUS_KEY_O,  0x01FE, 
-+IBUS_KEY_acute, IBUS_KEY_KP_Divide, IBUS_KEY_o,  0x01FF, 
-+0x05C1, 0x05BC, IBUS_KEY_hebrew_shin,  0xFB2C, 
-+0x05C2, 0x05BC, IBUS_KEY_hebrew_shin,  0xFB2D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F00,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F01,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F08,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F09,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F20,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F21,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F28,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F29,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F60,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F61,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F68,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, 0x1F69,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F89, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F99, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FA9, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F81, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F91, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA1, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F88, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F98, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FA8, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F80, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F90, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA0, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_alpha,  0x1FB2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_eta,  0x1FC2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_Greek_omega,  0x1FF2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F00,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F01,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F08,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F09,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F20,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F21,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F28,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F29,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F60,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F61,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F68,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, 0x1F69,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha,  0x1FB7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta,  0x1FC7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega,  0x1FF7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F00,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F01,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F08,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F09,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F20,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F21,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F28,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F29,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F60,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F61,  0x1FA7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F68,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, 0x1F69,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F00,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F01,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F08,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F09,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F20,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F21,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F28,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F29,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F60,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F61,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F68,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, 0x1F69,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha,  0x1FB2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta,  0x1FC2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega,  0x1FF2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F00,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F01,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F08,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F09,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F20,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F21,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F28,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F29,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F60,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F61,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F68,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, 0x1F69,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha,  0x1FB4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta,  0x1FC4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega,  0x1FF4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F00,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F01,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F08,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F09,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F20,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F21,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F28,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F29,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F60,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F61,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F68,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, 0x1F69,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha,  0x1FB7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta,  0x1FC7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega,  0x1FF7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F00,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F01,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F08,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F09,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F20,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F21,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F28,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F29,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F60,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F61,  0x1FA7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F68,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, 0x1F69,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F88, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F98, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FA8, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F80, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F90, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA0, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F89, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F99, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FA9, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F81, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F91, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA1, 
-+IBUS_KEY_dead_abovedot, IBUS_KEY_f, IBUS_KEY_s,  0x1E9B, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_0, IBUS_KEY_parenright,  0x2469, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_parenright,  0x246A, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_2, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_3, IBUS_KEY_parenright,  0x246C, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_4, IBUS_KEY_parenright,  0x246D, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_5, IBUS_KEY_parenright,  0x246E, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_6, IBUS_KEY_parenright,  0x246F, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_7, IBUS_KEY_parenright,  0x2470, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_8, IBUS_KEY_parenright,  0x2471, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_9, IBUS_KEY_parenright,  0x2472, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x2469, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x246A, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x246C, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x246D, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x246E, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x246F, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x2470, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x2471, 
-+IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x2472, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_2, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_0, IBUS_KEY_parenright,  0x325A, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_1, IBUS_KEY_parenright,  0x325B, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_2, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_3, IBUS_KEY_parenright,  0x325D, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_4, IBUS_KEY_parenright,  0x325E, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_5, IBUS_KEY_parenright,  0x325F, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_6, IBUS_KEY_parenright,  0x32B1, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_7, IBUS_KEY_parenright,  0x32B2, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_8, IBUS_KEY_parenright,  0x32B3, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_9, IBUS_KEY_parenright,  0x32B4, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x325A, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x325B, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x325D, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x325E, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x325F, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x32B1, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x32B2, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x32B3, 
-+IBUS_KEY_parenleft, IBUS_KEY_3, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x32B4, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_0, IBUS_KEY_parenright,  0x32B5, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_1, IBUS_KEY_parenright,  0x32B6, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_2, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_3, IBUS_KEY_parenright,  0x32B8, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_4, IBUS_KEY_parenright,  0x32B9, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_5, IBUS_KEY_parenright,  0x32BA, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_6, IBUS_KEY_parenright,  0x32BB, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_7, IBUS_KEY_parenright,  0x32BC, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_8, IBUS_KEY_parenright,  0x32BD, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_9, IBUS_KEY_parenright,  0x32BE, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x32B5, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x32B6, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x32B8, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x32B9, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x32BA, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x32BB, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x32BC, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x32BD, 
-+IBUS_KEY_parenleft, IBUS_KEY_4, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x32BE, 
-+IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_0, IBUS_KEY_parenright,  0x32BF, 
-+IBUS_KEY_parenleft, 0x1100, 0x1161, IBUS_KEY_parenright,  0x326E, 
-+IBUS_KEY_parenleft, 0x1102, 0x1161, IBUS_KEY_parenright,  0x326F, 
-+IBUS_KEY_parenleft, 0x1103, 0x1161, IBUS_KEY_parenright,  0x3270, 
-+IBUS_KEY_parenleft, 0x1105, 0x1161, IBUS_KEY_parenright,  0x3271, 
-+IBUS_KEY_parenleft, 0x1106, 0x1161, IBUS_KEY_parenright,  0x3272, 
-+IBUS_KEY_parenleft, 0x1107, 0x1161, IBUS_KEY_parenright,  0x3273, 
-+IBUS_KEY_parenleft, 0x1109, 0x1161, IBUS_KEY_parenright,  0x3274, 
-+IBUS_KEY_parenleft, 0x110B, 0x1161, IBUS_KEY_parenright,  0x3275, 
-+IBUS_KEY_parenleft, 0x110C, 0x1161, IBUS_KEY_parenright,  0x3276, 
-+IBUS_KEY_parenleft, 0x110E, 0x1161, IBUS_KEY_parenright,  0x3277, 
-+IBUS_KEY_parenleft, 0x110F, 0x1161, IBUS_KEY_parenright,  0x3278, 
-+IBUS_KEY_parenleft, 0x1110, 0x1161, IBUS_KEY_parenright,  0x3279, 
-+IBUS_KEY_parenleft, 0x1111, 0x1161, IBUS_KEY_parenright,  0x327A, 
-+IBUS_KEY_parenleft, 0x1112, 0x1161, IBUS_KEY_parenright,  0x327B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_Space, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_0, IBUS_KEY_parenright,  0x2469, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_1, IBUS_KEY_parenright,  0x246A, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_2, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_3, IBUS_KEY_parenright,  0x246C, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_4, IBUS_KEY_parenright,  0x246D, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_5, IBUS_KEY_parenright,  0x246E, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_6, IBUS_KEY_parenright,  0x246F, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_7, IBUS_KEY_parenright,  0x2470, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_8, IBUS_KEY_parenright,  0x2471, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_9, IBUS_KEY_parenright,  0x2472, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x2469, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x246A, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x246B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x246C, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x246D, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x246E, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x246F, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x2470, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x2471, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_1, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x2472, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x2473, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x3251, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x3252, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x3253, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x3254, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x3255, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x3256, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x3257, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x3258, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_2, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x3259, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_0, IBUS_KEY_parenright,  0x325A, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_1, IBUS_KEY_parenright,  0x325B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_2, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_3, IBUS_KEY_parenright,  0x325D, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_4, IBUS_KEY_parenright,  0x325E, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_5, IBUS_KEY_parenright,  0x325F, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_6, IBUS_KEY_parenright,  0x32B1, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_7, IBUS_KEY_parenright,  0x32B2, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_8, IBUS_KEY_parenright,  0x32B3, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_9, IBUS_KEY_parenright,  0x32B4, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x325A, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x325B, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x325C, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x325D, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x325E, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x325F, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x32B1, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x32B2, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x32B3, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_3, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x32B4, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_0, IBUS_KEY_parenright,  0x32B5, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_1, IBUS_KEY_parenright,  0x32B6, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_2, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_3, IBUS_KEY_parenright,  0x32B8, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_4, IBUS_KEY_parenright,  0x32B9, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_5, IBUS_KEY_parenright,  0x32BA, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_6, IBUS_KEY_parenright,  0x32BB, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_7, IBUS_KEY_parenright,  0x32BC, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_8, IBUS_KEY_parenright,  0x32BD, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_9, IBUS_KEY_parenright,  0x32BE, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_Space, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_0, IBUS_KEY_parenright,  0x32B5, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_1, IBUS_KEY_parenright,  0x32B6, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_2, IBUS_KEY_parenright,  0x32B7, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_3, IBUS_KEY_parenright,  0x32B8, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_4, IBUS_KEY_parenright,  0x32B9, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_5, IBUS_KEY_parenright,  0x32BA, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_6, IBUS_KEY_parenright,  0x32BB, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_7, IBUS_KEY_parenright,  0x32BC, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_8, IBUS_KEY_parenright,  0x32BD, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_9, IBUS_KEY_parenright,  0x32BE, 
-+IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_0, IBUS_KEY_parenright,  0x32BF, 
-+IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_P,  0x262D, 
-+IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_E,  0x1E1C, 
-+IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_e,  0x1E1D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_asciitilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9A, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAA, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F82, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F92, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA2, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9B, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAB, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F83, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F93, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA3, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9C, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAC, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F84, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F94, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA4, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9D, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAD, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F85, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F95, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA5, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega,  0x1FA7, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_parenright, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA,  0x1F8E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA,  0x1F9E, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA,  0x1FAE, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha,  0x1F86, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta,  0x1F96, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega,  0x1FA6, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA,  0x1F8F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA,  0x1F9F, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA,  0x1FAF, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha,  0x1F87, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta,  0x1F97, 
-+IBUS_KEY_Greek_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega,  0x1FA7, 
-+};
-+
-+static const guint16 gtk_compose_seqs_compact_32bit_first[] = {
-+IBUS_KEY_dead_grave, 54, 123, 187, 187, 187, 
-+IBUS_KEY_dead_acute, 187, 268, 316, 316, 316, 
-+IBUS_KEY_dead_circumflex, 316, 388, 388, 388, 388, 
-+IBUS_KEY_dead_tilde, 388, 406, 406, 406, 406, 
-+IBUS_KEY_dead_macron, 406, 466, 466, 466, 466, 
-+IBUS_KEY_dead_caron, 466, 502, 502, 502, 502, 
-+IBUS_KEY_dead_doublegrave, 502, 538, 538, 538, 538, 
-+IBUS_KEY_dead_invertedbreve, 538, 574, 574, 574, 574, 
-+IBUS_KEY_Multi_key, 574, 574, 850, 920, 926, 
-+IBUS_KEY_M,  0, 2,
-+IBUS_KEY_m,  2, 2,
-+0x0186,  4, 2,
-+0x018E,  6, 2,
-+0x0190,  8, 2,
-+0x0196,  10, 2,
-+0x01B1,  12, 2,
-+0x01B2,  14, 2,
-+0x01DD,  16, 2,
-+0x0254,  18, 2,
-+0x025B,  20, 2,
-+0x0269,  22, 2,
-+0x028A,  24, 2,
-+0x028B,  26, 2,
-+IBUS_KEY_ENG,  28, 2,
-+IBUS_KEY_Cyrillic_a,  30, 2,
-+IBUS_KEY_Cyrillic_o,  32, 2,
-+IBUS_KEY_Cyrillic_er,  34, 2,
-+IBUS_KEY_Cyrillic_u,  36, 2,
-+IBUS_KEY_Cyrillic_A,  38, 2,
-+IBUS_KEY_Cyrillic_O,  40, 2,
-+IBUS_KEY_Cyrillic_ER,  42, 2,
-+IBUS_KEY_Cyrillic_U,  44, 2,
-+IBUS_KEY_dead_tilde, IBUS_KEY_A,  46, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_E,  49, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_I,  52, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_O,  55, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_U,  58, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_a,  61, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_e,  64, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_i,  67, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_o,  70, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_u,  73, 3,
-+IBUS_KEY_dead_tilde, 0x0186,  76, 3,
-+IBUS_KEY_dead_tilde, 0x018E,  79, 3,
-+IBUS_KEY_dead_tilde, 0x0190,  82, 3,
-+IBUS_KEY_dead_tilde, 0x01DD,  85, 3,
-+IBUS_KEY_dead_tilde, 0x0254,  88, 3,
-+IBUS_KEY_dead_tilde, 0x025B,  91, 3,
-+IBUS_KEY_J,  94, 2,
-+IBUS_KEY_j,  96, 2,
-+0x0186,  98, 2,
-+0x018E,  100, 2,
-+0x0190,  102, 2,
-+0x0196,  104, 2,
-+0x01B1,  106, 2,
-+0x01B2,  108, 2,
-+0x01DD,  110, 2,
-+0x0254,  112, 2,
-+0x025B,  114, 2,
-+0x0269,  116, 2,
-+0x028A,  118, 2,
-+0x028B,  120, 2,
-+IBUS_KEY_ENG,  122, 2,
-+IBUS_KEY_Cyrillic_a,  124, 2,
-+IBUS_KEY_Cyrillic_ie,  126, 2,
-+IBUS_KEY_Cyrillic_i,  128, 2,
-+IBUS_KEY_Cyrillic_o,  130, 2,
-+IBUS_KEY_Cyrillic_er,  132, 2,
-+IBUS_KEY_Cyrillic_u,  134, 2,
-+IBUS_KEY_Cyrillic_A,  136, 2,
-+IBUS_KEY_Cyrillic_IE,  138, 2,
-+IBUS_KEY_Cyrillic_I,  140, 2,
-+IBUS_KEY_Cyrillic_O,  142, 2,
-+IBUS_KEY_Cyrillic_ER,  144, 2,
-+IBUS_KEY_Cyrillic_U,  146, 2,
-+IBUS_KEY_dead_tilde, IBUS_KEY_A,  148, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_E,  151, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_I,  154, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_a,  157, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_e,  160, 3,
-+IBUS_KEY_dead_tilde, IBUS_KEY_i,  163, 3,
-+IBUS_KEY_dead_tilde, 0x0186,  166, 3,
-+IBUS_KEY_dead_tilde, 0x018E,  169, 3,
-+IBUS_KEY_dead_tilde, 0x0190,  172, 3,
-+IBUS_KEY_dead_tilde, 0x01DD,  175, 3,
-+IBUS_KEY_dead_tilde, 0x0254,  178, 3,
-+IBUS_KEY_dead_tilde, 0x025B,  181, 3,
-+0x0186,  184, 2,
-+0x018E,  186, 2,
-+0x0190,  188, 2,
-+0x0196,  190, 2,
-+0x01B1,  192, 2,
-+0x01B2,  194, 2,
-+0x01DD,  196, 2,
-+0x0254,  198, 2,
-+0x025B,  200, 2,
-+0x0269,  202, 2,
-+0x028A,  204, 2,
-+0x028B,  206, 2,
-+IBUS_KEY_Cyrillic_a,  208, 2,
-+IBUS_KEY_Cyrillic_ie,  210, 2,
-+IBUS_KEY_Cyrillic_i,  212, 2,
-+IBUS_KEY_Cyrillic_o,  214, 2,
-+IBUS_KEY_Cyrillic_er,  216, 2,
-+IBUS_KEY_Cyrillic_u,  218, 2,
-+IBUS_KEY_Cyrillic_A,  220, 2,
-+IBUS_KEY_Cyrillic_IE,  222, 2,
-+IBUS_KEY_Cyrillic_I,  224, 2,
-+IBUS_KEY_Cyrillic_O,  226, 2,
-+IBUS_KEY_Cyrillic_ER,  228, 2,
-+IBUS_KEY_Cyrillic_U,  230, 2,
-+0x0186,  232, 2,
-+0x018E,  234, 2,
-+0x0190,  236, 2,
-+0x01DD,  238, 2,
-+0x0254,  240, 2,
-+0x025B,  242, 2,
-+0x0186,  244, 2,
-+0x018E,  246, 2,
-+0x0190,  248, 2,
-+0x0196,  250, 2,
-+0x01B1,  252, 2,
-+0x01B2,  254, 2,
-+0x01DD,  256, 2,
-+0x0254,  258, 2,
-+0x025B,  260, 2,
-+0x0269,  262, 2,
-+0x028A,  264, 2,
-+0x028B,  266, 2,
-+IBUS_KEY_Cyrillic_a,  268, 2,
-+IBUS_KEY_Cyrillic_ie,  270, 2,
-+IBUS_KEY_Cyrillic_o,  272, 2,
-+IBUS_KEY_Cyrillic_er,  274, 2,
-+IBUS_KEY_Cyrillic_A,  276, 2,
-+IBUS_KEY_Cyrillic_IE,  278, 2,
-+IBUS_KEY_Cyrillic_O,  280, 2,
-+IBUS_KEY_Cyrillic_ER,  282, 2,
-+0x0186,  284, 2,
-+0x018E,  286, 2,
-+0x0190,  288, 2,
-+0x0196,  290, 2,
-+0x01B1,  292, 2,
-+0x01B2,  294, 2,
-+0x01DD,  296, 2,
-+0x0254,  298, 2,
-+0x025B,  300, 2,
-+0x0269,  302, 2,
-+0x028A,  304, 2,
-+0x028B,  306, 2,
-+IBUS_KEY_Cyrillic_a,  308, 2,
-+IBUS_KEY_Cyrillic_ie,  310, 2,
-+IBUS_KEY_Cyrillic_i,  312, 2,
-+IBUS_KEY_Cyrillic_o,  314, 2,
-+IBUS_KEY_Cyrillic_er,  316, 2,
-+IBUS_KEY_Cyrillic_u,  318, 2,
-+IBUS_KEY_Cyrillic_A,  320, 2,
-+IBUS_KEY_Cyrillic_IE,  322, 2,
-+IBUS_KEY_Cyrillic_I,  324, 2,
-+IBUS_KEY_Cyrillic_O,  326, 2,
-+IBUS_KEY_Cyrillic_ER,  328, 2,
-+IBUS_KEY_Cyrillic_U,  330, 2,
-+IBUS_KEY_Cyrillic_a,  332, 2,
-+IBUS_KEY_Cyrillic_ie,  334, 2,
-+IBUS_KEY_Cyrillic_i,  336, 2,
-+IBUS_KEY_Cyrillic_o,  338, 2,
-+IBUS_KEY_Cyrillic_er,  340, 2,
-+IBUS_KEY_Cyrillic_u,  342, 2,
-+IBUS_KEY_Cyrillic_A,  344, 2,
-+IBUS_KEY_Cyrillic_IE,  346, 2,
-+IBUS_KEY_Cyrillic_I,  348, 2,
-+IBUS_KEY_Cyrillic_O,  350, 2,
-+IBUS_KEY_Cyrillic_ER,  352, 2,
-+IBUS_KEY_Cyrillic_U,  354, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_J,  356, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_j,  358, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_a,  360, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ie,  362, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_i,  364, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_o,  366, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_er,  368, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_u,  370, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_A,  372, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_IE,  374, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_I,  376, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_O,  378, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_ER,  380, 2,
-+IBUS_KEY_apostrophe, IBUS_KEY_Cyrillic_U,  382, 2,
-+IBUS_KEY_F, IBUS_KEY_U,  384, 1,
-+IBUS_KEY_J, IBUS_KEY_apostrophe,  385, 2,
-+IBUS_KEY_J, IBUS_KEY_acute,  387, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_a,  389, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_ie,  391, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_i,  393, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_o,  395, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_er,  397, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_u,  399, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_A,  401, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_IE,  403, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_I,  405, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_O,  407, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_ER,  409, 2,
-+IBUS_KEY_asciicircum, IBUS_KEY_Cyrillic_U,  411, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_a,  413, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_ie,  415, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_o,  417, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_er,  419, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_A,  421, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_IE,  423, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_O,  425, 2,
-+IBUS_KEY_underscore, IBUS_KEY_Cyrillic_ER,  427, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_a,  429, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_o,  431, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_er,  433, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_u,  435, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_A,  437, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_O,  439, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_ER,  441, 2,
-+IBUS_KEY_grave, IBUS_KEY_Cyrillic_U,  443, 2,
-+IBUS_KEY_j, IBUS_KEY_apostrophe,  445, 2,
-+IBUS_KEY_j, IBUS_KEY_acute,  447, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_a,  449, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_ie,  451, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_o,  453, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_er,  455, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_A,  457, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_IE,  459, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_O,  461, 2,
-+IBUS_KEY_macron, IBUS_KEY_Cyrillic_ER,  463, 2,
-+IBUS_KEY_acute, IBUS_KEY_J,  465, 2,
-+IBUS_KEY_acute, IBUS_KEY_j,  467, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_a,  469, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_ie,  471, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_i,  473, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_o,  475, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_er,  477, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_u,  479, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_A,  481, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_IE,  483, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_I,  485, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_O,  487, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_ER,  489, 2,
-+IBUS_KEY_acute, IBUS_KEY_Cyrillic_U,  491, 2,
-+IBUS_KEY_backslash, IBUS_KEY_o, IBUS_KEY_slash,  493, 1,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_a,  494, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_ie,  496, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_i,  498, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_o,  500, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_er,  502, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_u,  504, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_A,  506, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_IE,  508, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_I,  510, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_O,  512, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_ER,  514, 2,
-+IBUS_KEY_grave, IBUS_KEY_grave, IBUS_KEY_Cyrillic_U,  516, 2,
-+IBUS_KEY_p, IBUS_KEY_o, IBUS_KEY_o,  518, 1,
-+IBUS_KEY_L, IBUS_KEY_L, IBUS_KEY_A, IBUS_KEY_P,  519, 1,
-+};
-+
-+static const guint32 gtk_compose_seqs_compact_32bit_second[] = {
-+0x004D, 0x0300, 
-+0x006D, 0x0300, 
-+0x0186, 0x0300, 
-+0x018E, 0x0300, 
-+0x0190, 0x0300, 
-+0x0196, 0x0300, 
-+0x01B1, 0x0300, 
-+0x01B2, 0x0300, 
-+0x01DD, 0x0300, 
-+0x0254, 0x0300, 
-+0x025B, 0x0300, 
-+0x0269, 0x0300, 
-+0x028A, 0x0300, 
-+0x028B, 0x0300, 
-+0x014A, 0x0300, 
-+0x0430, 0x0300, 
-+0x043E, 0x0300, 
-+0x0440, 0x0300, 
-+0x0443, 0x0300, 
-+0x0410, 0x0300, 
-+0x041E, 0x0300, 
-+0x0420, 0x0300, 
-+0x0423, 0x0300, 
-+0x0041, 0x0303, 0x0300, 
-+0x0045, 0x0303, 0x0300, 
-+0x0049, 0x0303, 0x0300, 
-+0x004F, 0x0303, 0x0300, 
-+0x0055, 0x0303, 0x0300, 
-+0x0061, 0x0303, 0x0300, 
-+0x0065, 0x0303, 0x0300, 
-+0x0069, 0x0303, 0x0300, 
-+0x006F, 0x0303, 0x0300, 
-+0x0075, 0x0303, 0x0300, 
-+0x0186, 0x0303, 0x0300, 
-+0x018E, 0x0303, 0x0300, 
-+0x0190, 0x0303, 0x0300, 
-+0x01DD, 0x0303, 0x0300, 
-+0x0254, 0x0303, 0x0300, 
-+0x025B, 0x0303, 0x0300, 
-+0x004A, 0x0301, 
-+0x006A, 0x0301, 
-+0x0186, 0x0301, 
-+0x018E, 0x0301, 
-+0x0190, 0x0301, 
-+0x0196, 0x0301, 
-+0x01B1, 0x0301, 
-+0x01B2, 0x0301, 
-+0x01DD, 0x0301, 
-+0x0254, 0x0301, 
-+0x025B, 0x0301, 
-+0x0269, 0x0301, 
-+0x028A, 0x0301, 
-+0x028B, 0x0301, 
-+0x014A, 0x0301, 
-+0x0430, 0x0301, 
-+0x0435, 0x0301, 
-+0x0438, 0x0301, 
-+0x043E, 0x0301, 
-+0x0440, 0x0301, 
-+0x0443, 0x0301, 
-+0x0410, 0x0301, 
-+0x0415, 0x0301, 
-+0x0418, 0x0301, 
-+0x041E, 0x0301, 
-+0x0420, 0x0301, 
-+0x0423, 0x0301, 
-+0x0041, 0x0303, 0x0301, 
-+0x0045, 0x0303, 0x0301, 
-+0x0049, 0x0303, 0x0301, 
-+0x0061, 0x0303, 0x0301, 
-+0x0065, 0x0303, 0x0301, 
-+0x0069, 0x0303, 0x0301, 
-+0x0186, 0x0303, 0x0301, 
-+0x018E, 0x0303, 0x0301, 
-+0x0190, 0x0303, 0x0301, 
-+0x01DD, 0x0303, 0x0301, 
-+0x0254, 0x0303, 0x0301, 
-+0x025B, 0x0303, 0x0301, 
-+0x0186, 0x0302, 
-+0x018E, 0x0302, 
-+0x0190, 0x0302, 
-+0x0196, 0x0302, 
-+0x01B1, 0x0302, 
-+0x01B2, 0x0302, 
-+0x01DD, 0x0302, 
-+0x0254, 0x0302, 
-+0x025B, 0x0302, 
-+0x0269, 0x0302, 
-+0x028A, 0x0302, 
-+0x028B, 0x0302, 
-+0x0430, 0x0302, 
-+0x0435, 0x0302, 
-+0x0438, 0x0302, 
-+0x043E, 0x0302, 
-+0x0440, 0x0302, 
-+0x0443, 0x0302, 
-+0x0410, 0x0302, 
-+0x0415, 0x0302, 
-+0x0418, 0x0302, 
-+0x041E, 0x0302, 
-+0x0420, 0x0302, 
-+0x0423, 0x0302, 
-+0x0186, 0x0303, 
-+0x018E, 0x0303, 
-+0x0190, 0x0303, 
-+0x01DD, 0x0303, 
-+0x0254, 0x0303, 
-+0x025B, 0x0303, 
-+0x0186, 0x0304, 
-+0x018E, 0x0304, 
-+0x0190, 0x0304, 
-+0x0196, 0x0304, 
-+0x01B1, 0x0304, 
-+0x01B2, 0x0304, 
-+0x01DD, 0x0304, 
-+0x0254, 0x0304, 
-+0x025B, 0x0304, 
-+0x0269, 0x0304, 
-+0x028A, 0x0304, 
-+0x028B, 0x0304, 
-+0x0430, 0x0304, 
-+0x0435, 0x0304, 
-+0x043E, 0x0304, 
-+0x0440, 0x0304, 
-+0x0410, 0x0304, 
-+0x0415, 0x0304, 
-+0x041E, 0x0304, 
-+0x0420, 0x0304, 
-+0x0186, 0x030C, 
-+0x018E, 0x030C, 
-+0x0190, 0x030C, 
-+0x0196, 0x030C, 
-+0x01B1, 0x030C, 
-+0x01B2, 0x030C, 
-+0x01DD, 0x030C, 
-+0x0254, 0x030C, 
-+0x025B, 0x030C, 
-+0x0269, 0x030C, 
-+0x028A, 0x030C, 
-+0x028B, 0x030C, 
-+0x0430, 0x030F, 
-+0x0435, 0x030F, 
-+0x0438, 0x030F, 
-+0x043E, 0x030F, 
-+0x0440, 0x030F, 
-+0x0443, 0x030F, 
-+0x0410, 0x030F, 
-+0x0415, 0x030F, 
-+0x0418, 0x030F, 
-+0x041E, 0x030F, 
-+0x0420, 0x030F, 
-+0x0423, 0x030F, 
-+0x0430, 0x0311, 
-+0x0435, 0x0311, 
-+0x0438, 0x0311, 
-+0x043E, 0x0311, 
-+0x0440, 0x0311, 
-+0x0443, 0x0311, 
-+0x0410, 0x0311, 
-+0x0415, 0x0311, 
-+0x0418, 0x0311, 
-+0x041E, 0x0311, 
-+0x0420, 0x0311, 
-+0x0423, 0x0311, 
-+0x004A, 0x0301, 
-+0x006A, 0x0301, 
-+0x0430, 0x0301, 
-+0x0435, 0x0301, 
-+0x0438, 0x0301, 
-+0x043E, 0x0301, 
-+0x0440, 0x0301, 
-+0x0443, 0x0301, 
-+0x0410, 0x0301, 
-+0x0415, 0x0301, 
-+0x0418, 0x0301, 
-+0x041E, 0x0301, 
-+0x0420, 0x0301, 
-+0x0423, 0x0301, 
-+0x1F595, 
-+0x004A, 0x0301, 
-+0x004A, 0x0301, 
-+0x0430, 0x0302, 
-+0x0435, 0x0302, 
-+0x0438, 0x0302, 
-+0x043E, 0x0302, 
-+0x0440, 0x0302, 
-+0x0443, 0x0302, 
-+0x0410, 0x0302, 
-+0x0415, 0x0302, 
-+0x0418, 0x0302, 
-+0x041E, 0x0302, 
-+0x0420, 0x0302, 
-+0x0423, 0x0302, 
-+0x0430, 0x0304, 
-+0x0435, 0x0304, 
-+0x043E, 0x0304, 
-+0x0440, 0x0304, 
-+0x0410, 0x0304, 
-+0x0415, 0x0304, 
-+0x041E, 0x0304, 
-+0x0420, 0x0304, 
-+0x0430, 0x0300, 
-+0x043E, 0x0300, 
-+0x0440, 0x0300, 
-+0x0443, 0x0300, 
-+0x0410, 0x0300, 
-+0x041E, 0x0300, 
-+0x0420, 0x0300, 
-+0x0423, 0x0300, 
-+0x006A, 0x0301, 
-+0x006A, 0x0301, 
-+0x0430, 0x0304, 
-+0x0435, 0x0304, 
-+0x043E, 0x0304, 
-+0x0440, 0x0304, 
-+0x0410, 0x0304, 
-+0x0415, 0x0304, 
-+0x041E, 0x0304, 
-+0x0420, 0x0304, 
-+0x004A, 0x0301, 
-+0x006A, 0x0301, 
-+0x0430, 0x0301, 
-+0x0435, 0x0301, 
-+0x0438, 0x0301, 
-+0x043E, 0x0301, 
-+0x0440, 0x0301, 
-+0x0443, 0x0301, 
-+0x0410, 0x0301, 
-+0x0415, 0x0301, 
-+0x0418, 0x0301, 
-+0x041E, 0x0301, 
-+0x0420, 0x0301, 
-+0x0423, 0x0301, 
-+0x1F64C, 
-+0x0430, 0x030F, 
-+0x0435, 0x030F, 
-+0x0438, 0x030F, 
-+0x043E, 0x030F, 
-+0x0440, 0x030F, 
-+0x0443, 0x030F, 
-+0x0410, 0x030F, 
-+0x0415, 0x030F, 
-+0x0418, 0x030F, 
-+0x041E, 0x030F, 
-+0x0420, 0x030F, 
-+0x0423, 0x030F, 
-+0x1F4A9, 
-+0x1F596, 
- };
- 
- #endif /* __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ */
-diff --git a/src/ibuscomposetable.h b/src/ibuscomposetable.h
-index 8346df6d..4bf89211 100644
---- a/src/ibuscomposetable.h
-+++ b/src/ibuscomposetable.h
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
-  * Copyright (C) 2013-2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2013-2016 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2013-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -30,6 +30,8 @@ G_BEGIN_DECLS
- 
- typedef struct _IBusComposeTable IBusComposeTable;
- typedef struct _IBusComposeTableCompact IBusComposeTableCompact;
-+typedef struct _IBusComposeTableCompactEx IBusComposeTableCompactEx;
-+typedef struct _IBusComposeTableCompactPrivate IBusComposeTableCompactPrivate;
- 
- struct _IBusComposeTable
- {
-@@ -47,6 +49,15 @@ struct _IBusComposeTableCompact
-     gint n_index_stride;
- };
- 
-+struct _IBusComposeTableCompactEx
-+{
-+    const guint16 *data;
-+    gint max_seq_len;
-+    gint n_index_size;
-+    gint n_index_stride;
-+    IBusComposeTableCompactPrivate *priv;
-+};
-+
- IBusComposeTable *ibus_compose_table_new_with_file (const gchar *compose_file);
- GSList           *ibus_compose_table_list_add_array
-                                                    (GSList
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index 7615f121..fa4ddf5f 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
-  * Copyright (C) 2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  * Copyright (C) 2014-2017 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-@@ -89,16 +89,36 @@ struct _IBusEngineSimplePrivate {
-     gboolean            lookup_table_visible;
- };
- 
-+struct _IBusComposeTableCompactPrivate
-+{
-+    const guint32 *data2;
-+};
-+
- /* From the values below, the value 30 means the number of different first keysyms
-  * that exist in the Compose file (from Xorg). When running compose-parse.py without
-  * parameters, you get the count that you can put here. Needed when updating the
-  * gtkimcontextsimpleseqs.h header file (contains the compose sequences).
-+ * Assign the value of "Number of different first items" of compose-parse.py
-+ * to n_seqs in IBusComposeTableCompact
-  */
--const IBusComposeTableCompact ibus_compose_table_compact = {
-+const IBusComposeTableCompactPrivate ibus_compose_table_compact_32bit_priv = {
-+    gtk_compose_seqs_compact_32bit_second
-+};
-+
-+const IBusComposeTableCompactEx ibus_compose_table_compact = {
-     gtk_compose_seqs_compact,
-     5,
-     30,
--    6
-+    6,
-+    NULL
-+};
-+
-+const IBusComposeTableCompactEx ibus_compose_table_compact_32bit = {
-+    gtk_compose_seqs_compact_32bit_first,
-+    5,
-+    9,
-+    6,
-+    &ibus_compose_table_compact_32bit_priv 
- };
- 
- static GSList *global_tables;
-@@ -320,12 +340,10 @@ ibus_engine_simple_commit_str (IBusEngineSimple *simple,
-         priv->in_hex_sequence = FALSE;
-         priv->tentative_match = 0;
-         priv->tentative_match_len = 0;
--        ibus_engine_simple_update_preedit_text (simple);
-     }
-     if (priv->tentative_emoji || priv->in_emoji_sequence) {
-         priv->in_emoji_sequence = FALSE;
-         g_clear_pointer (&priv->tentative_emoji, g_free);
--        ibus_engine_simple_update_preedit_text (simple);
-     }
- 
-     ibus_engine_commit_text ((IBusEngine *)simple,
-@@ -680,11 +698,11 @@ check_table (IBusEngineSimple       *simple,
- }
- 
- gboolean
--ibus_check_compact_table (const IBusComposeTableCompact *table,
--                          guint16                       *compose_buffer,
--                          gint                           n_compose,
--                          gboolean                      *compose_finish,
--                          gunichar                      *output_char)
-+ibus_check_compact_table (const IBusComposeTableCompactEx *table,
-+                          guint16                         *compose_buffer,
-+                          gint                             n_compose,
-+                          gboolean                        *compose_finish,
-+                          gunichar                       **output_chars)
- {
-     gint row_stride;
-     guint16 *seq_index;
-@@ -693,8 +711,8 @@ ibus_check_compact_table (const IBusComposeTableCompact *table,
- 
-     if (compose_finish)
-         *compose_finish = FALSE;
--    if (output_char)
--        *output_char = 0;
-+    if (output_chars)
-+        *output_chars = NULL;
- 
-     CHECK_COMPOSE_BUFFER_LENGTH (n_compose);
- 
-@@ -730,41 +748,81 @@ ibus_check_compact_table (const IBusComposeTableCompact *table,
-     // g_debug ("compact: %04x ", *seq_index);
-     seq = NULL;
- 
--    for (i = n_compose - 1; i < table->max_seq_len; i++) {
--        row_stride = i + 1;
-+    if (table->priv) {
-+        for (i = n_compose - 1; i < table->max_seq_len; i++) {
-+            row_stride = i + 2;
- 
--        if (seq_index[i + 1] - seq_index[i] > 0) {
--            seq = bsearch (compose_buffer + 1,
-+            if (seq_index[i + 1] - seq_index[i] > 0) {
-+                seq = bsearch (compose_buffer + 1,
-                            table->data + seq_index[i],
-                            (seq_index[i + 1] - seq_index[i]) / row_stride,
-                            sizeof (guint16) * row_stride,
-                            compare_seq);
--            // g_debug ("seq = %p", seq);
-+                if (seq) {
-+                    if (i == n_compose - 1)
-+                        break;
-+                    else
-+                        return TRUE;
-+                }
-+            }
-+        }
-+        if (!seq) {
-+            return FALSE;
-+        } else {
-+            int index = seq[row_stride - 2];
-+            int length = seq[row_stride - 1];
-+            int j;
-+            if (compose_finish)
-+                *compose_finish = TRUE;
-+            if (output_chars) {
-+                *output_chars = g_new (gunichar, length + 1);
-+                for (j = 0; j < length; j++)
-+                    (*output_chars)[j] = table->priv->data2[index + j];
-+                (*output_chars)[length] = 0;
-+            }
- 
--            if (seq) {
--                if (i == n_compose - 1)
--                    break;
--                else
--                    return TRUE;
-+            // g_debug ("U+%04X\n", value);
-+            return TRUE;
-+        }
-+    } else {
-+        for (i = n_compose - 1; i < table->max_seq_len; i++) {
-+            row_stride = i + 1;
-+
-+            if (seq_index[i + 1] - seq_index[i] > 0) {
-+                seq = bsearch (compose_buffer + 1,
-+                               table->data + seq_index[i],
-+                               (seq_index[i + 1] - seq_index[i]) / row_stride,
-+                               sizeof (guint16) * row_stride,
-+                               compare_seq);
-+
-+                if (seq) {
-+                    if (i == n_compose - 1)
-+                        break;
-+                    else
-+                        return TRUE;
-+                }
-             }
-         }
--    }
-+        if (!seq) {
-+            return FALSE;
-+        } else {
-+            if (compose_finish)
-+                *compose_finish = TRUE;
-+            if (output_chars) {
-+                *output_chars = g_new (gunichar, 2);
-+                (*output_chars)[0] = seq[row_stride - 1];
-+                (*output_chars)[1] = 0;
-+            }
- 
--    if (!seq) {
--        // g_debug ("no\n");
--        return FALSE;
-+            // g_debug ("U+%04X\n", value);
-+            return TRUE;
-+        }
-     }
--    else {
--        if (compose_finish)
--            *compose_finish = TRUE;
--        if (output_char)
--            *output_char = seq[row_stride - 1];
- 
--        // g_debug ("U+%04X\n", value);
--        return TRUE;
--    }
-+    g_assert_not_reached ();
- }
- 
-+
- /* Checks if a keysym is a dead key. Dead key keysym values are defined in
-  * ../gdk/gdkkeysyms.h and the first is GDK_KEY_dead_grave. As X.Org is updated,
-  * more dead keys are added and we need to update the upper limit.
-@@ -949,8 +1007,8 @@ no_sequence_matches (IBusEngineSimple *simple,
-                 (IBusEngine *)simple, keyval, keycode, modifiers);
-     } else if (priv->tentative_emoji && *priv->tentative_emoji) {
-         ibus_engine_simple_commit_str (simple, priv->tentative_emoji);
--        g_clear_pointer (&priv->tentative_emoji, g_free);
-         priv->compose_buffer[0] = 0;
-+        ibus_engine_simple_update_preedit_text (simple);
-     } else {
-         priv->compose_buffer[0] = 0;
-         if (n_compose > 1) {
-@@ -1083,6 +1141,9 @@ ibus_engine_simple_check_all_compose_table (IBusEngineSimple *simple,
-     IBusEngineSimplePrivate *priv = simple->priv;
-     gboolean compose_finish;
-     gunichar output_char;
-+    gunichar *output_chars = NULL;
-+    gchar *output_str = NULL;
-+    GError *error = NULL;
-     GSList *list = global_tables;
- 
-     while (list) {
-@@ -1098,15 +1159,37 @@ ibus_engine_simple_check_all_compose_table (IBusEngineSimple *simple,
-                                   priv->compose_buffer,
-                                   n_compose,
-                                   &compose_finish,
--                                  &output_char)) {
-+                                  &output_chars)) {
-         if (compose_finish) {
--            ibus_engine_simple_commit_char (simple, output_char);
-+            ibus_engine_simple_commit_char (simple, *output_chars);
-+            g_free (output_chars);
-             priv->compose_buffer[0] = 0;
-         }
-         ibus_engine_simple_update_preedit_text (simple);
-         return TRUE;
-     }
--
-+    if (ibus_check_compact_table (&ibus_compose_table_compact_32bit,
-+                                  priv->compose_buffer,
-+                                  n_compose,
-+                                  &compose_finish,
-+                                  &output_chars)) {
-+        if (compose_finish) {
-+            output_str = g_ucs4_to_utf8 (output_chars, -1, NULL, NULL, &error);
-+            if (output_str) {
-+                ibus_engine_simple_commit_str (simple, output_str);
-+                g_free (output_str);
-+                g_free (output_chars);
-+            } else {
-+                g_warning ("Failed to output multiple characters: %s",
-+                           error->message);
-+                g_error_free (error);
-+            }
-+            priv->compose_buffer[0] = 0;
-+        }
-+        
-+        ibus_engine_simple_update_preedit_text (simple);
-+        return TRUE;
-+    }
-     if (ibus_check_algorithmically (priv->compose_buffer,
-                                     n_compose,
-                                     &output_char)) {
-@@ -1177,7 +1260,8 @@ ibus_engine_simple_process_key_event (IBusEngine *engine,
-             (keyval == IBUS_KEY_Control_L || keyval == IBUS_KEY_Control_R)) {
-             if (priv->tentative_emoji && *priv->tentative_emoji) {
-                 ibus_engine_simple_commit_str (simple, priv->tentative_emoji);
--                g_clear_pointer (&priv->tentative_emoji, g_free);
-+                priv->compose_buffer[0] = 0;
-+                ibus_engine_simple_update_preedit_text (simple);
-             } else if (n_compose == 0) {
-                 priv->modifiers_dropped = TRUE;
-             } else {
-@@ -1335,7 +1419,8 @@ ibus_engine_simple_process_key_event (IBusEngine *engine,
-     if (priv->in_emoji_sequence && have_hex_mods && is_emoji_start) {
-         if (priv->tentative_emoji && *priv->tentative_emoji) {
-             ibus_engine_simple_commit_str (simple, priv->tentative_emoji);
--            g_clear_pointer (&priv->tentative_emoji, g_free);
-+            priv->compose_buffer[0] = 0;
-+            ibus_engine_simple_update_preedit_text (simple);
-         }
-         else {
-             if (n_compose > 0) {
-@@ -1531,6 +1616,7 @@ ibus_engine_simple_process_key_event (IBusEngine *engine,
-                     ibus_engine_simple_commit_str (simple,
-                             priv->tentative_emoji);
-                     priv->compose_buffer[0] = 0;
-+                    ibus_engine_simple_update_preedit_text (simple);
-                 } else {
-                     g_clear_pointer (&priv->tentative_emoji, g_free);
-                     priv->in_emoji_sequence = FALSE;
-diff --git a/src/ibusenginesimpleprivate.h b/src/ibusenginesimpleprivate.h
-index cac404b1..c86c5324 100644
---- a/src/ibusenginesimpleprivate.h
-+++ b/src/ibusenginesimpleprivate.h
-@@ -1,7 +1,7 @@
- /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
-- * Copyright (C) 2016 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2016-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  * Copyright (C) 2016 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-@@ -26,17 +26,17 @@
- 
- G_BEGIN_DECLS
- 
--extern const IBusComposeTableCompact ibus_compose_table_compact;
-+extern const IBusComposeTableCompactEx ibus_compose_table_compact;
- 
- gboolean ibus_check_algorithmically (const guint16              *compose_buffer,
-                                      gint                        n_compose,
-                                      gunichar                   *output);
--gboolean ibus_check_compact_table   (const IBusComposeTableCompact
-+gboolean ibus_check_compact_table   (const IBusComposeTableCompactEx
-                                                                 *table,
-                                      guint16                    *compose_buffer,
-                                      gint                        n_compose,
-                                      gboolean                   *compose_finish,
--                                     gunichar                   *output_char);
-+                                     gunichar                  **output_chars);
- 
- G_END_DECLS
- 
--- 
-2.21.0
-
-From 5b6ad433f79c2e4781688d4985a15836d81f0a72 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 24 May 2019 14:34:05 +0900
-Subject: [PATCH 15/27] src: Enable multiple compose output and long key
- sequences in user comopse
-
-Curently the max key sequences of user compose keys depends on the
-max key sequences of system compose keys, IBUS_MAX_COMPOSE_LEN.
-This change will have the max key sequences by user compose table
-and also will separate the user compose table with 16bit compose table
-and 32bit one to follow another change of system compose table to be able
-to output multiple compose outputs and 32bit compose ones likes emoji
-charaters.
-
-BUG=https://github.com/ibus/ibus/issues/1990
----
- src/ibuscomposetable.c        | 639 ++++++++++++++++++++++------------
- src/ibuscomposetable.h        |  20 +-
- src/ibusenginesimple.c        |  87 +++--
- src/ibusenginesimple.h        |   4 +-
- src/ibusenginesimpleprivate.h |   9 +
- 5 files changed, 512 insertions(+), 247 deletions(-)
-
-diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
-index 1c0ece41..4ac54e25 100644
---- a/src/ibuscomposetable.c
-+++ b/src/ibuscomposetable.c
-@@ -35,22 +35,25 @@
- #include "ibusenginesimpleprivate.h"
- 
- #define IBUS_COMPOSE_TABLE_MAGIC "IBusComposeTable"
--#define IBUS_COMPOSE_TABLE_VERSION (2)
-+#define IBUS_COMPOSE_TABLE_VERSION (3)
- 
- typedef struct {
-   gunichar     *sequence;
--  gunichar      value[2];
-+  gunichar     *values;
-   gchar        *comment;
- } IBusComposeData;
- 
-+
- static void
- ibus_compose_data_free (IBusComposeData *compose_data)
- {
-     g_free (compose_data->sequence);
-+    g_free (compose_data->values);
-     g_free (compose_data->comment);
-     g_slice_free (IBusComposeData, compose_data);
- }
- 
-+
- static void
- ibus_compose_list_element_free (IBusComposeData *compose_data,
-                                 gpointer         data)
-@@ -58,6 +61,18 @@ ibus_compose_list_element_free (IBusComposeData *compose_data,
-     ibus_compose_data_free (compose_data);
- }
- 
-+
-+static guint
-+unichar_length (gunichar *uni_array)
-+{
-+    guint i = 0;
-+    g_return_val_if_fail (uni_array, 0);
-+    while (uni_array[i])
-+        ++i;
-+    return i;
-+}
-+
-+
- static gboolean
- is_codepoint (const gchar *str)
- {
-@@ -75,63 +90,85 @@ is_codepoint (const gchar *str)
-     return TRUE;
- }
- 
-+
- static gboolean
- parse_compose_value (IBusComposeData  *compose_data,
-                      const gchar      *val,
-                      const gchar      *line)
- {
--    gchar **words = g_strsplit (val, "\"", 3);
--    gunichar uch;
-+    gchar *head, *end, *p;
-+    gchar *ustr = NULL;
-+    gunichar *uchars = NULL, *up;
-+    GError *error = NULL;
-+    int n_uchars = 0;
- 
--    if (g_strv_length (words) < 3) {
-+    if (!(head = strchr (val, '\"'))) {
-         g_warning ("Need to double-quote the value: %s: %s", val, line);
-         goto fail;
-     }
--
--    uch = g_utf8_get_char (words[1]);
--
--    if (uch == 0) {
--        g_warning ("Invalid value: %s: %s", val, line);
-+    ++head;
-+    p = head;
-+    while ((*p != '\0') && (end = strchr (p, '\"'))) {
-+        if (*(end - 1) == '\\' && *(end - 2) == '\\')
-+            break;
-+        if (*(end - 1) != '\\')
-+            break;
-+        p = end + 1;
-+    }
-+    if (end == NULL || *p == '\0') {
-+        g_warning ("Need to double-quote the value: %s: %s", val, line);
-         goto fail;
-     }
--    else if (uch == '\\') {
--        uch = words[1][1];
--
--        /* The escaped string "\"" is separated with '\\' and '"'. */
--        if (uch == '\0' && words[2][0] == '"') {
--            uch = '"';
--        /* The escaped octal */
--        } else if (uch >= '0' && uch <= '8') {
--            uch = g_ascii_strtoll(words[1] + 1, NULL, 8);
--        /* If we need to handle other escape sequences. */
--        } else if (uch != '\\') {
--            g_warning ("Invalid backslash: %s: %s", val, line);
-+    ustr = g_strndup (head, end - head);
-+    p = ustr + 1;
-+    /* The escaped octal */
-+    if (*ustr == '\\' && *p >= '0' && *p <= '8') {
-+        compose_data->values = g_new (gunichar, 2);
-+        compose_data->values[0] = g_ascii_strtoll(p, NULL, 8);
-+        compose_data->values[1] = 0;
-+    } else {
-+        if (!(uchars = g_utf8_to_ucs4 (ustr, -1, NULL, NULL, &error)) ||
-+            !uchars[0]) {
-+            g_warning ("Invalid Unicode: %s: %s in %s:",
-+                       error->message, ustr, line);
-+            g_error_free (error);
-             goto fail;
-         }
--    }
- 
--    if (g_utf8_get_char (g_utf8_next_char (words[1])) > 0) {
--        g_warning ("GTK+ supports to output one char only: %s: %s", val, line);
--        goto fail;
-+        for (up = uchars; *up; up++) {
-+            if (*up == '\\') {
-+                ++up;
-+                if (*up != '"' && *up != '\\') {
-+                    g_warning ("Invalid backslash: %s: %s", val, line);
-+                    goto fail;
-+                }
-+            }
-+            if (!compose_data->values) {
-+                compose_data->values = g_new (gunichar, 2);
-+            } else {
-+                compose_data->values = g_renew (gunichar,
-+                                                compose_data->values,
-+                                                n_uchars + 1);
-+            }
-+            compose_data->values[n_uchars++] = *up;
-+        }
-+        compose_data->values[n_uchars] = 0;
-     }
- 
--    compose_data->value[1] = uch;
--
--    if (uch == '"')
--        compose_data->comment = g_strdup (g_strstrip (words[2] + 1));
--    else
--        compose_data->comment = g_strdup (g_strstrip (words[2]));
--
--    g_strfreev (words);
-+    g_free (ustr);
-+    g_free (uchars);
-+    compose_data->comment = g_strdup (g_strstrip (end + 1));
- 
-     return TRUE;
- 
- fail:
--    g_strfreev (words);
-+    g_free (ustr);
-+    g_free (uchars);
-     return FALSE;
- }
- 
--static gboolean
-+
-+static int
- parse_compose_sequence (IBusComposeData *compose_data,
-                         const gchar     *seq,
-                         const gchar     *line)
-@@ -161,20 +198,20 @@ parse_compose_sequence (IBusComposeData *compose_data,
- 
-         match = g_strndup (start, end - start);
- 
--        if (compose_data->sequence == NULL)
--            compose_data->sequence = g_malloc (sizeof (gunichar) * 2);
--        else
--            compose_data->sequence = g_realloc (compose_data->sequence,
--                                                sizeof (gunichar) * (n + 2));
-+        if (compose_data->sequence == NULL) {
-+            compose_data->sequence = g_new (gunichar, 2);
-+        } else {
-+            compose_data->sequence = g_renew (gunichar,
-+                                              compose_data->sequence,
-+                                              n + 2);
-+        }
- 
-         if (is_codepoint (match)) {
-             codepoint = (gunichar) g_ascii_strtoll (match + 1, NULL, 16);
-             compose_data->sequence[n] = codepoint;
--            compose_data->sequence[n + 1] = 0;
-         } else {
-             codepoint = (gunichar) ibus_keyval_from_name (match);
-             compose_data->sequence[n] = codepoint;
--            compose_data->sequence[n + 1] = 0;
-         }
- 
-         if (codepoint == IBUS_KEY_VoidSymbol)
-@@ -182,27 +219,35 @@ parse_compose_sequence (IBusComposeData *compose_data,
-         g_free (match);
-         n++;
-     }
-+    if (compose_data->sequence)
-+        compose_data->sequence[n] = 0;
- 
-     g_strfreev (words);
-     if (0 == n || n >= IBUS_MAX_COMPOSE_LEN) {
-         g_warning ("The max number of sequences is %d: %s",
-                    IBUS_MAX_COMPOSE_LEN, line);
--        return FALSE;
-+        return -1;
-     }
- 
--    return TRUE;
-+    return n;
- 
- fail:
-     g_strfreev (words);
--    return FALSE;
-+    return -1;
- }
- 
-+
- static void
- parse_compose_line (GList       **compose_list,
--                    const gchar  *line)
-+                    const gchar  *line,
-+                    int          *compose_len)
- {
-     gchar **components = NULL;
-     IBusComposeData *compose_data = NULL;
-+    int l;
-+
-+    g_assert (compose_len);
-+    *compose_len = 0;
- 
-     if (line[0] == '\0' || line[0] == '#')
-         return;
-@@ -219,11 +264,12 @@ parse_compose_line (GList       **compose_list,
- 
-     compose_data = g_slice_new0 (IBusComposeData);
- 
--    if (!parse_compose_sequence (compose_data,
--                                 g_strstrip (components[0]),
--                                 line)) {
-+    if ((l = parse_compose_sequence (compose_data,
-+                                     g_strstrip (components[0]),
-+                                     line)) < 1) {
-         goto fail;
-     }
-+    *compose_len = l;
- 
-     if (!parse_compose_value (compose_data, g_strstrip (components[1]), line))
-         goto fail;
-@@ -240,16 +286,21 @@ fail:
-         ibus_compose_data_free (compose_data);
- }
- 
-+
- static GList *
--ibus_compose_list_parse_file (const gchar *compose_file)
-+ibus_compose_list_parse_file (const gchar *compose_file,
-+                              int         *max_compose_len)
- {
-     gchar *contents = NULL;
-     gchar **lines = NULL;
-     gsize length = 0;
-     GError *error = NULL;
-     GList *compose_list = NULL;
-+    int compose_len = 0;
-     int i;
- 
-+    g_assert (max_compose_len);
-+
-     if (!g_file_get_contents (compose_file, &contents, &length, &error)) {
-         g_error ("%s", error->message);
-         g_error_free (error);
-@@ -258,33 +309,43 @@ ibus_compose_list_parse_file (const gchar *compose_file)
- 
-     lines = g_strsplit (contents, "\n", -1);
-     g_free (contents);
--    for (i = 0; lines[i] != NULL; i++)
--        parse_compose_line (&compose_list, lines[i]);
-+    for (i = 0; lines[i] != NULL; i++) {
-+        parse_compose_line (&compose_list, lines[i], &compose_len);
-+        if (*max_compose_len < compose_len)
-+            *max_compose_len = compose_len;
-+    }
-     g_strfreev (lines);
- 
-     return compose_list;
- }
- 
-+
- static GList *
--ibus_compose_list_check_duplicated (GList *compose_list)
-+ibus_compose_list_check_duplicated (GList *compose_list,
-+                                    int    max_compose_len)
- {
-     GList *list;
-+    static guint16 *keysyms;
-     GList *removed_list = NULL;
-     IBusComposeData *compose_data;
-+    gboolean is_32bit;
-+
-+    keysyms = g_new (guint16, max_compose_len + 1);
- 
-     for (list = compose_list; list != NULL; list = list->next) {
--        static guint16 keysyms[IBUS_MAX_COMPOSE_LEN + 1];
-         int i;
-         int n_compose = 0;
-         gboolean compose_finish;
--        gunichar output_char;
-+        gunichar *output_chars = NULL;
-+        gunichar output_char = 0;
-+        guint n_outputs;
- 
-         compose_data = list->data;
- 
--        for (i = 0; i < IBUS_MAX_COMPOSE_LEN + 1; i++)
-+        for (i = 0; i < max_compose_len + 1; i++)
-             keysyms[i] = 0;
- 
--        for (i = 0; i < IBUS_MAX_COMPOSE_LEN + 1; i++) {
-+        for (i = 0; i < max_compose_len + 1; i++) {
-             gunichar codepoint = compose_data->sequence[i];
-             keysyms[i] = (guint16) codepoint;
- 
-@@ -294,18 +355,41 @@ ibus_compose_list_check_duplicated (GList *compose_list)
-             n_compose++;
-         }
- 
--        if (ibus_check_compact_table (&ibus_compose_table_compact,
-+        n_outputs = unichar_length (compose_data->values);
-+        is_32bit = (n_outputs > 1) ? TRUE :
-+                (compose_data->values[0] >= 0xFFFF) ? TRUE : FALSE;
-+        if (!is_32bit &&
-+            ibus_check_compact_table (&ibus_compose_table_compact,
-                                       keysyms,
-                                       n_compose,
-                                       &compose_finish,
--                                      &output_char) && compose_finish) {
--            if (compose_data->value[1] == output_char)
-+                                      &output_chars) && compose_finish) {
-+            if (compose_data->values[0] == *output_chars)
-                 removed_list = g_list_append (removed_list, compose_data);
-+            g_free (output_chars);
-+        } else if (is_32bit &&
-+                   ibus_check_compact_table (&ibus_compose_table_compact_32bit,
-+                                             keysyms,
-+                                             n_compose,
-+                                             &compose_finish,
-+                                             &output_chars) && compose_finish) {
-+            
-+            if (n_outputs == unichar_length (output_chars)) {
-+                int j = 0;
-+                while (compose_data->values[j] && j < n_outputs) {
-+                    if (compose_data->values[j] != output_chars[j])
-+                        break;
-+                    ++j;
-+                }
-+                if (j == n_outputs)
-+                    removed_list = g_list_append (removed_list, compose_data);
-+            }
-+            g_free (output_chars);
- 
-         } else if (ibus_check_algorithmically (keysyms,
-                                                n_compose,
-                                                &output_char)) {
--            if (compose_data->value[1] == output_char)
-+            if (compose_data->values[0] == output_char)
-                 removed_list = g_list_append (removed_list, compose_data);
-         }
-     }
-@@ -317,85 +401,11 @@ ibus_compose_list_check_duplicated (GList *compose_list)
-     }
- 
-     g_list_free (removed_list);
-+    g_free (keysyms);
- 
-     return compose_list;
- }
- 
--static GList *
--ibus_compose_list_check_uint16 (GList *compose_list)
--{
--    GList *list;
--    GList *removed_list = NULL;
--    IBusComposeData *compose_data;
--
--    for (list = compose_list; list != NULL; list = list->next) {
--        int i;
--
--        compose_data = list->data;
--        for (i = 0; i < IBUS_MAX_COMPOSE_LEN; i++) {
--            gunichar codepoint = compose_data->sequence[i];
--
--            if (codepoint == 0)
--                break;
--
--            if (codepoint > 0xffff) {
--                removed_list = g_list_append (removed_list, compose_data);
--                break;
--            }
--        }
--    }
--
--    for (list = removed_list; list != NULL; list = list->next) {
--        compose_data = list->data;
--        compose_list = g_list_remove (compose_list, compose_data);
--        ibus_compose_data_free (compose_data);
--    }
--
--    g_list_free (removed_list);
--
--    return compose_list;
--}
--
--static GList *
--ibus_compose_list_format_for_gtk (GList *compose_list,
--                                  int   *p_max_compose_len,
--                                  int   *p_n_index_stride)
--{
--    GList *list;
--    IBusComposeData *compose_data;
--    int max_compose_len = 0;
--    int i;
--    gunichar codepoint;
--
--    for (list = compose_list; list != NULL; list = list->next) {
--        compose_data = list->data;
--
--        for (i = 0; i < IBUS_MAX_COMPOSE_LEN + 1; i++) {
--            codepoint = compose_data->sequence[i];
--            if (codepoint == 0) {
--                if (max_compose_len < i)
--                    max_compose_len = i;
--                break;
--            }
--        }
--    }
--
--    if (p_max_compose_len)
--        *p_max_compose_len = max_compose_len;
--    if (p_n_index_stride)
--        *p_n_index_stride = max_compose_len + 2;
--
--    for (list = compose_list; list != NULL; list = list->next) {
--        compose_data = list->data;
--        codepoint = compose_data->value[1];
--        if (codepoint > 0xffff) {
--            compose_data->value[0] = codepoint / 0x10000;
--            compose_data->value[1] = codepoint - codepoint / 0x10000 * 0x10000;
--        }
--    }
--
--    return compose_list;
--}
- 
- static gint
- ibus_compose_data_compare (gpointer a,
-@@ -416,6 +426,7 @@ ibus_compose_data_compare (gpointer a,
-     return 0;
- }
- 
-+
- static void
- ibus_compose_list_print (GList *compose_list,
-                          int    max_compose_len,
-@@ -425,9 +436,6 @@ ibus_compose_list_print (GList *compose_list,
-     int i, j;
-     IBusComposeData *compose_data;
-     int total_size = 0;
--    gunichar upper;
--    gunichar lower;
--    const gchar *comment;
-     const gchar *keyval;
- 
-     for (list = compose_list; list != NULL; list = list->next) {
-@@ -452,14 +460,10 @@ ibus_compose_list_print (GList *compose_list,
-             else
-                 g_printf ("%s, ", keyval ? keyval : "(null)");
-         }
--        upper = compose_data->value[0];
--        lower = compose_data->value[1];
--        comment = compose_data->comment;
--
--        if (list == g_list_last (compose_list))
--            g_printf ("    %#06X, %#06X  /* %s */\n", upper, lower, comment);
--        else
--            g_printf ("    %#06X, %#06X, /* %s */\n", upper, lower, comment);
-+        g_printf ("    ");
-+        for (i = 0; compose_data->values[i]; ++i)
-+            g_printf ("%#06X, ", compose_data->values[i]);
-+        g_printf (" /* %s */,\n", compose_data->comment);
- 
-         total_size += n_index_stride;
-     }
-@@ -468,6 +472,7 @@ ibus_compose_list_print (GList *compose_list,
-                 total_size, max_compose_len, n_index_stride);
- }
- 
-+
- /* Implemented from g_str_hash() */
- static guint32
- ibus_compose_table_data_hash (gconstpointer v,
-@@ -487,6 +492,7 @@ ibus_compose_table_data_hash (gconstpointer v,
-     return h;
- }
- 
-+
- static gchar *
- ibus_compose_hash_get_cache_path (guint32 hash)
- {
-@@ -511,67 +517,151 @@ ibus_compose_hash_get_cache_path (guint32 hash)
-     return path;
- }
- 
-+
- static GVariant *
--ibus_compose_table_serialize (IBusComposeTable *compose_table)
-+ibus_compose_table_serialize (IBusComposeTableEx *compose_table)
- {
-     const gchar *header = IBUS_COMPOSE_TABLE_MAGIC;
-     const guint16 version = IBUS_COMPOSE_TABLE_VERSION;
-     guint16 max_seq_len;
-     guint16 index_stride;
-     guint16 n_seqs;
--    GVariant *variant_data;
-+    guint16 n_seqs_32bit = 0;
-+    guint16 second_size = 0;
-+    GVariant *variant_data = NULL;
-+    GVariant *variant_data_32bit_first = NULL;
-+    GVariant *variant_data_32bit_second = NULL;
-     GVariant *variant_table;
- 
-     g_return_val_if_fail (compose_table != NULL, NULL);
--    g_return_val_if_fail (compose_table->data != NULL, NULL);
- 
-     max_seq_len = compose_table->max_seq_len;
-     index_stride = max_seq_len + 2;
-     n_seqs = compose_table->n_seqs;
- 
--    g_return_val_if_fail (max_seq_len > 0, NULL);
--    g_return_val_if_fail (n_seqs > 0, NULL);
-+    g_return_val_if_fail (max_seq_len, NULL);
- 
--    variant_data = g_variant_new_fixed_array (G_VARIANT_TYPE_UINT16,
--                                              compose_table->data,
--                                              (gsize)index_stride * n_seqs,
--                                              sizeof (guint16));
--    if (variant_data == NULL) {
--        g_warning ("Could not change compose data to GVariant.");
--        return NULL;
-+    if (n_seqs) {
-+        g_return_val_if_fail (compose_table->data, NULL);
-+
-+        variant_data = g_variant_new_fixed_array (G_VARIANT_TYPE_UINT16,
-+                                                  compose_table->data,
-+                                                  (gsize)index_stride * n_seqs,
-+                                                  sizeof (guint16));
-+        if (!variant_data) {
-+            g_warning ("Could not change compose data to GVariant.");
-+            return NULL;
-+        }
-+    } else {
-+        variant_data = g_variant_new_fixed_array (
-+                G_VARIANT_TYPE_UINT16,
-+                NULL,
-+                0,
-+                sizeof (guint16));
-+        g_assert (variant_data);
-+    }
-+    if (compose_table->priv) {
-+        n_seqs_32bit = compose_table->priv->first_n_seqs;
-+        second_size = compose_table->priv->second_size;
-+    }
-+    if (!n_seqs && !n_seqs_32bit) {
-+        g_warning ("ComposeTable has not key sequences.");
-+        goto out_serialize;
-+    } else if (n_seqs_32bit && !second_size) {
-+        g_warning ("Compose key sequences are loaded but the values could " \
-+                   "not be loaded.");
-+        goto out_serialize;
-+    } else if (!n_seqs_32bit && second_size) {
-+        g_warning ("Compose values are loaded but the key sequences could " \
-+                   "not be loaded.");
-+        goto out_serialize;
-+    } else if (n_seqs_32bit && second_size) {
-+        if (!compose_table->priv->data_first) {
-+            g_warning ("data_first is NULL");
-+            goto out_serialize;
-+        }
-+        if (!compose_table->priv->data_second) {
-+            g_warning ("data_second is NULL");
-+            goto out_serialize;
-+        }
-+        variant_data_32bit_first = g_variant_new_fixed_array (
-+                G_VARIANT_TYPE_UINT16,
-+                compose_table->priv->data_first,
-+                (gsize)index_stride * n_seqs_32bit,
-+                sizeof (guint16));
-+        variant_data_32bit_second = g_variant_new_fixed_array (
-+                G_VARIANT_TYPE_UINT32,
-+                compose_table->priv->data_second,
-+                compose_table->priv->second_size,
-+                sizeof (guint32));
-+        if (!variant_data_32bit_first || !variant_data_32bit_second) {
-+            g_warning ("Could not change 32bit compose data to GVariant.");
-+            goto out_serialize;
-+        }
-+    } else {
-+        variant_data_32bit_first = g_variant_new_fixed_array (
-+                G_VARIANT_TYPE_UINT16,
-+                NULL,
-+                0,
-+                sizeof (guint16));
-+        variant_data_32bit_second = g_variant_new_fixed_array (
-+                G_VARIANT_TYPE_UINT32,
-+                NULL,
-+                0,
-+                sizeof (guint32));
-+        g_assert (variant_data_32bit_first && variant_data_32bit_second);
-     }
--    variant_table = g_variant_new ("(sqqqv)",
-+    variant_table = g_variant_new ("(sqqqqqvvv)",
-                                    header,
-                                    version,
-                                    max_seq_len,
-                                    n_seqs,
--                                   variant_data);
-+                                   n_seqs_32bit,
-+                                   second_size,
-+                                   variant_data,
-+                                   variant_data_32bit_first,
-+                                   variant_data_32bit_second);
-     return g_variant_ref_sink (variant_table);
-+
-+out_serialize:
-+    g_clear_pointer (&variant_data, g_variant_unref);
-+    g_clear_pointer (&variant_data_32bit_first, g_variant_unref);
-+    g_clear_pointer (&variant_data_32bit_second, g_variant_unref);
-+    return NULL;
- }
- 
-+
- static gint
- ibus_compose_table_find (gconstpointer data1,
-                          gconstpointer data2)
- {
--    const IBusComposeTable *compose_table = (const IBusComposeTable *) data1;
-+    const IBusComposeTableEx *compose_table =
-+            (const IBusComposeTableEx *) data1;
-     guint32 hash = (guint32) GPOINTER_TO_INT (data2);
-     return compose_table->id != hash;
- }
- 
--static IBusComposeTable *
-+
-+static IBusComposeTableEx *
- ibus_compose_table_deserialize (const gchar *contents,
-                                 gsize        length)
- {
--    IBusComposeTable *retval = NULL;
-+    IBusComposeTableEx *retval = NULL;
-     GVariantType *type;
-     GVariant *variant_data = NULL;
-+    GVariant *variant_data_32bit_first = NULL;
-+    GVariant *variant_data_32bit_second = NULL;
-     GVariant *variant_table = NULL;
-     const gchar *header = NULL;
-     guint16 version = 0;
-     guint16 max_seq_len = 0;
-     guint16 n_seqs = 0;
-+    guint16 n_seqs_32bit = 0;
-+    guint16 second_size = 0;
-     guint16 index_stride;
-     gconstpointer data = NULL;
-+    gconstpointer data_32bit_first = NULL;
-+    gconstpointer data_32bit_second = NULL;
-     gsize data_length = 0;
- 
-     g_return_val_if_fail (contents != NULL, NULL);
-@@ -587,7 +677,7 @@ ibus_compose_table_deserialize (const gchar *contents,
-                                              NULL);
-     g_variant_type_free (type);
- 
--    if (variant_table == NULL) {
-+    if (!variant_table) {
-         g_warning ("cache is broken.");
-         goto out_load_cache;
-     }
-@@ -611,7 +701,7 @@ ibus_compose_table_deserialize (const gchar *contents,
-     g_variant_unref (variant_table);
-     variant_table = NULL;
- 
--    type = g_variant_type_new ("(sqqqv)");
-+    type = g_variant_type_new ("(sqqqqqvvv)");
-     variant_table = g_variant_new_from_data (type,
-                                              contents,
-                                              length,
-@@ -620,58 +710,117 @@ ibus_compose_table_deserialize (const gchar *contents,
-                                              NULL);
-     g_variant_type_free (type);
- 
--    if (variant_table == NULL) {
-+    if (!variant_table) {
-         g_warning ("cache is broken.");
-         goto out_load_cache;
-     }
- 
-     g_variant_ref_sink (variant_table);
--    g_variant_get (variant_table, "(&sqqqv)",
-+    g_variant_get (variant_table, "(&sqqqqqvvv)",
-                    NULL,
-                    NULL,
-                    &max_seq_len,
-                    &n_seqs,
--                   &variant_data);
--
--    if (max_seq_len == 0 || n_seqs == 0) {
--        g_warning ("cache size is not correct %d %d", max_seq_len, n_seqs);
-+                   &n_seqs_32bit,
-+                   &second_size,
-+                   &variant_data,
-+                   &variant_data_32bit_first,
-+                   &variant_data_32bit_second);
-+
-+    if (max_seq_len == 0 || (n_seqs == 0 && n_seqs_32bit == 0)) {
-+        g_warning ("cache size is not correct %d %d %d",
-+                   max_seq_len, n_seqs, n_seqs_32bit);
-         goto out_load_cache;
-     }
- 
--    data = g_variant_get_fixed_array (variant_data,
--                                      &data_length,
--                                      sizeof (guint16));
-+    if (n_seqs && variant_data) {
-+        data = g_variant_get_fixed_array (variant_data,
-+                                          &data_length,
-+                                          sizeof (guint16));
-+    }
-     index_stride = max_seq_len + 2;
- 
--    if (data == NULL) {
--        g_warning ("cache data is null.");
--        goto out_load_cache;
--    }
--    if (data_length != (gsize) index_stride * n_seqs) {
-+    if (data_length != (gsize)index_stride * n_seqs) {
-         g_warning ("cache size is not correct %d %d %lu",
-                    max_seq_len, n_seqs, data_length);
-         goto out_load_cache;
-     }
- 
--    retval = g_new0 (IBusComposeTable, 1);
--    retval->data = g_new (guint16, data_length);
--    memcpy (retval->data, data, data_length * sizeof (guint16));
-+    retval = g_new0 (IBusComposeTableEx, 1);
-+    if (data_length) {
-+        retval->data = g_new (guint16, data_length);
-+        memcpy (retval->data, data, data_length * sizeof (guint16));
-+    }
-     retval->max_seq_len = max_seq_len;
-     retval->n_seqs = n_seqs;
- 
-+    if (n_seqs_32bit && !second_size) {
-+        g_warning ("32bit key sequences are loaded but the values " \
-+                   "could not be loaded.");
-+        goto out_load_cache;
-+    }
-+    if (!n_seqs_32bit && second_size) {
-+        g_warning ("32bit key sequences could not loaded but the values " \
-+                   "are loaded.");
-+        goto out_load_cache;
-+    }
-+
-+    data_length = 0;
-+    if (n_seqs_32bit && variant_data_32bit_first) {
-+        data_32bit_first = g_variant_get_fixed_array (variant_data_32bit_first,
-+                                                      &data_length,
-+                                                      sizeof (guint16));
-+        if (data_length != (gsize) index_stride * n_seqs_32bit) {
-+            g_warning ("32bit cache size is not correct %d %d %lu",
-+                       max_seq_len, n_seqs_32bit, data_length);
-+            goto out_load_cache;
-+        }
-+    }
-+    if (!data && !data_32bit_first) {
-+        g_warning ("cache data is null.");
-+        goto out_load_cache;
-+    }
-+    if (data_length) {
-+        retval->priv = g_new0 (IBusComposeTablePrivate, 1);
-+        retval->priv->data_first = g_new (guint16, data_length);
-+        memcpy (retval->priv->data_first,
-+                data_32bit_first, data_length * sizeof (guint16));
-+        retval->priv->first_n_seqs = n_seqs_32bit;
-+    }
-+
-+    data_length = 0;
-+    if (second_size && variant_data_32bit_second) {
-+        data_32bit_second = g_variant_get_fixed_array (
-+                variant_data_32bit_second,
-+                &data_length,
-+                sizeof (guint32));
-+        if (data_length != (gsize) second_size) {
-+            g_warning ("32bit cache size is not correct %d %d",
-+                       max_seq_len, second_size);
-+            goto out_load_cache;
-+        }
-+    }
-+    if (data_length) {
-+        retval->priv->data_second = g_new (guint32, data_length);
-+        memcpy (retval->priv->data_second,
-+                data_32bit_second, data_length * sizeof (guint32));
-+        retval->priv->second_size = second_size;
-+    }
-+
- 
- out_load_cache:
--    if (variant_data)
--        g_variant_unref (variant_data);
--    if (variant_table)
--        g_variant_unref (variant_table);
-+    g_clear_pointer (&variant_data, g_variant_unref);
-+    g_clear_pointer (&variant_data_32bit_first, g_variant_unref);
-+    g_clear_pointer (&variant_data_32bit_second, g_variant_unref);
-+    g_clear_pointer (&variant_table, g_variant_unref);
-     return retval;
- }
- 
--static IBusComposeTable *
-+
-+static IBusComposeTableEx *
- ibus_compose_table_load_cache (const gchar *compose_file)
- {
--    IBusComposeTable *retval = NULL;
-+    IBusComposeTableEx *retval = NULL;
-     guint32 hash;
-     gchar *path = NULL;
-     gchar *contents = NULL;
-@@ -712,8 +861,9 @@ ibus_compose_table_load_cache (const gchar *compose_file)
-     return retval;
- }
- 
-+
- static void
--ibus_compose_table_save_cache (IBusComposeTable *compose_table)
-+ibus_compose_table_save_cache (IBusComposeTableEx *compose_table)
- {
-     gchar *path = NULL;
-     GVariant *variant_table = NULL;
-@@ -742,67 +892,119 @@ out_save_cache:
-     g_free (path);
- }
- 
--static IBusComposeTable *
-+
-+static IBusComposeTableEx *
- ibus_compose_table_new_with_list (GList   *compose_list,
-                                   int      max_compose_len,
-                                   int      n_index_stride,
-                                   guint32  hash)
- {
--    guint length;
--    guint n = 0;
-+    gsize s_size_total, s_size_16bit, v_size_32bit, v_index_32bit;
-+    guint n = 0, m = 0;
-     int i, j;
-     guint16 *ibus_compose_seqs = NULL;
-+    guint16 *ibus_compose_seqs_32bit_first = NULL;
-+    guint32 *ibus_compose_seqs_32bit_second = NULL;
-     GList *list;
--    IBusComposeData *compose_data;
--    IBusComposeTable *retval = NULL;
-+    IBusComposeData *compose_data = NULL;
-+    IBusComposeTableEx *retval = NULL;
- 
-     g_return_val_if_fail (compose_list != NULL, NULL);
- 
--    length = g_list_length (compose_list);
-+    s_size_total = g_list_length (compose_list);
-+    s_size_16bit = s_size_total;
-+    v_size_32bit = 0;
-+
-+    for (list = compose_list; list != NULL; list = list->next) {
-+        compose_data = list->data;
-+        if (unichar_length (compose_data->values) > 1 ||
-+            compose_data->values[0] >= 0xFFFF) {
-+            --s_size_16bit;
-+            v_size_32bit += unichar_length (compose_data->values);
-+        }
-+    }
- 
--    ibus_compose_seqs = g_new0 (guint16, length * n_index_stride);
-+    if (s_size_16bit)
-+        ibus_compose_seqs = g_new (guint16, s_size_16bit * n_index_stride);
-+    if (s_size_total > s_size_16bit) {
-+        ibus_compose_seqs_32bit_first =
-+                g_new (guint16,
-+                       (s_size_total - s_size_16bit) * n_index_stride);
-+        ibus_compose_seqs_32bit_second = g_new (guint32, v_size_32bit);
-+    }
- 
-+    v_index_32bit = 0;
-     for (list = compose_list; list != NULL; list = list->next) {
-+        gboolean is_32bit = FALSE;
-         compose_data = list->data;
-+
-+        is_32bit = unichar_length (compose_data->values) > 1 ? TRUE :
-+                compose_data->values[0] >= 0xFFFF ? TRUE : FALSE;
-         for (i = 0; i < max_compose_len; i++) {
-             if (compose_data->sequence[i] == 0) {
--                for (j = i; j < max_compose_len; j++)
--                    ibus_compose_seqs[n++] = 0;
-+                for (j = i; j < max_compose_len; j++) {
-+                    if (is_32bit)
-+                        ibus_compose_seqs_32bit_first[m++] = 0;
-+                    else
-+                        ibus_compose_seqs[n++] = 0;
-+                }
-                 break;
-             }
--            ibus_compose_seqs[n++] = (guint16) compose_data->sequence[i];
-+            if (is_32bit) {
-+                ibus_compose_seqs_32bit_first[m++] =
-+                        (guint16) compose_data->sequence[i];
-+            } else {
-+                ibus_compose_seqs[n++] = (guint16) compose_data->sequence[i];
-+            }
-+        }
-+        if (is_32bit) {
-+            for (j = 0; compose_data->values[j]; j++) {
-+                ibus_compose_seqs_32bit_second[v_index_32bit + j] =
-+                        compose_data->values[j];
-+            }
-+            ibus_compose_seqs_32bit_first[m++] = j;
-+            ibus_compose_seqs_32bit_first[m++] = v_index_32bit;
-+            v_index_32bit += j;
-+        } else {
-+            ibus_compose_seqs[n++] = (guint16) compose_data->values[0];
-+            ibus_compose_seqs[n++] = 0;
-         }
--        ibus_compose_seqs[n++] = (guint16) compose_data->value[0];
--        ibus_compose_seqs[n++] = (guint16) compose_data->value[1];
-     }
- 
--    retval = g_new0 (IBusComposeTable, 1);
-+    retval = g_new0 (IBusComposeTableEx, 1);
-     retval->data = ibus_compose_seqs;
-     retval->max_seq_len = max_compose_len;
--    retval->n_seqs = length;
-+    retval->n_seqs = s_size_16bit;
-     retval->id = hash;
-+    if (s_size_total > s_size_16bit) {
-+        retval->priv = g_new0 (IBusComposeTablePrivate, 1);
-+        retval->priv->data_first = ibus_compose_seqs_32bit_first;
-+        retval->priv->data_second = ibus_compose_seqs_32bit_second;
-+        retval->priv->first_n_seqs = s_size_total - s_size_16bit;
-+        retval->priv->second_size = v_size_32bit;
-+    }
- 
-     return retval;
- }
- 
--IBusComposeTable *
-+
-+IBusComposeTableEx *
- ibus_compose_table_new_with_file (const gchar *compose_file)
- {
-     GList *compose_list = NULL;
--    IBusComposeTable *compose_table;
-+    IBusComposeTableEx *compose_table;
-     int max_compose_len = 0;
-     int n_index_stride = 0;
- 
-     g_assert (compose_file != NULL);
- 
--    compose_list = ibus_compose_list_parse_file (compose_file);
-+    compose_list = ibus_compose_list_parse_file (compose_file,
-+                                                 &max_compose_len);
-     if (compose_list == NULL)
-         return NULL;
--    compose_list = ibus_compose_list_check_duplicated (compose_list);
--    compose_list = ibus_compose_list_check_uint16 (compose_list);
--    compose_list = ibus_compose_list_format_for_gtk (compose_list,
--                                                     &max_compose_len,
--                                                     &n_index_stride);
-+    n_index_stride = max_compose_len + 2;
-+    compose_list = ibus_compose_list_check_duplicated (compose_list,
-+                                                       max_compose_len);
-     compose_list = g_list_sort_with_data (
-             compose_list,
-             (GCompareDataFunc) ibus_compose_data_compare,
-@@ -814,9 +1016,8 @@ ibus_compose_table_new_with_file (const gchar *compose_file)
-         return NULL;
-     }
- 
--    if (g_getenv ("IBUS_COMPOSE_TABLE_PRINT") != NULL) {
-+    if (g_getenv ("IBUS_COMPOSE_TABLE_PRINT") != NULL)
-         ibus_compose_list_print (compose_list, max_compose_len, n_index_stride);
--    }
- 
-     compose_table = ibus_compose_table_new_with_list (
-             compose_list,
-@@ -830,6 +1031,7 @@ ibus_compose_table_new_with_file (const gchar *compose_file)
-     return compose_table;
- }
- 
-+
- /* if ibus_compose_seqs[N - 1] is an outputed compose character,
-  * ibus_compose_seqs[N * 2 - 1] is also an outputed compose character.
-  * and ibus_compose_seqs[0] to ibus_compose_seqs[0 + N - 3] are the
-@@ -845,7 +1047,7 @@ ibus_compose_table_list_add_array (GSList        *compose_tables,
-                                    gint           n_seqs)
- {
-     guint32 hash;
--    IBusComposeTable *compose_table;
-+    IBusComposeTableEx *compose_table;
-     int n_index_stride = max_seq_len + 2;
-     int length = n_index_stride * n_seqs;
-     int i;
-@@ -866,7 +1068,7 @@ ibus_compose_table_list_add_array (GSList        *compose_tables,
-     for (i = 0; i < length; i++)
-         ibus_compose_seqs[i] = data[i];
- 
--    compose_table = g_new (IBusComposeTable, 1);
-+    compose_table = g_new (IBusComposeTableEx, 1);
-     compose_table->data = ibus_compose_seqs;
-     compose_table->max_seq_len = max_seq_len;
-     compose_table->n_seqs = n_seqs;
-@@ -875,12 +1077,13 @@ ibus_compose_table_list_add_array (GSList        *compose_tables,
-     return g_slist_prepend (compose_tables, compose_table);
- }
- 
-+
- GSList *
- ibus_compose_table_list_add_file (GSList      *compose_tables,
-                                   const gchar *compose_file)
- {
-     guint32 hash;
--    IBusComposeTable *compose_table;
-+    IBusComposeTableEx *compose_table;
- 
-     g_return_val_if_fail (compose_file != NULL, compose_tables);
- 
-diff --git a/src/ibuscomposetable.h b/src/ibuscomposetable.h
-index 4bf89211..777c5f42 100644
---- a/src/ibuscomposetable.h
-+++ b/src/ibuscomposetable.h
-@@ -29,6 +29,8 @@
- G_BEGIN_DECLS
- 
- typedef struct _IBusComposeTable IBusComposeTable;
-+typedef struct _IBusComposeTableEx IBusComposeTableEx;
-+typedef struct _IBusComposeTablePrivate IBusComposeTablePrivate;
- typedef struct _IBusComposeTableCompact IBusComposeTableCompact;
- typedef struct _IBusComposeTableCompactEx IBusComposeTableCompactEx;
- typedef struct _IBusComposeTableCompactPrivate IBusComposeTableCompactPrivate;
-@@ -41,6 +43,15 @@ struct _IBusComposeTable
-     guint32 id;
- };
- 
-+struct _IBusComposeTableEx
-+{
-+    IBusComposeTablePrivate *priv;
-+    guint16 *data;
-+    gint max_seq_len;
-+    gint n_seqs;
-+    guint32 id;
-+};
-+
- struct _IBusComposeTableCompact
- {
-     const guint16 *data;
-@@ -51,22 +62,23 @@ struct _IBusComposeTableCompact
- 
- struct _IBusComposeTableCompactEx
- {
-+    IBusComposeTableCompactPrivate *priv;
-     const guint16 *data;
-     gint max_seq_len;
-     gint n_index_size;
-     gint n_index_stride;
--    IBusComposeTableCompactPrivate *priv;
- };
- 
--IBusComposeTable *ibus_compose_table_new_with_file (const gchar *compose_file);
--GSList           *ibus_compose_table_list_add_array
-+IBusComposeTableEx *
-+                  ibus_compose_table_new_with_file (const gchar *compose_file);
-+GSList *          ibus_compose_table_list_add_array
-                                                    (GSList
-                                                                 *compose_tables,
-                                                     const guint16
-                                                                 *data,
-                                                     gint         max_seq_len,
-                                                     gint         n_seqs);
--GSList           *ibus_compose_table_list_add_file (GSList
-+GSList *          ibus_compose_table_list_add_file (GSList
-                                                                 *compose_tables,
-                                                     const gchar *compose_file);
- 
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index fa4ddf5f..2242203c 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -101,24 +101,24 @@ struct _IBusComposeTableCompactPrivate
-  * Assign the value of "Number of different first items" of compose-parse.py
-  * to n_seqs in IBusComposeTableCompact
-  */
--const IBusComposeTableCompactPrivate ibus_compose_table_compact_32bit_priv = {
-+IBusComposeTableCompactPrivate ibus_compose_table_compact_32bit_priv = {
-     gtk_compose_seqs_compact_32bit_second
- };
- 
- const IBusComposeTableCompactEx ibus_compose_table_compact = {
-+    NULL,
-     gtk_compose_seqs_compact,
-     5,
-     30,
--    6,
--    NULL
-+    6
- };
- 
- const IBusComposeTableCompactEx ibus_compose_table_compact_32bit = {
-+    &ibus_compose_table_compact_32bit_priv,
-     gtk_compose_seqs_compact_32bit_first,
-     5,
-     9,
--    6,
--    &ibus_compose_table_compact_32bit_priv 
-+    6
- };
- 
- static GSList *global_tables;
-@@ -630,13 +630,15 @@ compare_seq (const void *key, const void *value)
- 
- 
- static gboolean
--check_table (IBusEngineSimple       *simple,
--             const IBusComposeTable *table,
--             gint                    n_compose)
-+check_table (IBusEngineSimple         *simple,
-+             const IBusComposeTableEx *table,
-+             gint                      n_compose,
-+             gboolean                  is_32bit)
- {
--    // g_debug("check_table");
-     IBusEngineSimplePrivate *priv = simple->priv;
-     gint row_stride = table->max_seq_len + 2;
-+    guint16 *data_first;
-+    int n_seqs;
-     guint16 *seq;
- 
-     g_assert (IBUS_IS_ENGINE_SIMPLE (simple));
-@@ -645,8 +647,17 @@ check_table (IBusEngineSimple       *simple,
-     if (n_compose > table->max_seq_len)
-         return FALSE;
- 
-+    if (is_32bit) {
-+        if (!table->priv)
-+            return FALSE;
-+        data_first = table->priv->data_first;
-+        n_seqs = table->priv->first_n_seqs;
-+    } else {
-+        data_first = table->data;
-+        n_seqs = table->n_seqs;
-+    }
-     seq = bsearch (priv->compose_buffer,
--                   table->data, table->n_seqs,
-+                   data_first, n_seqs,
-                    sizeof (guint16) * row_stride,
-                    compare_seq);
- 
-@@ -660,7 +671,7 @@ check_table (IBusEngineSimple       *simple,
-     /* Back up to the first sequence that matches to make sure
-      * we find the exact match if their is one.
-      */
--    while (seq > table->data) {
-+    while (seq > data_first) {
-         prev_seq = seq - row_stride;
-         if (compare_seq (priv->compose_buffer, prev_seq) != 0) {
-             break;
-@@ -671,14 +682,25 @@ check_table (IBusEngineSimple       *simple,
-     /* complete sequence */
-     if (n_compose == table->max_seq_len || seq[n_compose] == 0) {
-         guint16 *next_seq;
--        gunichar value =
--            0x10000 * seq[table->max_seq_len] + seq[table->max_seq_len + 1];
-+        gunichar value = 0;
-+        int num = 0;
-+        int index = 0;
-+        gchar *output_str = NULL;
-+        GError *error = NULL;
-+
-+        if (is_32bit) {
-+            num = seq[table->max_seq_len];
-+            index = seq[table->max_seq_len + 1];
-+            value =  table->priv->data_second[index];
-+        } else {
-+            value = seq[table->max_seq_len];
-+        }
- 
-         /* We found a tentative match. See if there are any longer
-          * sequences containing this subsequence
-          */
-         next_seq = seq + row_stride;
--        if (next_seq < table->data + row_stride * table->n_seqs) {
-+        if (next_seq < data_first + row_stride * n_seqs) {
-             if (compare_seq (priv->compose_buffer, next_seq) == 0) {
-                 priv->tentative_match = value;
-                 priv->tentative_match_len = n_compose;
-@@ -689,9 +711,21 @@ check_table (IBusEngineSimple       *simple,
-             }
-         }
- 
--        ibus_engine_simple_commit_char (simple, value);
-+        if (is_32bit) {
-+            output_str = g_ucs4_to_utf8 (table->priv->data_second + index,
-+                                         num, NULL, NULL, &error);
-+            if (output_str) {
-+                ibus_engine_simple_commit_str(simple, output_str);
-+                g_free (output_str);
-+            } else {
-+                g_warning ("Failed to output multiple characters: %s",
-+                           error->message);
-+                g_error_free (error);
-+            }
-+        } else {
-+            ibus_engine_simple_commit_char (simple, value);
-+        }
-         priv->compose_buffer[0] = 0;
--        // g_debug ("U+%04X\n", value);
-     }
-     ibus_engine_simple_update_preedit_text (simple);
-     return TRUE;
-@@ -754,10 +788,10 @@ ibus_check_compact_table (const IBusComposeTableCompactEx *table,
- 
-             if (seq_index[i + 1] - seq_index[i] > 0) {
-                 seq = bsearch (compose_buffer + 1,
--                           table->data + seq_index[i],
--                           (seq_index[i + 1] - seq_index[i]) / row_stride,
--                           sizeof (guint16) * row_stride,
--                           compare_seq);
-+                               table->data + seq_index[i],
-+                               (seq_index[i + 1] - seq_index[i]) / row_stride,
-+                               sizeof (guint16) * row_stride,
-+                               compare_seq);
-                 if (seq) {
-                     if (i == n_compose - 1)
-                         break;
-@@ -1148,8 +1182,15 @@ ibus_engine_simple_check_all_compose_table (IBusEngineSimple *simple,
- 
-     while (list) {
-         if (check_table (simple,
--            (IBusComposeTable *)list->data,
--            n_compose)) {
-+            (IBusComposeTableEx *)list->data,
-+            n_compose,
-+            FALSE)) {
-+            return TRUE;
-+        }
-+        if (check_table (simple,
-+            (IBusComposeTableEx *)list->data,
-+            n_compose,
-+            TRUE)) {
-             return TRUE;
-         }
-         list = list->next;
-@@ -1178,12 +1219,12 @@ ibus_engine_simple_check_all_compose_table (IBusEngineSimple *simple,
-             if (output_str) {
-                 ibus_engine_simple_commit_str (simple, output_str);
-                 g_free (output_str);
--                g_free (output_chars);
-             } else {
-                 g_warning ("Failed to output multiple characters: %s",
-                            error->message);
-                 g_error_free (error);
-             }
-+            g_free (output_chars);
-             priv->compose_buffer[0] = 0;
-         }
-         
-diff --git a/src/ibusenginesimple.h b/src/ibusenginesimple.h
-index a5ef34fb..bd385e5b 100644
---- a/src/ibusenginesimple.h
-+++ b/src/ibusenginesimple.h
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
-  * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  * Copyright (C) 2008-2017 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-@@ -44,7 +44,7 @@
- 
- G_BEGIN_DECLS
- 
--#define IBUS_MAX_COMPOSE_LEN 7
-+#define IBUS_MAX_COMPOSE_LEN 0xFF
- 
- /*
-  * Type macros.
-diff --git a/src/ibusenginesimpleprivate.h b/src/ibusenginesimpleprivate.h
-index c86c5324..508d9344 100644
---- a/src/ibusenginesimpleprivate.h
-+++ b/src/ibusenginesimpleprivate.h
-@@ -27,6 +27,15 @@
- G_BEGIN_DECLS
- 
- extern const IBusComposeTableCompactEx ibus_compose_table_compact;
-+extern const IBusComposeTableCompactEx ibus_compose_table_compact_32bit;
-+
-+struct _IBusComposeTablePrivate
-+{
-+    guint16 *data_first;
-+    guint32 *data_second;
-+    gsize first_n_seqs;
-+    gsize second_size;
-+};
- 
- gboolean ibus_check_algorithmically (const guint16              *compose_buffer,
-                                      gint                        n_compose,
--- 
-2.21.0
-
-From 82a728de97308f6ce36c814e30a292f96e76cc13 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 29 May 2019 17:37:35 +0900
-Subject: [PATCH 16/27] src: Change a fixed compose buffer to a variable one
-
-Now the long key sequence of the compose key is supported in both
-system compose and user compose but the internal compose buffer is
-still a fixed size. The compose buffer size will be a variable size
-and the initial size will be 20 with this change.
----
- src/ibusenginesimple.c | 48 ++++++++++++++++++++++--------------------
- 1 file changed, 25 insertions(+), 23 deletions(-)
-
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index 2242203c..0604693d 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -44,29 +44,31 @@
- #include <stdlib.h>
- 
- #define X11_DATADIR X11_DATA_PREFIX "/share/X11/locale"
--#define EMOJI_SOURCE_LEN 100
- #define IBUS_ENGINE_SIMPLE_GET_PRIVATE(o)  \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((o), IBUS_TYPE_ENGINE_SIMPLE, IBusEngineSimplePrivate))
- 
- #define SET_COMPOSE_BUFFER_ELEMENT_NEXT(buffer, index, value) {         \
--    if ((index) < EMOJI_SOURCE_LEN) {                                   \
-+    if ((index) >= COMPOSE_BUFFER_SIZE &&                               \
-+        COMPOSE_BUFFER_SIZE < IBUS_MAX_COMPOSE_LEN) {                   \
-+        COMPOSE_BUFFER_SIZE = ((index) + 10) < IBUS_MAX_COMPOSE_LEN     \
-+                              ? ((index) + 10) : IBUS_MAX_COMPOSE_LEN;  \
-+        (buffer) = g_renew (guint16, (buffer), COMPOSE_BUFFER_SIZE + 1);\
-+    }                                                                   \
-+    if ((index) < COMPOSE_BUFFER_SIZE) {                                \
-         (buffer)[(index)] = (value);                                    \
-         (index) += 1;                                                   \
-     }                                                                   \
- }
- 
- #define SET_COMPOSE_BUFFER_ELEMENT_END(buffer, index, value) {          \
--    if ((index) >= EMOJI_SOURCE_LEN) {                                  \
--        (index) = EMOJI_SOURCE_LEN;                                     \
--        (buffer)[EMOJI_SOURCE_LEN - 1] = (value);                       \
--    } else {                                                            \
--        (buffer)[(index)] = (value);                                    \
--    }                                                                   \
-+    if ((index) > COMPOSE_BUFFER_SIZE)                                  \
-+        (index) = COMPOSE_BUFFER_SIZE;                                  \
-+    (buffer)[(index)] = (value);                                        \
- }
- 
- #define CHECK_COMPOSE_BUFFER_LENGTH(index) {                            \
--    if ((index) > EMOJI_SOURCE_LEN)                                     \
--        (index) = EMOJI_SOURCE_LEN;                                     \
-+    if ((index) > COMPOSE_BUFFER_SIZE)                                  \
-+        (index) = COMPOSE_BUFFER_SIZE;                                  \
- }
- 
- typedef struct {
-@@ -75,7 +77,7 @@ typedef struct {
- } IBusEngineDict;
- 
- struct _IBusEngineSimplePrivate {
--    guint16             compose_buffer[EMOJI_SOURCE_LEN];
-+    guint16            *compose_buffer;
-     gunichar            tentative_match;
-     gchar              *tentative_emoji;
-     gint                tentative_match_len;
-@@ -121,6 +123,7 @@ const IBusComposeTableCompactEx ibus_compose_table_compact_32bit = {
-     6
- };
- 
-+guint COMPOSE_BUFFER_SIZE = 20;
- static GSList *global_tables;
- 
- /* functions prototype */
-@@ -175,6 +178,7 @@ static void
- ibus_engine_simple_init (IBusEngineSimple *simple)
- {
-     simple->priv = IBUS_ENGINE_SIMPLE_GET_PRIVATE (simple);
-+    simple->priv->compose_buffer = g_new (guint16, COMPOSE_BUFFER_SIZE + 1);
-     simple->priv->hex_mode_enabled =
-         g_getenv("IBUS_ENABLE_CTRL_SHIFT_U") != NULL ||
-         g_getenv("IBUS_ENABLE_CONTROL_SHIFT_U") != NULL;
-@@ -193,7 +197,8 @@ ibus_engine_simple_destroy (IBusEngineSimple *simple)
-         priv->emoji_dict = NULL;
-     }
- 
--    g_clear_pointer (&priv->lookup_table, g_object_unref);
-+    g_clear_object (&priv->lookup_table);
-+    g_clear_pointer (&priv->compose_buffer, g_free);
-     g_clear_pointer (&priv->tentative_emoji, g_free);
- 
-     IBUS_OBJECT_CLASS(ibus_engine_simple_parent_class)->destroy (
-@@ -356,7 +361,7 @@ ibus_engine_simple_update_preedit_text (IBusEngineSimple *simple)
- {
-     IBusEngineSimplePrivate *priv = simple->priv;
- 
--    gunichar outbuf[EMOJI_SOURCE_LEN + 1];
-+    gunichar outbuf[COMPOSE_BUFFER_SIZE + 1];
-     int len = 0;
- 
-     if (priv->in_hex_sequence || priv->in_emoji_sequence) {
-@@ -376,10 +381,7 @@ ibus_engine_simple_update_preedit_text (IBusEngineSimple *simple)
-             ++hexchars;
-         }
- 
--        if (priv->in_hex_sequence)
--            g_assert (len <= IBUS_MAX_COMPOSE_LEN + 1);
--        else
--            g_assert (len <= EMOJI_SOURCE_LEN + 1);
-+        g_assert (len <= COMPOSE_BUFFER_SIZE);
-     } else if (priv->tentative_match) {
-         outbuf[len++] = priv->tentative_match;
-     } else if (priv->tentative_emoji && *priv->tentative_emoji) {
-@@ -406,7 +408,7 @@ ibus_engine_simple_update_preedit_text (IBusEngineSimple *simple)
-             ++len;
-             ++hexchars;
-         }
--        g_assert (len <= IBUS_MAX_COMPOSE_LEN + 1);
-+        g_assert (len <= IBUS_MAX_COMPOSE_LEN);
-     }
- 
-     outbuf[len] = L'\0';
-@@ -1265,11 +1267,11 @@ ibus_engine_simple_process_key_event (IBusEngine *engine,
-     guint printable_keyval;
-     gint i;
- 
--    while (n_compose < EMOJI_SOURCE_LEN && priv->compose_buffer[n_compose] != 0)
-+    while (n_compose <= COMPOSE_BUFFER_SIZE && priv->compose_buffer[n_compose] != 0)
-         n_compose++;
--    if (n_compose >= EMOJI_SOURCE_LEN) {
-+    if (n_compose > COMPOSE_BUFFER_SIZE) {
-         g_warning ("copmose table buffer is full.");
--        n_compose = EMOJI_SOURCE_LEN - 1;
-+        n_compose = COMPOSE_BUFFER_SIZE;
-     }
- 
-     if (modifiers & IBUS_RELEASE_MASK) {
-@@ -1348,8 +1350,8 @@ ibus_engine_simple_process_key_event (IBusEngine *engine,
-     /* gtkimcontextsimple causes a buffer overflow in priv->compose_buffer.
-      * Add the check code here.
-      */
--    if ((n_compose >= IBUS_MAX_COMPOSE_LEN && priv->in_hex_sequence) ||
--        (n_compose >= EMOJI_SOURCE_LEN && priv->in_emoji_sequence)) {
-+    if (n_compose > COMPOSE_BUFFER_SIZE &&
-+        (priv->in_hex_sequence || priv->in_emoji_sequence)) {
-         if (is_backspace) {
-             priv->compose_buffer[--n_compose] = 0;
-         }
--- 
-2.21.0
-
-From 80254484071eb57e1152579b60ec8a95522ebc22 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 24 Jun 2019 17:28:55 +0900
-Subject: [PATCH 17/27] src: s/iso_639-3/iso_639_3/ in ibus_get_language_name()
-
-iso-codes 3.66 has iso_639_3.xml only but 3.67 has both iso_639_3.xml
-and iso_639-3.xml. RHEL 7 uses iso-codes 3.46.
-
-BUG=https://github.com/ibus/ibus/issues/2101
----
- ibus/lang.py   |  6 +++---
- src/ibusutil.c | 10 +++++-----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/ibus/lang.py b/ibus/lang.py
-index 64324bd8..238a9172 100644
---- a/ibus/lang.py
-+++ b/ibus/lang.py
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2010 Red Hat, Inc.
-+# Copyright (c) 2007-2019 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
-@@ -36,7 +36,7 @@ def get_language_name(_locale):
-     lang = lang.lower()
-     if lang in __languages_dict:
-         lang = __languages_dict[lang]
--        lang = gettext.dgettext("iso_639-3", lang)
-+        lang = gettext.dgettext("iso_639_3", lang)
-     else:
-         lang = _(u"Other")
-         lang = gettext.dgettext("ibus", lang)
-@@ -62,7 +62,7 @@ def __char_data(data):
- def __load_lang():
-     import os
-     import _config
--    iso_639_3_xml = os.path.join(_config.ISOCODES_PREFIX, "share/xml/iso-codes/iso_639-3.xml")
-+    iso_639_3_xml = os.path.join(_config.ISOCODES_PREFIX, "share/xml/iso-codes/iso_639_3.xml")
-     p = xml.parsers.expat.ParserCreate()
-     p.StartElementHandler = __start_element
-     p.EndElementHandler = __end_element
-diff --git a/src/ibusutil.c b/src/ibusutil.c
-index 9d003e2e..88c054a2 100644
---- a/src/ibusutil.c
-+++ b/src/ibusutil.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* bus - The Input Bus
-  * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2010-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2010-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  * Copyright (C) 2008-2016 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-@@ -99,14 +99,14 @@ _load_lang()
-     struct stat buf;
- 
- #ifdef ENABLE_NLS
--    bindtextdomain ("iso_639-3", LOCALEDIR);
--    bind_textdomain_codeset ("iso_639-3", "UTF-8");
-+    bindtextdomain ("iso_639_3", LOCALEDIR);
-+    bind_textdomain_codeset ("iso_639_3", "UTF-8");
- #endif
- 
-     __languages_dict = g_hash_table_new_full (g_str_hash,
-             g_str_equal, g_free, g_free);
-     filename = g_build_filename (ISOCODES_PREFIX,
--                                 "share/xml/iso-codes/iso_639-3.xml",
-+                                 "share/xml/iso-codes/iso_639_3.xml",
-                                  NULL);
-     if (g_stat (filename, &buf) != 0) {
-         g_warning ("Can not get stat of file %s", filename);
-@@ -197,7 +197,7 @@ ibus_get_language_name (const gchar *_locale)
-     if (g_strcmp0 (raw, "Other") == 0)
-         return g_strdup (dgettext (GETTEXT_PACKAGE, N_("Other")));
-     else
--        translation = dgettext ("iso_639-3", raw);
-+        translation = dgettext ("iso_639_3", raw);
- #else
-     translation = raw;
- #endif
--- 
-2.21.0
-
-From 69e443c07f944b3137aada31dcdbcb49728ff805 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 28 Jun 2019 20:43:36 +0900
-Subject: [PATCH 18/27] bus: Disable panel extension for gnome-initial-setup
- user
-
-gnome-initial-setup user is executed before the post setup is finished
-after the installation is finished.
----
- bus/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/bus/main.c b/bus/main.c
-index 6f1f39ca..3223d541 100644
---- a/bus/main.c
-+++ b/bus/main.c
-@@ -49,6 +49,7 @@ static gchar *desktop = "gnome";
- 
- static gchar *panel_extension_disable_users[] = {
-     "gdm",
-+    "gnome-initial-setup",
-     "liveuser"
- };
- 
--- 
-2.21.0
-
-From c360cbd830943a4bfb0ece9cc07b99a426dc2121 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 9 Apr 2018 11:57:09 +0900
-Subject: [PATCH] src/tests: Add ibus-compose.env
-
----
- src/tests/ibus-compose.env | 3 +++
- 1 file changed, 3 insertions(+)
- create mode 100644 src/tests/ibus-compose.env
-
-diff --git a/src/tests/ibus-compose.env b/src/tests/ibus-compose.env
-new file mode 100644
-index 00000000..734ab8fa
---- /dev/null
-+++ b/src/tests/ibus-compose.env
-@@ -0,0 +1,3 @@
-+LANG=el_GR.UTF-8
-+LANG=fi_FI.UTF-8
-+LANG=pt_BR.UTF-8
--- 
-2.21.0
-
-From ac492f31b435b9464d591094d470bc94027168e8 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 28 Jun 2019 21:15:07 +0900
-Subject: [PATCH 19/27] src/tests: Fix ibus-compose for IBusComposeTableEx
-
-Recently IBusComposeTablEx has been integrated and the return value of
-ibus_compose_table_new_with_file() is also changed and ibus-compose
-needs to be updated.
-
-Clear IBusComposeTablePrivate in ibus_compose_table_list_add_array()
-for the ibus-compose testing.
-
-Clear compose_buffer in IBusEngineSimple.
-
-Use g_get_language_names_with_category instead() of g_get_locale_variants().
-
-Add ibus-compose.emoji for the tests of long compose sequences and
-multiple compose output characters.
-
-IBUS_COMPOSE_CACHE_DIR variable is added for the temporary caches.
----
- src/ibuscomposetable.c       |  15 ++--
- src/ibuscomposetable.h       |   4 +
- src/ibusenginesimple.c       |  14 ++-
- src/tests/Makefile.am        |   2 +-
- src/tests/ibus-compose.c     | 163 +++++++++++++++++++++++++++--------
- src/tests/ibus-compose.emoji |  11 +++
- src/tests/ibus-compose.env   |   1 +
- src/tests/runtest            |   4 +-
- 8 files changed, 174 insertions(+), 47 deletions(-)
- create mode 100644 src/tests/ibus-compose.emoji
-
-diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
-index 4ac54e25..5fd37f10 100644
---- a/src/ibuscomposetable.c
-+++ b/src/ibuscomposetable.c
-@@ -497,13 +497,18 @@ static gchar *
- ibus_compose_hash_get_cache_path (guint32 hash)
- {
-     gchar *basename = NULL;
-+    const gchar *cache_dir;
-     gchar *dir = NULL;
-     gchar *path = NULL;
- 
-     basename = g_strdup_printf ("%08x.cache", hash);
- 
--    dir = g_build_filename (g_get_user_cache_dir (),
--                            "ibus", "compose", NULL);
-+    if ((cache_dir = g_getenv ("IBUS_COMPOSE_CACHE_DIR"))) {
-+        dir = g_strdup (cache_dir);
-+    } else {
-+        dir = g_build_filename (g_get_user_cache_dir (),
-+                                "ibus", "compose", NULL);
-+    }
-     path = g_build_filename (dir, basename, NULL);
-     if (g_mkdir_with_parents (dir, 0755) != 0) {
-         g_warning ("Failed to mkdir %s", dir);
-@@ -817,7 +822,7 @@ out_load_cache:
- }
- 
- 
--static IBusComposeTableEx *
-+IBusComposeTableEx *
- ibus_compose_table_load_cache (const gchar *compose_file)
- {
-     IBusComposeTableEx *retval = NULL;
-@@ -862,7 +867,7 @@ ibus_compose_table_load_cache (const gchar *compose_file)
- }
- 
- 
--static void
-+void
- ibus_compose_table_save_cache (IBusComposeTableEx *compose_table)
- {
-     gchar *path = NULL;
-@@ -1068,7 +1073,7 @@ ibus_compose_table_list_add_array (GSList        *compose_tables,
-     for (i = 0; i < length; i++)
-         ibus_compose_seqs[i] = data[i];
- 
--    compose_table = g_new (IBusComposeTableEx, 1);
-+    compose_table = g_new0 (IBusComposeTableEx, 1);
-     compose_table->data = ibus_compose_seqs;
-     compose_table->max_seq_len = max_seq_len;
-     compose_table->n_seqs = n_seqs;
-diff --git a/src/ibuscomposetable.h b/src/ibuscomposetable.h
-index 777c5f42..b60e53fe 100644
---- a/src/ibuscomposetable.h
-+++ b/src/ibuscomposetable.h
-@@ -71,6 +71,10 @@ struct _IBusComposeTableCompactEx
- 
- IBusComposeTableEx *
-                   ibus_compose_table_new_with_file (const gchar *compose_file);
-+IBusComposeTableEx *
-+                  ibus_compose_table_load_cache    (const gchar *compose_file);
-+void              ibus_compose_table_save_cache    (IBusComposeTableEx
-+                                                                *compose_table);
- GSList *          ibus_compose_table_list_add_array
-                                                    (GSList
-                                                                 *compose_tables,
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index 0604693d..b623e149 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -178,7 +178,7 @@ static void
- ibus_engine_simple_init (IBusEngineSimple *simple)
- {
-     simple->priv = IBUS_ENGINE_SIMPLE_GET_PRIVATE (simple);
--    simple->priv->compose_buffer = g_new (guint16, COMPOSE_BUFFER_SIZE + 1);
-+    simple->priv->compose_buffer = g_new0(guint16, COMPOSE_BUFFER_SIZE + 1);
-     simple->priv->hex_mode_enabled =
-         g_getenv("IBUS_ENABLE_CTRL_SHIFT_U") != NULL ||
-         g_getenv("IBUS_ENABLE_CONTROL_SHIFT_U") != NULL;
-@@ -1747,9 +1747,14 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
-     gboolean retval = TRUE;
-     gchar *path = NULL;
-     const gchar *home;
-+#if GLIB_CHECK_VERSION (2, 58, 0)
-+    const gchar * const *langs;
-+    const gchar * const *lang = NULL;
-+#else
-     const gchar *_locale;
-     gchar **langs = NULL;
-     gchar **lang = NULL;
-+#endif
-     gchar * const sys_langs[] = { "el_gr", "fi_fi", "pt_br", NULL };
-     gchar * const *sys_lang = NULL;
- 
-@@ -1787,6 +1792,9 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
-         g_free (path);
-         path = NULL;
- 
-+#if GLIB_CHECK_VERSION (2, 58, 0)
-+        langs = g_get_language_names_with_category ("LC_CTYPE");
-+#else
-         _locale = g_getenv ("LC_CTYPE");
-         if (_locale == NULL)
-             _locale = g_getenv ("LANG");
-@@ -1795,6 +1803,7 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
- 
-         /* FIXME: https://bugzilla.gnome.org/show_bug.cgi?id=751826 */
-         langs = g_get_locale_variants (_locale);
-+#endif
- 
-         for (lang = langs; *lang; lang++) {
-             if (g_str_has_prefix (*lang, "en_US"))
-@@ -1821,7 +1830,9 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
-             path = NULL;
-         }
- 
-+#if !GLIB_CHECK_VERSION (2, 58, 0)
-         g_strfreev (langs);
-+#endif
- 
-         if (path != NULL)
-             ibus_engine_simple_add_compose_file (simple, path);
-@@ -1853,3 +1864,4 @@ ibus_engine_simple_add_compose_file (IBusEngineSimple *simple,
-                                                       compose_file);
-     return TRUE;
- }
-+
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index e2ff5ea7..a58504a3 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -78,7 +78,7 @@ TESTS_ENVIRONMENT = \
- 
- LOG_COMPILER = $(srcdir)/runtest
- 
--EXTRA_DIST = runtest ibus-compose.env
-+EXTRA_DIST = runtest ibus-compose.emoji ibus-compose.env
- 
- ibus_bus_SOURCES = ibus-bus.c
- ibus_bus_LDADD = $(prog_ldadd)
-diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
-index aabb36ac..e1911b32 100644
---- a/src/tests/ibus-compose.c
-+++ b/src/tests/ibus-compose.c
-@@ -1,37 +1,36 @@
- #include <gtk/gtk.h>
- #include "ibus.h"
- #include "ibuscomposetable.h"
-+#include "ibusenginesimpleprivate.h"
- 
- #define GREEN "\033[0;32m"
- #define RED   "\033[0;31m"
- #define NC    "\033[0m"
- 
- IBusBus *m_bus;
--IBusComposeTable *m_compose_table;
-+gchar *m_compose_file;
-+IBusComposeTableEx *m_compose_table;
- IBusEngine *m_engine;
-+gchar *m_srcdir;
- int m_retval;
- 
- static gboolean window_focus_in_event_cb (GtkWidget     *entry,
-                                           GdkEventFocus *event,
-                                           gpointer       data);
- 
--static IBusEngine *
--create_engine_cb (IBusFactory *factory, const gchar *name, gpointer data)
-+
-+static gchar *
-+get_compose_path ()
- {
--    static int i = 1;
--    gchar *engine_path =
--            g_strdup_printf ("/org/freedesktop/IBus/engine/simpletest/%d",
--                             i++);
--    gchar *compose_path = NULL;
-     const gchar * const *langs;
-     const gchar * const *l;
-+    gchar *compose_path = NULL;
- 
--    m_engine = ibus_engine_new_with_type (IBUS_TYPE_ENGINE_SIMPLE,
--                                          name,
--                                          engine_path,
--                                          ibus_bus_get_connection (m_bus));
--    g_free (engine_path);
-+#if GLIB_CHECK_VERSION (2, 58, 0)
-+    langs = g_get_language_names_with_category ("LC_CTYPE");
-+#else
-     langs = g_get_language_names ();
-+#endif
-     for (l = langs; *l; l++) {
-         if (g_str_has_prefix (*l, "en_US"))
-             break;
-@@ -46,18 +45,39 @@ create_engine_cb (IBusFactory *factory, const gchar *name, gpointer data)
-         g_free (compose_path);
-         compose_path = NULL;
-     }
-+
-+    return compose_path;
-+}
-+
-+
-+static IBusEngine *
-+create_engine_cb (IBusFactory *factory,
-+                  const gchar *name,
-+                  gpointer     data)
-+{
-+    static int i = 1;
-+    gchar *engine_path =
-+            g_strdup_printf ("/org/freedesktop/IBus/engine/simpletest/%d",
-+                             i++);
-+    gchar *compose_path;
-+
-+    m_engine = ibus_engine_new_with_type (IBUS_TYPE_ENGINE_SIMPLE,
-+                                          name,
-+                                          engine_path,
-+                                          ibus_bus_get_connection (m_bus));
-+    g_free (engine_path);
-+    if (m_compose_file)
-+        compose_path = g_build_filename (m_srcdir, m_compose_file, NULL);
-+    else
-+        compose_path = get_compose_path ();
-     if (compose_path != NULL) {
--        m_compose_table = ibus_compose_table_new_with_file (compose_path);
-+        ibus_engine_simple_add_compose_file (IBUS_ENGINE_SIMPLE (m_engine),
-+                                             compose_path);
-+        m_compose_table = ibus_compose_table_load_cache (compose_path);
-         if (m_compose_table == NULL)
-             g_warning ("Your locale uses en_US compose table.");
--        else
--            ibus_engine_simple_add_table (IBUS_ENGINE_SIMPLE (m_engine),
--                                          m_compose_table->data,
--                                          m_compose_table->max_seq_len,
--                                          m_compose_table->n_seqs);
--    } else {
--        g_warning ("Your locale uses en_US compose file.");
-     }
-+    g_free (compose_path);
-     return m_engine;
- }
- 
-@@ -118,6 +138,7 @@ set_engine_cb (GObject *object, GAsyncResult *res, gpointer data)
-     GError *error = NULL;
-     int i, j;
-     int index_stride;
-+    IBusComposeTablePrivate *priv;
- 
-     if (!ibus_bus_set_global_engine_async_finish (bus, res, &error)) {
-         g_warning ("set engine failed: %s", error->message);
-@@ -149,6 +170,27 @@ set_engine_cb (GObject *object, GAsyncResult *res, gpointer data)
-                                    keyval, keycode, modifiers, &retval);
-         }
-     }
-+    priv = m_compose_table->priv;
-+    if (priv) {
-+        for (i = 0;
-+             i < (priv->first_n_seqs * index_stride);
-+             i += index_stride) {
-+            for (j = i; j < i + (index_stride - 1); j++) {
-+                guint keyval = priv->data_first[j];
-+                guint keycode = 0;
-+                guint modifiers = 0;
-+                gboolean retval;
-+
-+                if (keyval == 0)
-+                    break;
-+                g_signal_emit_by_name (m_engine, "process-key-event",
-+                                       keyval, keycode, modifiers, &retval);
-+                modifiers |= IBUS_RELEASE_MASK;
-+                g_signal_emit_by_name (m_engine, "process-key-event",
-+                                       keyval, keycode, modifiers, &retval);
-+            }
-+        }
-+    }
- 
-     g_signal_handlers_disconnect_by_func (entry, 
-                                           G_CALLBACK (window_focus_in_event_cb),
-@@ -183,41 +225,87 @@ window_inserted_text_cb (GtkEntryBuffer *buffer,
-     static int n_loop = 0;
- #endif
-     static guint stride = 0;
-+    static gboolean enable_32bit = FALSE;
-     guint i;
-     int seq;
-     gunichar code = g_utf8_get_char (chars);
-     const gchar *test;
-     GtkEntry *entry = GTK_ENTRY (data);
-+    IBusComposeTablePrivate *priv;
- 
-     g_assert (m_compose_table != NULL);
- 
-+    priv = m_compose_table->priv;
-+
- #if !GTK_CHECK_VERSION (3, 22, 16)
-     if (n_loop % 2 == 1) {
-         n_loop = 0;
-         return;
-     }
- #endif
--    i = stride + (m_compose_table->max_seq_len + 2) - 1;
--    seq = (i + 1) / (m_compose_table->max_seq_len + 2);
--    if (m_compose_table->data[i] == code) {
--        test = GREEN "PASS" NC;
-+    i = stride + (m_compose_table->max_seq_len + 2) - 2;
-+    seq = (i + 2) / (m_compose_table->max_seq_len + 2);
-+    if (!enable_32bit) {
-+        if (m_compose_table->data[i] == code) {
-+            test = GREEN "PASS" NC;
-+        } else {
-+            test = RED "FAIL" NC;
-+            m_retval = -1;
-+        }
-+        g_print ("%05d/%05d %s expected: %04X typed: %04X\n",
-+                 seq,
-+                 m_compose_table->n_seqs,
-+                 test,
-+                 m_compose_table->data[i],
-+                 code);
-     } else {
--        test = RED "FAIL" NC;
--        m_retval = -1;
-+        const gchar *p = chars;
-+        guint num = priv->data_first[i];
-+        guint index = priv->data_first[i + 1];
-+        guint j = 0;
-+        gboolean valid_output = TRUE;
-+        if (seq == 2)
-+            g_print ("test\n");
-+        for (j = 0; j < num; j++) {
-+            if (priv->data_second[index + j] != code) {
-+                valid_output = FALSE;
-+                break;
-+            }
-+            p = g_utf8_next_char (p);
-+            code = g_utf8_get_char (p);
-+        }
-+        if (valid_output) {
-+            test = GREEN "PASS" NC;
-+        } else {
-+            test = RED "FAIL" NC;
-+            m_retval = -1;
-+        }
-+        g_print ("%05d/%05ld %s expected: %04X[%d] typed: %04X\n",
-+                 seq,
-+                 priv->first_n_seqs,
-+                 test,
-+                 valid_output ? priv->data_second[index]
-+                         : priv->data_second[index + j],
-+                 valid_output ? index + num : index + j,
-+                 valid_output ? g_utf8_get_char (chars) : code);
-     }
--    g_print ("%05d/%05d %s expected: %04X typed: %04X\n",
--             seq,
--             m_compose_table->n_seqs,
--             test,
--             m_compose_table->data[i],
--             code);
--
--    if (seq == m_compose_table->n_seqs) {
-+
-+    stride += m_compose_table->max_seq_len + 2;
-+
-+    if (!enable_32bit && seq == m_compose_table->n_seqs) {
-+        if (priv) {
-+            enable_32bit = TRUE;
-+            stride = 0;
-+        } else {
-+            gtk_main_quit ();
-+            return;
-+        }
-+    }
-+    if (enable_32bit && seq == priv->first_n_seqs) {
-         gtk_main_quit ();
-         return;
-     }
- 
--    stride += m_compose_table->max_seq_len + 2;
- #if !GTK_CHECK_VERSION (3, 22, 16)
-     n_loop++;
- #endif
-@@ -248,6 +336,9 @@ main (int argc, char *argv[])
-     ibus_init ();
-     gtk_init (&argc, &argv);
- 
-+    m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
-+    m_compose_file = g_strdup (g_getenv ("COMPOSE_FILE"));
-+
-     if (!register_ibus_engine ())
-         return -1;
- 
-diff --git a/src/tests/ibus-compose.emoji b/src/tests/ibus-compose.emoji
-new file mode 100644
-index 00000000..7fbf82cf
---- /dev/null
-+++ b/src/tests/ibus-compose.emoji
-@@ -0,0 +1,11 @@
-+<Multi_key> <Multi_key> <l> <e> <o>             : "♌"  U264C   # LEO
-+<Multi_key> <Multi_key> <v> <i> <r> <g> <o>     : "♍"  U264D   # VIRGO
-+<Multi_key> <Multi_key> <I> <n> <t>             : "∫"
-+<Multi_key> <Multi_key> <I> <I> <n> <t>         : "∬"
-+<Multi_key> <Multi_key> <I> <I> <n> <o>         : "🗼"
-+<Multi_key> <Multi_key> <I> <I> <n> <p>         : "(゜∀゜)"
-+<Multi_key> <Multi_key> <I> <I> <n> <q>         : "*・゜゜・*:.。..。.:*・゜(n‘Д‘)η゜・*:.。. .。.:*・ ゜゜・* !!!!!"
-+<Multi_key> <Multi_key> <I> <I> <I> <n> <t>     : "∭"
-+<Multi_key> <Multi_key> <o> <I> <n> <t>         : "∮"
-+<Multi_key> <Multi_key> <o> <I> <I> <n> <t>     : "∯"
-+<Multi_key> <Multi_key> <o> <I> <I> <I> <n> <t> : "∰"
-diff --git a/src/tests/ibus-compose.env b/src/tests/ibus-compose.env
-index 734ab8fa..a9e289e4 100644
---- a/src/tests/ibus-compose.env
-+++ b/src/tests/ibus-compose.env
-@@ -1,3 +1,4 @@
- LANG=el_GR.UTF-8
- LANG=fi_FI.UTF-8
- LANG=pt_BR.UTF-8
-+LANG=en_US.UTF-8 COMPOSE_FILE=ibus-compose.emoji
-diff --git a/src/tests/runtest b/src/tests/runtest
-index 4e980c71..35ccc5a0 100755
---- a/src/tests/runtest
-+++ b/src/tests/runtest
-@@ -184,7 +184,9 @@ run_test_case()
-         export GTK_IM_MODULE=ibus
-     fi
- 
--    "../$tst" ${1+"$@"}
-+    export IBUS_COMPOSE_CACHE_DIR=$PWD
-+
-+    "../$tst" ../$top_srcdir/src/tests ${1+"$@"}
- 
-     retval=`expr $retval \| $?`
- 
--- 
-2.21.0
-
-From 76dec798d5cf6cdaa96c3373f9c0e1cd13eb31f5 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 28 Jun 2019 21:28:32 +0900
-Subject: [PATCH 20/27] src/tests: Use GTest for ibus-compose
-
----
- src/tests/ibus-compose.c | 45 ++++++++++++++++++++++++++++------------
- 1 file changed, 32 insertions(+), 13 deletions(-)
-
-diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
-index e1911b32..09c687c2 100644
---- a/src/tests/ibus-compose.c
-+++ b/src/tests/ibus-compose.c
-@@ -12,7 +12,6 @@ gchar *m_compose_file;
- IBusComposeTableEx *m_compose_table;
- IBusEngine *m_engine;
- gchar *m_srcdir;
--int m_retval;
- 
- static gboolean window_focus_in_event_cb (GtkWidget     *entry,
-                                           GdkEventFocus *event,
-@@ -124,8 +123,7 @@ register_ibus_engine ()
- static gboolean
- finit (gpointer data)
- {
--    m_retval = -1;
--    g_warning ("time out");
-+    g_test_incomplete ("time out");
-     gtk_main_quit ();
-     return FALSE;
- }
-@@ -141,7 +139,9 @@ set_engine_cb (GObject *object, GAsyncResult *res, gpointer data)
-     IBusComposeTablePrivate *priv;
- 
-     if (!ibus_bus_set_global_engine_async_finish (bus, res, &error)) {
--        g_warning ("set engine failed: %s", error->message);
-+        gchar *msg = g_strdup_printf ("set engine failed: %s", error->message);
-+        g_test_incomplete (msg);
-+        g_free (msg);
-         g_error_free (error);
-         return;
-     }
-@@ -250,7 +250,7 @@ window_inserted_text_cb (GtkEntryBuffer *buffer,
-             test = GREEN "PASS" NC;
-         } else {
-             test = RED "FAIL" NC;
--            m_retval = -1;
-+            g_test_fail ();
-         }
-         g_print ("%05d/%05d %s expected: %04X typed: %04X\n",
-                  seq,
-@@ -278,7 +278,7 @@ window_inserted_text_cb (GtkEntryBuffer *buffer,
-             test = GREEN "PASS" NC;
-         } else {
-             test = RED "FAIL" NC;
--            m_retval = -1;
-+            g_test_fail ();
-         }
-         g_print ("%05d/%05ld %s expected: %04X[%d] typed: %04X\n",
-                  seq,
-@@ -330,20 +330,39 @@ create_window ()
-     gtk_widget_show_all (window);
- }
- 
-+static void
-+test_compose (void)
-+{
-+    if (!register_ibus_engine ()) {
-+        g_test_fail ();
-+        return;
-+    }
-+
-+    create_window ();
-+    gtk_main ();
-+
-+}
-+
- int
- main (int argc, char *argv[])
- {
-+    const gchar *test_name;
-+    gchar *test_path;
-+
-     ibus_init ();
-+    g_test_init (&argc, &argv, NULL);
-     gtk_init (&argc, &argv);
- 
-     m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
-     m_compose_file = g_strdup (g_getenv ("COMPOSE_FILE"));
-+#if GLIB_CHECK_VERSION (2, 58, 0)
-+    test_name = g_get_language_names_with_category ("LC_CTYPE")[0];
-+#else
-+    test_name = g_getenv ("LANG");
-+#endif
-+    test_path = g_build_filename ("/ibus-compose", test_name, NULL);
-+    g_test_add_func (test_path, test_compose);
-+    g_free (test_path);
- 
--    if (!register_ibus_engine ())
--        return -1;
--
--    create_window ();
--    gtk_main ();
--
--    return m_retval;
-+    return g_test_run ();
- }
--- 
-2.21.0
-
-From 6bdc692e0dc72a9afae5407983859e88c16b4971 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 10 Jul 2019 18:18:04 +0900
-Subject: [PATCH 21/27] src: Support common_name in ISO 639
-
-Nowadays "Bangla" is preferred to "Bengali" for BN language code
-and iso_639*.xml describes it in "common_name" tag.
-
-BUG=https://github.com/ibus/ibus/issues/2104
----
- src/ibusutil.c | 21 ++++++++++++++++-----
- 1 file changed, 16 insertions(+), 5 deletions(-)
-
-diff --git a/src/ibusutil.c b/src/ibusutil.c
-index 88c054a2..701984c7 100644
---- a/src/ibusutil.c
-+++ b/src/ibusutil.c
-@@ -53,6 +53,7 @@ _iso_codes_parse_xml_node (XMLNode          *node)
-         XMLNode *sub_node = (XMLNode *)p->data;
-         gchar **attributes = NULL;
-         int i, j;
-+        gboolean has_common_name = FALSE;
-         struct {
-             const gchar *key;
-             gchar *value;
-@@ -68,14 +69,24 @@ _iso_codes_parse_xml_node (XMLNode          *node)
- 
-         attributes = sub_node->attributes;
-         for (i = 0; attributes[i]; i += 2) {
--            if (g_strcmp0 (attributes[i], "name") == 0) {
-+            if (!g_strcmp0 (attributes[i], "common_name")) {
-                 for (j = 0; j < G_N_ELEMENTS (entries); j++) {
-                     if (entries[j].value == NULL)
-                         continue;
--                    g_hash_table_insert (__languages_dict,
--                                         (gpointer) g_strdup (entries[j].value),
--                                         (gpointer) g_strdup (attributes[i + 1]));
--                    entries[j].value = NULL;
-+                    g_hash_table_replace (__languages_dict,
-+                                          g_strdup (entries[j].value),
-+                                          g_strdup (attributes[i + 1]));
-+                }
-+                has_common_name = TRUE;
-+            } else if (!g_strcmp0 (attributes[i], "name")) {
-+                if (has_common_name)
-+                    continue;
-+                for (j = 0; j < G_N_ELEMENTS (entries); j++) {
-+                    if (entries[j].value == NULL)
-+                        continue;
-+                    g_hash_table_replace (__languages_dict,
-+                                          g_strdup (entries[j].value),
-+                                          g_strdup (attributes[i + 1]));
-                 }
-             } else {
-                 for (j = 0; j < G_N_ELEMENTS (entries); j++) {
--- 
-2.21.0
-
-From af00f4156b5c79c526eab18c49da80affd41ebee Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 12 Jul 2019 21:12:38 +0900
-Subject: [PATCH 22/27] src/tests: Install IBus tests into
- gnome-desktop-testing
-
----
- configure.ac                      | 13 +++++++++++
- src/tests/Makefile.am             | 39 ++++++++++++++++++++++++++++++-
- src/tests/ibus-compose-locales.in | 23 ++++++++++++++++++
- src/tests/ibus-compose.c          | 10 ++++++--
- src/tests/meta.test.in            |  4 ++++
- src/tests/runtest                 |  4 ++--
- 6 files changed, 88 insertions(+), 5 deletions(-)
- create mode 100755 src/tests/ibus-compose-locales.in
- create mode 100644 src/tests/meta.test.in
-
-diff --git a/configure.ac b/configure.ac
-index b5a87b56..f1df3ac1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -595,6 +595,18 @@ PKG_CHECK_MODULES(XTEST,
- )
- AM_CONDITIONAL([ENABLE_XTEST], [test x"$enable_xtest" = x"yes"])
- 
-+# --enable-install-tests
-+AC_ARG_ENABLE(install-tests,
-+    AS_HELP_STRING([--enable-install-tests],
-+                   [Enable to install tests]),
-+    [enable_install_tests=$enableval],
-+    [enable_install_tests=no]
-+)
-+AM_CONDITIONAL([ENABLE_INSTALL_TESTS], [test x"$enable_install_tests" = x"yes"])
-+if test x"$enable_install_tests" = x"no"; then
-+    enable_install_tests="no (disabled, use --enable-install-tests to enable)"
-+fi
-+
- 
- # --disable-emoji-dict option.
- AC_ARG_ENABLE(emoji-dict,
-@@ -773,5 +785,6 @@ Build options:
-   Enable Unicode dict           $enable_unicode_dict
-   UCD directory                 $UCD_DIR
-   Run test cases                $enable_tests
-+  Install tests                 $enable_install_tests
- ])
- 
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index a58504a3..ff31111b 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -78,7 +78,44 @@ TESTS_ENVIRONMENT = \
- 
- LOG_COMPILER = $(srcdir)/runtest
- 
--EXTRA_DIST = runtest ibus-compose.emoji ibus-compose.env
-+if ENABLE_INSTALL_TESTS
-+test_metas_in = meta.test.in
-+test_execs = $(TESTS:ibus-compose=ibus-compose-locales)
-+test_metas = $(addsuffix .test, $(test_execs))
-+test_sources_DATA = \
-+    $(test_metas) \
-+    ibus-compose.emoji \
-+    ibus-compose.env \
-+    $(NULL)
-+test_sourcesdir = $(datadir)/installed-tests/ibus
-+
-+test_execs_PROGRAMS = $(TESTS)
-+if ENABLE_GTK3
-+test_execs_SCRIPTS = ibus-compose-locales
-+endif
-+test_execsdir = $(libexecdir)/installed-tests/ibus
-+endif
-+
-+$(test_metas): $(test_metas_in) $(test_programs)
-+	f=`echo $@ | sed -e 's/\.test//'`; \
-+	TEST_EXEC=$(test_execsdir)/$$f; \
-+	sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \
-+	mv $@.tmp $@; \
-+	$(NULL)
-+
-+ibus-compose-locales: ibus-compose-locales.in
-+	SRCDIR=$(test_sourcesdir); \
-+	sed -e "s|@SRCDIR[@]|$$SRCDIR|g" $< > $@.tmp; \
-+	mv $@.tmp $@; \
-+	$(NULL)
-+
-+EXTRA_DIST = \
-+    $(test_metas_in) \
-+    runtest \
-+    ibus-compose.emoji \
-+    ibus-compose.env \
-+    ibus-compose-locales.in \
-+    $(NULL)
- 
- ibus_bus_SOURCES = ibus-bus.c
- ibus_bus_LDADD = $(prog_ldadd)
-diff --git a/src/tests/ibus-compose-locales.in b/src/tests/ibus-compose-locales.in
-new file mode 100755
-index 00000000..8d2384d1
---- /dev/null
-+++ b/src/tests/ibus-compose-locales.in
-@@ -0,0 +1,23 @@
-+#!/bin/sh
-+
-+SRCDIR=@SRCDIR@
-+BUILDDIR=`dirname $0`
-+
-+
-+export IBUS_COMPOSE_CACHE_DIR=$PWD
-+
-+for var in `cat $SRCDIR/ibus-compose.env`
-+do
-+    IS_COMMENT=`echo "$var" | grep "^#"`
-+    if [ "x$IS_COMMENT" != x ] ; then
-+        continue
-+    fi
-+    env $var $BUILDDIR/ibus-compose $SRCDIR $@
-+
-+    CACHE_FILES=`ls *.cache`
-+    if [ x"$CACHE_FILES" != x ] ; then
-+        echo "Clean $CACHE_FILES"
-+        rm $CACHE_FILES
-+    fi
-+done
-+
-diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
-index 09c687c2..c8d3c126 100644
---- a/src/tests/ibus-compose.c
-+++ b/src/tests/ibus-compose.c
-@@ -264,8 +264,6 @@ window_inserted_text_cb (GtkEntryBuffer *buffer,
-         guint index = priv->data_first[i + 1];
-         guint j = 0;
-         gboolean valid_output = TRUE;
--        if (seq == 2)
--            g_print ("test\n");
-         for (j = 0; j < num; j++) {
-             if (priv->data_second[index + j] != code) {
-                 valid_output = FALSE;
-@@ -351,6 +349,14 @@ main (int argc, char *argv[])
- 
-     ibus_init ();
-     g_test_init (&argc, &argv, NULL);
-+    /* FIXME:
-+     * IBusIMContext opens GtkIMContextSimple as the slave and
-+     * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
-+     * multiple outputs in el_GR's compose causes a warning in gtkcomposetable 
-+     * and the warning always causes a fatal in GTest:
-+     " "GTK+ supports to output one char only: "
-+     */
-+    g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-     gtk_init (&argc, &argv);
- 
-     m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
-diff --git a/src/tests/meta.test.in b/src/tests/meta.test.in
-new file mode 100644
-index 00000000..ae2b2991
---- /dev/null
-+++ b/src/tests/meta.test.in
-@@ -0,0 +1,4 @@
-+[Test]
-+Type=session
-+Exec=@TEST_EXEC@ --tap
-+Output=TAP
-diff --git a/src/tests/runtest b/src/tests/runtest
-index 35ccc5a0..1fcc9283 100755
---- a/src/tests/runtest
-+++ b/src/tests/runtest
-@@ -200,7 +200,7 @@ if test -f $envfile ; then
-     ENVS="`cat $envfile`"
- fi;
- if test x"$ENVS" = x ; then
--    run_test_case
-+    run_test_case $@
- else
-     LANG_backup=$LANG
-     i=1
-@@ -212,7 +212,7 @@ else
-         export $e
-         echo "Run `func_basename $tst` on $e"
-         echo "======================="
--        run_test_case
-+        run_test_case $@
-         echo ""
-         i=`expr $i + 1`
-     done
--- 
-2.21.0
-
-From 2a4f9518d42b618d8111fa5f9f885757524758a0 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 12 Jul 2019 21:12:40 +0900
-Subject: [PATCH 23/27] src/tests: Rename test-console.sh to
- ibus-desktop-testing-runner
-
----
- src/tests/Makefile.am                                    | 9 +++++++++
- .../tests/ibus-desktop-testing-runner.in                 | 0
- 2 files changed, 9 insertions(+)
- create mode 100755 .../tests/ibus-desktop-testing-runner.in
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index ff31111b..b9aad29a 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -79,6 +79,7 @@ TESTS_ENVIRONMENT = \
- LOG_COMPILER = $(srcdir)/runtest
- 
- if ENABLE_INSTALL_TESTS
-+bin_SCRIPTS = ibus-desktop-testing-runner
- test_metas_in = meta.test.in
- test_execs = $(TESTS:ibus-compose=ibus-compose-locales)
- test_metas = $(addsuffix .test, $(test_execs))
-@@ -109,12 +110,20 @@ ibus-compose-locales: ibus-compose-locales.in
- 	mv $@.tmp $@; \
- 	$(NULL)
- 
-+    ibus-desktop-testing-runner.in \
-+ibus-desktop-testing-runner: ibus-desktop-testing-runner.in
-+	SRCDIR=$(test_sourcesdir); \
-+	sed -e "s|@SRCDIR[@]|$$SRCDIR|g" $< > $@.tmp; \
-+	mv $@.tmp $@; \
-+	$(NULL)
-+
- EXTRA_DIST = \
-     $(test_metas_in) \
-     runtest \
-     ibus-compose.emoji \
-     ibus-compose.env \
-     ibus-compose-locales.in \
-+    ibus-desktop-testing-runner.in \
-     $(NULL)
- 
- ibus_bus_SOURCES = ibus-bus.c
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-new file mode 100755
-index 00000000..07c8a96d
---- /dev/null
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -0,0 +1,255 @@
-+#!/bin/sh
-+# -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*-
-+# vim:set noet ts=4:
-+#
-+# ibus-anthy - The Anthy engine for IBus
-+#
-+# Copyright (c) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2018 Red Hat, Inc.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License along
-+# with this program; if not, write to the Free Software Foundation, Inc.,
-+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+
-+# This test runs /usr/bin/ibus-daemon after install ibus
-+#
-+# # init 3
-+# Login as root
-+# # /root/ibus/tests/test-console.sh --tests ibus-compose \
-+#   --builddir /root/ibus/src/tests --srcdir /root/ibus/src/tests
-+
-+PROGNAME=`basename $0`
-+VERSION=0.1
-+DISPLAY=:99.0
-+BUILDDIR="."
-+SRCDIR="."
-+TEST_LOG=test-suite.log
-+HAVE_GRAPHICS=1
-+DESKTOP_COMMAND="gnome-session"
-+PID_XORG=0
-+PID_GNOME_SESSION=0
-+TESTS=""
-+GREEN='\033[0;32m'
-+RED='\033[0;31m'
-+NC='\033[0m'
-+
-+usage()
-+{
-+    echo -e \
-+"This test runs /usr/bin/ibus-daemon after install ibus\n"                     \
-+"$PROGNAME [OPTIONS…]\n"                                                       \
-+"\n"                                                                           \
-+"OPTIONS:\n"                                                                   \
-+"-h, --help                       This help\n"                                 \
-+"-v, --version                    Show version\n"                              \
-+"-b, --builddir=BUILDDIR          Set the BUILDDIR\n"                          \
-+"-s, --srcdir=SOURCEDIR           Set the SOURCEDIR\n"                         \
-+"-c, --no-graphics                Use Xvfb instead of Xorg\n"                  \
-+"-d, --desktop=DESKTOP            Run DESTKTOP. The default is gnome-session\n" \
-+"-t, --tests=\"TESTS...\"           Run TESTS programs which is separated by space\n" \
-+""
-+}
-+
-+parse_args()
-+{
-+    # This is GNU getopt. "sudo port getopt" in BSD?
-+    ARGS=`getopt -o hvb:s:cd:t: --long help,version,builddir:,srcdir:,no-graphics,desktop:,tests:\
-+        -- "$@"`;
-+    eval set -- "$ARGS"
-+    while [ 1 ] ; do
-+        case "$1" in
-+        -h | --help )        usage; exit 0;;
-+        -v | --version )     echo -e "$VERSION"; exit 0;;
-+        -b | --builddir )    BUILDDIR="$2"; shift 2;;
-+        -s | --srcdir )      SRCDIR="$2"; shift 2;;
-+        -c | --no-graphics ) HAVE_GRAPHICS=0; shift;;
-+        -d | --desktop )     DESKTOP_COMMAND="$2"; shift 2;;
-+        -t | --tests )       TESTS="$2"; shift 2;;
-+        -- )                 shift; break;;
-+        * )                  usage; exit 1;;
-+        esac
-+    done
-+}
-+
-+init_desktop()
-+{
-+    if test x$FORCE_TEST != x ; then
-+        RUN_ARGS="$RUN_ARGS --force"
-+    fi
-+
-+    if test ! -f $HOME/.config/gnome-initial-setup-done ; then
-+        if test ! -f /var/lib/AccountsService/users/$USER ; then
-+            mkdir -p /var/lib/AccountsService/users
-+            cat >> /var/lib/AccountsService/users/$USER << _EOF
-+[User]
-+Language=ja_JP.UTF-8
-+XSession=gnome
-+SystemAccount=false
-+_EOF
-+        fi
-+        mkdir -p $HOME/.config
-+        touch $HOME/.config/gnome-initial-setup-done
-+    fi
-+
-+    # Prevent from launching a XDG dialog
-+    XDG_LOCALE_FILE="$HOME/.config/user-dirs.locale"
-+    if test -f $XDG_LOCALE_FILE ; then
-+        XDG_LANG_ORIG=`cat $XDG_LOCALE_FILE`
-+        XDG_LANG_NEW=`echo $LANG | sed -e 's/\(.*\)\..*/\1/'`
-+        if [ "$XDG_LANG_ORIG" != "$XDG_LANG_NEW" ] ; then
-+            echo "Overriding XDG locale $XDG_LANG_ORIG with $XDG_LANG_NEW"
-+            echo "$XDG_LANG_NEW" > $XDG_LOCALE_FILE
-+        fi
-+    fi
-+}
-+
-+run_dbus_daemon()
-+{
-+    a=`ps -ef | grep dbus-daemon | grep "\-\-system" | grep -v session | grep -v grep`
-+    if test x"$a" = x ; then
-+        eval `dbus-launch --sh-syntax`
-+    fi
-+    SUSER=`echo "$USER" | cut -c 1-7`
-+    a=`ps -ef | grep dbus-daemon | grep "$SUSER" | grep -v gdm | grep session | grep -v grep`
-+    if test x"$a" = x ; then
-+        systemctl --user start dbus
-+        export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
-+    fi
-+    systemctl --user status dbus | col -b
-+    ps -ef | grep dbus-daemon | grep "$SUSER" | grep -v gdm | egrep 'session|system' | grep -v grep
-+    systemctl --user show-environment | col -b
-+}
-+
-+run_desktop()
-+{
-+    if test $HAVE_GRAPHICS -eq 1 ; then
-+        /usr/libexec/Xorg.wrap -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . $DISPLAY &
-+    else
-+        /usr/bin/Xvfb $DISPLAY -noreset +extension GLX +extension RANDR +extension RENDER -screen 0 1280x1024x24 &
-+    fi
-+    PID_XORG=$!
-+    sleep 1
-+    export DISPLAY=$DISPLAY
-+    $DESKTOP_COMMAND &
-+    PID_GNOME_SESSION=$!
-+    sleep 30
-+    if test "$DESKTOP_COMMAND" != "gnome-session" ; then
-+        ibus-daemon --daemonize --verbose
-+        sleep 1
-+    fi
-+}
-+
-+count_case_result()
-+{
-+    retval=$1
-+    pass=$2
-+    fail=$3
-+
-+    if test $retval -eq  0 ; then
-+        pass=`expr $pass + 1`
-+    else
-+        fail=`expr $fail + 1`
-+    fi
-+    echo $pass $fail
-+}
-+
-+echo_case_result()
-+{
-+    retval=$1
-+    tst=$2
-+    log=$3
-+    subtst=${4:-''}
-+
-+    if test $retval -eq  0 ; then
-+        echo -e "${GREEN}PASS${NC}: $tst $subtst"
-+    else
-+        echo -e "${RED}FAIL${NC}: $tst $subtst"
-+        echo "FAIL: $tst $subtst" >> $TEST_LOG
-+        echo "======================" >> $TEST_LOG
-+        echo "" >> $TEST_LOG
-+        cat "$log" >> $TEST_LOG
-+        echo "" >> $TEST_LOG
-+    fi
-+}
-+
-+run_test_suite()
-+{
-+    cd `dirname $0`
-+    pass=0
-+    fail=0
-+
-+    export GTK_IM_MODULE=ibus
-+    export IBUS_COMPOSE_CACHE_DIR=$PWD
-+    if test -f $TEST_LOG ; then
-+        rm $TEST_LOG
-+    fi
-+    for tst in $TESTS; do
-+        ENVS=
-+        if test -f $SRCDIR/${tst}.env ; then
-+            ENVS="`cat $SRCDIR/${tst}.env`"
-+        fi
-+        if test x"$ENVS" = x ; then
-+            $BUILDDIR/$tst $SRCDIR >&${tst}.log
-+            retval=$?
-+            read pass fail << EOF
-+            `count_case_result $retval $pass $fail`
-+EOF
-+            echo_case_result $retval $tst ${tst}.log
-+        else
-+            LANG_backup=$LANG
-+            i=1
-+            for e in $ENVS; do
-+                first=`echo "$e" | cut -c1-1`
-+                if test x"$first" = x"#" ; then
-+                    continue
-+                fi
-+                export $e
-+                $BUILDDIR/$tst $SRCDIR >&${tst}.${i}.log
-+                retval=$?
-+                read pass fail << EOF
-+                `count_case_result $retval $pass $fail`
-+EOF
-+                echo_case_result $retval $tst ${tst}.${i}.log $e
-+                i=`expr $i + 1`
-+            done
-+            export LANG=$LANG_backup
-+        fi
-+    done
-+    echo ""
-+    echo -e "# ${GREEN}PASS${NC}: $pass"
-+    echo -e "# ${RED}FAIL${NC}: $fail"
-+    if test -f ${TEST_LOG} ; then
-+        echo ""
-+        echo -e "${RED}See ${TEST_LOG}$NC"
-+    fi
-+}
-+
-+finit()
-+{
-+    if test "$DESKTOP_COMMAND" != "gnome-session" ; then
-+        ibus exit
-+    fi
-+    kill $PID_GNOME_SESSION $PID_XORG
-+}
-+
-+main()
-+{
-+    parse_args $@
-+    init_desktop
-+    run_dbus_daemon
-+    run_desktop
-+    run_test_suite
-+    finit
-+}
-+
-+main $@
--- 
-2.21.0
-
-From fa081ac8ea37d2feb7c7f395ad66e7381b4cb65b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 12 Jul 2019 21:20:32 +0900
-Subject: [PATCH 24/27] src/tests: Use gnome-desktop-testing-runner
-
----
- src/tests/Makefile.am                    |   4 +-
- src/tests/ibus-desktop-testing-runner.in | 154 ++++++++++++++++++-----
- 2 files changed, 123 insertions(+), 35 deletions(-)
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index b9aad29a..913e42fb 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -105,8 +105,8 @@ $(test_metas): $(test_metas_in) $(test_programs)
- 	$(NULL)
- 
- ibus-compose-locales: ibus-compose-locales.in
--	SRCDIR=$(test_sourcesdir); \
--	sed -e "s|@SRCDIR[@]|$$SRCDIR|g" $< > $@.tmp; \
-+	INSTALLEDDIR=$(datadir)/installed-tests; \
-+	sed -e "s|@INSTALLEDDIR[@]|$$INSTALLEDDIR|g" $< > $@.tmp; \
- 	mv $@.tmp $@; \
- 	$(NULL)
- 
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-index 9e689634..a90c1378 100755
---- a/src/tests/ibus-desktop-testing-runner.in
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -2,7 +2,7 @@
- # -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*-
- # vim:set noet ts=4:
- #
--# ibus-anthy - The Anthy engine for IBus
-+# ibus - The Input Bus
- #
- # Copyright (c) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2018 Red Hat, Inc.
-@@ -33,16 +33,32 @@ VERSION=0.1
- DISPLAY=:99.0
- BUILDDIR="."
- SRCDIR="."
--TEST_LOG=test-suite.log
-+TEST_LOG="test-suite.log"
-+RESULT_LOG=""
- HAVE_GRAPHICS=1
- DESKTOP_COMMAND="gnome-session"
- PID_XORG=0
- PID_GNOME_SESSION=0
-+TESTING_RUNNER="default"
- TESTS=""
- GREEN='\033[0;32m'
- RED='\033[0;31m'
- NC='\033[0m'
- 
-+print_log()
-+{
-+    if [ x"$RESULT_LOG" != x ] ; then
-+        # avoid 'echo -e' before call 'sed'.
-+        if [ x"$1" = x'-e' ] ; then
-+            shift
-+        fi
-+        NO_ESCAPE=`echo $@ | sed -e 's/\\\033\\[0;3.m//g' -e 's/\\\033\\[0m//g'`
-+        echo $NO_ESCAPE >> $RESULT_LOG
-+    else
-+        echo $@
-+    fi
-+}
-+
- usage()
- {
-     echo -e \
-@@ -57,13 +73,19 @@ usage()
- "-c, --no-graphics                Use Xvfb instead of Xorg\n"                  \
- "-d, --desktop=DESKTOP            Run DESTKTOP. The default is gnome-session\n" \
- "-t, --tests=\"TESTS...\"           Run TESTS programs which is separated by space\n" \
-+"-r, --runner=RUNNER              Run TESTS programs with a test RUNNER.\n"    \
-+"                                 RUNNDER = gnome or default.\n"               \
-+"                                 default is an embedded runner.\n"            \
-+"-o, --output=OUTPUT_FILE         OUtput the log to OUTPUT_FILE\n"             \
-+"-O, --result=RESULT_FILE         OUtput the result to RESULT_FILE\n"          \
- ""
- }
- 
- parse_args()
- {
-     # This is GNU getopt. "sudo port getopt" in BSD?
--    ARGS=`getopt -o hvb:s:cd:t: --long help,version,builddir:,srcdir:,no-graphics,desktop:,tests:\
-+    ARGS=`getopt -o hvb:s:cd:t:r:o:O: --long \
-+          help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,output:,result:\
-         -- "$@"`;
-     eval set -- "$ARGS"
-     while [ 1 ] ; do
-@@ -75,6 +97,9 @@ parse_args()
-         -c | --no-graphics ) HAVE_GRAPHICS=0; shift;;
-         -d | --desktop )     DESKTOP_COMMAND="$2"; shift 2;;
-         -t | --tests )       TESTS="$2"; shift 2;;
-+        -r | --runner )      TESTING_RUNNER="$2"; shift 2;;
-+        -o | --output )      TEST_LOG="$2"; shift 2;;
-+        -O | --result )      RESULT_LOG="$2"; shift 2;;
-         -- )                 shift; break;;
-         * )                  usage; exit 1;;
-         esac
-@@ -83,18 +108,31 @@ parse_args()
- 
- init_desktop()
- {
-+    if [ "$RESULT_LOG" != "" ] ; then
-+        rm $RESULT_LOG
-+    fi
-+    if [ "$TEST_LOG" = "" ] ; then
-+        print_log -e "${RED}FAIL${NC}: ${RED}ERROR${NC}: a log file is required to get return value with 'read' command"
-+        abrt
-+    else
-+        rm $TEST_LOG
-+    fi
-     if test x$FORCE_TEST != x ; then
-         RUN_ARGS="$RUN_ARGS --force"
-     fi
- 
-     if test ! -f $HOME/.config/gnome-initial-setup-done ; then
-+        IS_SYSTEM_ACCOUNT=false
-+        if [ "$USER" = "root" ] ; then
-+            IS_SYSTEM_ACCOUNT=true
-+        fi
-         if test ! -f /var/lib/AccountsService/users/$USER ; then
-             mkdir -p /var/lib/AccountsService/users
-             cat >> /var/lib/AccountsService/users/$USER << _EOF
- [User]
- Language=ja_JP.UTF-8
- XSession=gnome
--SystemAccount=false
-+SystemAccount=$IS_SYSTEM_ACCOUNT
- _EOF
-         fi
-         mkdir -p $HOME/.config
-@@ -167,71 +205,120 @@ echo_case_result()
- {
-     retval=$1
-     tst=$2
--    log=$3
--    subtst=${4:-''}
-+    subtst=${3:-''}
- 
-     if test $retval -eq  0 ; then
--        echo -e "${GREEN}PASS${NC}: $tst $subtst"
-+        print_log -e "${GREEN}PASS${NC}: $tst $subtst"
-     else
--        echo -e "${RED}FAIL${NC}: $tst $subtst"
--        echo "FAIL: $tst $subtst" >> $TEST_LOG
--        echo "======================" >> $TEST_LOG
--        echo "" >> $TEST_LOG
--        cat "$log" >> $TEST_LOG
--        echo "" >> $TEST_LOG
-+        print_log -e "${RED}FAIL${NC}: $tst $subtst"
-+        print_log "======================"
-+        print_log ""
-     fi
- }
- 
--run_test_suite()
-+run_direct_test_cases()
- {
--    cd `dirname $0`
-     pass=0
-     fail=0
--
--    export GTK_IM_MODULE=ibus
--    export IBUS_COMPOSE_CACHE_DIR=$PWD
--    if test -f $TEST_LOG ; then
--        rm $TEST_LOG
--    fi
-     for tst in $TESTS; do
-         ENVS=
-         if test -f $SRCDIR/${tst}.env ; then
-             ENVS="`cat $SRCDIR/${tst}.env`"
-         fi
-         if test x"$ENVS" = x ; then
--            $BUILDDIR/$tst $SRCDIR >&${tst}.log
-+            $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
-             retval=$?
-             read pass fail << EOF
-             `count_case_result $retval $pass $fail`
- EOF
--            echo_case_result $retval $tst ${tst}.log
-+            echo_case_result $retval $tst
-+            CACHE_FILES=`ls *.cache`
-+            if [ x"$CACHE_FILES" != x ] ; then
-+                print_log "Clean $CACHE_FILES"
-+                rm $CACHE_FILES
-+            fi
-         else
-             LANG_backup=$LANG
-             i=1
-             for e in $ENVS; do
--                first=`echo "$e" | cut -c1-1`
-+                first=`echo "$e" | grep '^#'`
-                 if test x"$first" = x"#" ; then
-                     continue
-                 fi
-                 export $e
--                $BUILDDIR/$tst $SRCDIR >&${tst}.${i}.log
-+                $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
-                 retval=$?
-                 read pass fail << EOF
-                 `count_case_result $retval $pass $fail`
- EOF
--                echo_case_result $retval $tst ${tst}.${i}.log $e
-+                echo_case_result $retval $tst $e
-+                CACHE_FILES=`ls *.cache`
-+                if [ x"$CACHE_FILES" != x ] ; then
-+                    print_log "Clean $CACHE_FILES"
-+                    rm $CACHE_FILES
-+                fi
-                 i=`expr $i + 1`
-             done
-             export LANG=$LANG_backup
-         fi
-     done
-+    echo $pass $fail
-+}
-+
-+run_gnome_desktop_testing_runner()
-+{
-+    pass=0
-+    fail=0
-+    if [ x"$TESTS" = x ] ; then
-+        TESTS='ibus'
-+    fi
-+    for tst in $TESTS; do
-+        tst_dir="@INSTALLEDDIR@/$tst"
-+        if [ ! -d "$tst_dir" ] ; then
-+            print_log -e "${RED}FAIL${NC}: Not found %tst_dir"
-+            fail=1
-+            continue
-+        fi
-+        gnome-desktop-testing-runner $tst 2>>$TEST_LOG 1>>$TEST_LOG
-+        retval=$?
-+        read pass fail << EOF
-+        `count_case_result $retval $pass $fail`
-+EOF
-+    done
-+    echo $pass $fail
-+}
-+
-+run_test_suite()
-+{
-+    pass=0
-+    fail=0
-+    export GTK_IM_MODULE=ibus
-+    export IBUS_COMPOSE_CACHE_DIR=$PWD
-+    if [ x"$TESTING_RUNNER" = x ] ; then
-+        TESTING_RUNNER="default"
-+    fi
-+    case $TESTING_RUNNER in
-+    default)
-+        # Get only the last value with do-while.
-+        read pass fail << EOF_RUNNER
-+        `run_direct_test_cases`
-+EOF_RUNNER
-+        ;;
-+    gnome)
-+        read pass fail << EOF_RUNNER
-+        `run_gnome_desktop_testing_runner`
-+EOF_RUNNER
-+        ;;
-+    esac
-     echo ""
--    echo -e "# ${GREEN}PASS${NC}: $pass"
--    echo -e "# ${RED}FAIL${NC}: $fail"
--    if test -f ${TEST_LOG} ; then
--        echo ""
--        echo -e "${RED}See ${TEST_LOG}$NC"
-+    if [ $pass -ne 0 ] ; then
-+        print_log -e "${GREEN}PASS${NC}: $pass"
-     fi
-+    if [ $fail -ne 0 ] ; then
-+        print_log -e "${RED}FAIL${NC}: $fail"
-+    fi
-+    echo ""
-+    echo "See ${TEST_LOG}"
- }
- 
- finit()
-@@ -240,14 +327,15 @@ finit()
-         ibus exit
-     fi
-     kill $PID_GNOME_SESSION $PID_XORG
-+    echo "Finished $PROGNAME testing"
- }
- 
- main()
- {
-     parse_args $@
-     init_desktop
--    run_dbus_daemon
--    run_desktop
-+    run_dbus_daemon 2>>$TEST_LOG 1>>$TEST_LOG
-+    run_desktop 2>>$TEST_LOG 1>>$TEST_LOG
-     run_test_suite
-     finit
- }
--- 
-2.21.0
-
-From 85b647a1c57c206779eb0b4b15a734c1b1f29c10 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 24 Jul 2019 17:27:37 +0900
-Subject: [PATCH 25/27] src/tests: Fix IBus test cases for
- gnome-desktop-testing
-
-- dconf/config.c: Replaced dconf_client_write_fast() with
-  dconf_client_write_sync() because
-  dconf_client_write_fast() does not syn the data when
-  ibus_config_get_values() is called immediately after
-  ibus_config_set_value() is called.
-
-- ibus-compose-locales.in returns the return value of ibus-compose
-
-- ibus-compose: Set $NO_AT_BRIDGE to suppress a AT_SPI warning
-  and call g_log_set_always_fatal() because GtkIMContextSimple
-  does not support multiple compose outputs yet and the API can
-  suppress a warning.
-
-- ibus-config: Delete async watch testings which causes several errors
-  with gnome-shell testing and the testing is now deprecated and
-  GSettings is recommended.
-
-- ibus-desktop-testing-runner.in: Support --output=log:stdout to
-  cat the log to stdout and Use dbus-launch --exit-with-session instead of
-  --sh-syntax and count PASS of test cases instead of PASS of
-  gnome-desktop-testing and always run ibus exit and kill
-  gnome-shell-calendar-server
-
-- ibus-engine-switch.c: Set xkb:jp::jpn if gnome-shell sets xkb:us::eng
-
-- ibus-inputcontext.c: Use ibus_bus_get_global_engine() instead of
-  ibus_bus_list_active_engines() since ibus_bus_list_active_engines()
-  does not work with gnome-shell and the API is now deprecated.
-
-- ibus-keypress.c: Set $NO_AT_BRIDGE to suppress a AT_SPI warning
----
- conf/dconf/config.c                      |  14 +-
- src/tests/Makefile.am                    |  19 +-
- src/tests/ibus-compose-locales.in        |   4 +-
- src/tests/ibus-compose.c                 |  10 +-
- src/tests/ibus-config.c                  | 283 -----------------------
- src/tests/ibus-desktop-testing-runner.in |  77 +++---
- src/tests/ibus-engine-switch.c           |  34 ++-
- src/tests/ibus-inputcontext.c            |  29 +--
- src/tests/ibus-keypress.c                |   4 +
- 9 files changed, 126 insertions(+), 348 deletions(-)
-
-diff --git a/conf/dconf/config.c b/conf/dconf/config.c
-index 500ea1d8..30ac137d 100644
---- a/conf/dconf/config.c
-+++ b/conf/dconf/config.c
-@@ -335,7 +335,19 @@ ibus_config_dconf_set_value (IBusConfigService *config,
-     }
- 
- #ifdef DCONF_0_13_4
--    retval = dconf_client_write_fast (client, gkey, value, error);
-+    /* Use dconf_client_write_sync() instead of dconf_client_write_fast()
-+     * because dconf_client_write_fast() does not sync the data when
-+     * ibus_config_get_values() is called immediately after
-+     * ibus_config_set_value() is called.
-+     * We won't add a new API for the sync only since IBusConfig is
-+     * now deprecated and GSettings is recommended.
-+     */
-+    retval = dconf_client_write_sync (client,
-+                                      gkey,
-+                                      value,
-+                                      NULL,
-+                                      NULL,
-+                                      error);
- #else
-     retval = dconf_client_write (client,
-                                  gkey,
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index 913e42fb..2e75932c 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -55,6 +55,8 @@ TESTS = \
-     ibus-util                       \
-     $(NULL)
- 
-+CLEANFILES =
-+
- if ENABLE_ENGINE
- TESTS += ibus-engine-switch
- endif
-@@ -90,9 +92,17 @@ test_sources_DATA = \
-     $(NULL)
- test_sourcesdir = $(datadir)/installed-tests/ibus
- 
-+CLEANFILES += \
-+    $(test_metas) \
-+    ibus-desktop-testing-runner \
-+    $(NULL)
-+
- test_execs_PROGRAMS = $(TESTS)
- if ENABLE_GTK3
- test_execs_SCRIPTS = ibus-compose-locales
-+CLEANFILES += \
-+    ibus-compose-locales \
-+    $(NULL)
- endif
- test_execsdir = $(libexecdir)/installed-tests/ibus
- endif
-@@ -105,15 +115,14 @@ $(test_metas): $(test_metas_in) $(test_programs)
- 	$(NULL)
- 
- ibus-compose-locales: ibus-compose-locales.in
--	INSTALLEDDIR=$(datadir)/installed-tests; \
--	sed -e "s|@INSTALLEDDIR[@]|$$INSTALLEDDIR|g" $< > $@.tmp; \
-+	SRCDIR=$(test_sourcesdir); \
-+	sed -e "s|@SRCDIR[@]|$$SRCDIR|g" $< > $@.tmp; \
- 	mv $@.tmp $@; \
- 	$(NULL)
- 
--    ibus-desktop-testing-runner.in \
- ibus-desktop-testing-runner: ibus-desktop-testing-runner.in
--	SRCDIR=$(test_sourcesdir); \
--	sed -e "s|@SRCDIR[@]|$$SRCDIR|g" $< > $@.tmp; \
-+	INSTALLEDDIR=$(datadir)/installed-tests; \
-+	sed -e "s|@INSTALLEDDIR[@]|$$INSTALLEDDIR|g" $< > $@.tmp; \
- 	mv $@.tmp $@; \
- 	$(NULL)
- 
-diff --git a/src/tests/ibus-compose-locales.in b/src/tests/ibus-compose-locales.in
-index 8d2384d1..fad02965 100755
---- a/src/tests/ibus-compose-locales.in
-+++ b/src/tests/ibus-compose-locales.in
-@@ -6,6 +6,7 @@ BUILDDIR=`dirname $0`
- 
- export IBUS_COMPOSE_CACHE_DIR=$PWD
- 
-+retval=0
- for var in `cat $SRCDIR/ibus-compose.env`
- do
-     IS_COMMENT=`echo "$var" | grep "^#"`
-@@ -13,6 +14,7 @@ do
-         continue
-     fi
-     env $var $BUILDDIR/ibus-compose $SRCDIR $@
-+    retval=`expr $retval + $?`
- 
-     CACHE_FILES=`ls *.cache`
-     if [ x"$CACHE_FILES" != x ] ; then
-@@ -20,4 +22,4 @@ do
-         rm $CACHE_FILES
-     fi
- done
--
-+exit $retval
-diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
-index c8d3c126..db359477 100644
---- a/src/tests/ibus-compose.c
-+++ b/src/tests/ibus-compose.c
-@@ -344,20 +344,26 @@ test_compose (void)
- int
- main (int argc, char *argv[])
- {
-+    GLogLevelFlags flags;
-     const gchar *test_name;
-     gchar *test_path;
- 
-     ibus_init ();
-+    /* Avoid a warning of "AT-SPI: Could not obtain desktop path or name"
-+     * with gtk_main().
-+     */
-+    g_setenv ("NO_AT_BRIDGE", "1", TRUE);
-     g_test_init (&argc, &argv, NULL);
-     /* FIXME:
-      * IBusIMContext opens GtkIMContextSimple as the slave and
-      * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
--     * multiple outputs in el_GR's compose causes a warning in gtkcomposetable 
-+     * multiple outputs in el_GR's compose causes a warning in gtkcomposetable
-      * and the warning always causes a fatal in GTest:
-      " "GTK+ supports to output one char only: "
-      */
--    g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-+    flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-     gtk_init (&argc, &argv);
-+    g_log_set_always_fatal (flags);
- 
-     m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
-     m_compose_file = g_strdup (g_getenv ("COMPOSE_FILE"));
-diff --git a/src/tests/ibus-config.c b/src/tests/ibus-config.c
-index c6141ab5..9b925ad9 100644
---- a/src/tests/ibus-config.c
-+++ b/src/tests/ibus-config.c
-@@ -133,254 +133,6 @@ test_config_set_get (void)
-     g_object_unref (config);
- }
- 
--typedef struct {
--    GMainLoop *loop;
--    guint timeout_id;
--    gchar *section;
--    gchar *name;
--} WatchData;
--
--typedef struct {
--    gchar *section;
--    gchar *name;
--} WatchKey;
--
--typedef struct {
--    WatchKey *watched;          /* watched keys (null-terminated) */
--    WatchKey *changed;          /* changed keys (null-terminated) */
--    WatchKey *notified;         /* notified keys (same length as
--                                   changed, not null-terminated) */
--} WatchTestData;
--
--static WatchKey default_watched[] = {
--    { NULL }
--};
--static WatchKey default_changed[] = {
--    { "test/s1", "n1" },
--    { "test/s1", "n2" },
--    { "test/s2", "n1" },
--    { "test/s2", "n2" },
--    { NULL }
--};
--static WatchKey default_notified[] = {
--    { "test/s1", "n1" },
--    { "test/s1", "n2" },
--    { "test/s2", "n1" },
--    { "test/s2", "n2" }
--};
--static WatchTestData default_data = {
--    default_watched,
--    default_changed,
--    default_notified
--};
--
--static WatchKey section_watched[] = {
--    { "test/s1", NULL },
--    { NULL }
--};
--static WatchKey section_notified[] = {
--    { "test/s1", "n1" },
--    { "test/s1", "n2" },
--    { NULL, NULL },
--    { NULL, NULL },
--};
--static WatchTestData section_data = {
--    section_watched,
--    default_changed,
--    section_notified
--};
--
--static WatchKey section_multiple_watched[] = {
--    { "test/s1", NULL },
--    { "test/s2", NULL },
--    { NULL }
--};
--static WatchKey section_multiple_notified[] = {
--    { "test/s1", "n1" },
--    { "test/s1", "n2" },
--    { "test/s2", "n1" },
--    { "test/s2", "n2" },
--};
--static WatchTestData section_multiple_data = {
--    section_multiple_watched,
--    default_changed,
--    section_multiple_notified
--};
--
--static WatchKey section_name_watched[] = {
--    { "test/s1", "n1" },
--    { NULL }
--};
--static WatchKey section_name_notified[] = {
--    { "test/s1", "n1" },
--    { NULL, NULL },
--    { NULL, NULL },
--    { NULL, NULL },
--};
--static WatchTestData section_name_data = {
--    section_name_watched,
--    default_changed,
--    section_name_notified
--};
--
--static WatchKey section_name_multiple_watched[] = {
--    { "test/s1", "n1" },
--    { "test/s2", "n2" },
--    { NULL }
--};
--static WatchKey section_name_multiple_notified[] = {
--    { "test/s1", "n1" },
--    { NULL, NULL },
--    { NULL, NULL },
--    { "test/s2", "n2" },
--};
--static WatchTestData section_name_multiple_data = {
--    section_name_multiple_watched,
--    default_changed,
--    section_name_multiple_notified
--};
--
--typedef struct {
--    IBusConfig *config;
--    WatchData data;
--} WatchFixture;
--
--static void
--value_changed_cb (IBusConfig  *config,
--                  const gchar *section,
--                  const gchar *name,
--                  GVariant    *value,
--                  gpointer     user_data)
--{
--    WatchData *data = (WatchData *) user_data;
--
--    data->section = g_strdup (section);
--    data->name = g_strdup (name);
--
--    g_main_loop_quit (data->loop);
--}
--
--static gboolean
--timeout_cb (gpointer user_data)
--{
--    WatchData *data = (WatchData *) user_data;
--    g_main_loop_quit (data->loop);
--    data->timeout_id = 0;
--    return FALSE;
--}
--
--static void
--change_and_test (IBusConfig  *config,
--                 const gchar *section,
--                 const gchar *name,
--                 const gchar *expected_section,
--                 const gchar *expected_name,
--                 WatchData   *data)
--{
--    gboolean retval;
--    GVariant *var;
--
--    data->section = NULL;
--    data->name = NULL;
--
--    /* Unset won't notify value-changed signal. */
--    var = ibus_config_get_values (config, section);
--    if (var != NULL) {
--        GVariant *value = g_variant_lookup_value (var, name,
--                                                  G_VARIANT_TYPE_VARIANT);
--        if (value != NULL) {
--            ibus_config_unset (config, section, name);
--            g_variant_unref (value);
--        }
--        g_variant_unref (var);
--    }
--
--    data->timeout_id = g_timeout_add (1, timeout_cb, data);
--    g_main_loop_run (data->loop);
--    if (data->timeout_id != 0) {
--        g_source_remove (data->timeout_id);
--    }
--
--    retval = ibus_config_set_value (config, section, name,
--                                    g_variant_new_int32 (1));
--    g_assert (retval);
--
--    data->timeout_id = g_timeout_add (1, timeout_cb, data);
--    g_main_loop_run (data->loop);
--    if (data->timeout_id != 0) {
--        g_source_remove (data->timeout_id);
--    }
--
--    g_assert_cmpstr (data->section, ==, expected_section);
--    g_assert_cmpstr (data->name, ==, expected_name);
--
--    g_free (data->section);
--    g_free (data->name);
--}
--
--static void
--watch_fixture_setup (WatchFixture *fixture, gconstpointer user_data)
--{
--    fixture->config = ibus_config_new (ibus_bus_get_connection (bus),
--                                       NULL,
--                                       NULL);
--    g_assert (fixture->config);
--
--    fixture->data.loop = g_main_loop_new (NULL, FALSE);
--    g_signal_connect (fixture->config, "value-changed",
--                      G_CALLBACK (value_changed_cb), &fixture->data);
--}
--
--static void
--watch_fixture_teardown (WatchFixture *fixture, gconstpointer user_data)
--{
--    g_main_loop_unref (fixture->data.loop);
--
--    ibus_proxy_destroy (IBUS_PROXY (fixture->config));
--    g_object_unref (fixture->config);
--}
--
--static void
--test_config_watch (WatchFixture *fixture, gconstpointer user_data)
--{
--    const WatchTestData *data = user_data;
--    gint i;
--
--    for (i = 0; data->watched[i].section != NULL; i++) {
--        ibus_config_watch (fixture->config,
--                           data->watched[i].section,
--                           data->watched[i].name);
--    }
--    for (i = 0; data->changed[i].section != NULL; i++) {
--        change_and_test (fixture->config,
--                         data->changed[i].section,
--                         data->changed[i].name,
--                         data->notified[i].section,
--                         data->notified[i].name,
--                         &fixture->data);
--    }
--    for (i = 0; data->watched[i].section != NULL; i++) {
--        ibus_config_unwatch (fixture->config,
--                             data->watched[i].section,
--                             data->watched[i].name);
--    }
--    if (i > 0) {
--        /* Check if the above unwatch takes effect. */
--        for (i = 0; data->changed[i].section != NULL; i++) {
--            change_and_test (fixture->config,
--                             data->changed[i].section,
--                             data->changed[i].name,
--                             NULL,
--                             NULL,
--                             &fixture->data);
--        }
--    } else {
--        /* Since we reuse single D-Bus connection, we need to remove the
--           default match rule for the next ibus_config_new() call.  */
--        ibus_config_unwatch (fixture->config, NULL, NULL);
--    }
--}
--
- gint
- main (gint    argc,
-       gchar **argv)
-@@ -390,41 +142,6 @@ main (gint    argc,
-     g_test_init (&argc, &argv, NULL);
-     bus = ibus_bus_new ();
- 
--    g_test_add ("/ibus/config-watch/default",
--                WatchFixture,
--                &default_data,
--                watch_fixture_setup,
--                test_config_watch,
--                watch_fixture_teardown);
--
--    g_test_add ("/ibus/config-watch/section",
--                WatchFixture,
--                &section_data,
--                watch_fixture_setup,
--                test_config_watch,
--                watch_fixture_teardown);
--
--    g_test_add ("/ibus/config-watch/section-multiple",
--                WatchFixture,
--                &section_multiple_data,
--                watch_fixture_setup,
--                test_config_watch,
--                watch_fixture_teardown);
--
--    g_test_add ("/ibus/config-watch/section-name",
--                WatchFixture,
--                &section_name_data,
--                watch_fixture_setup,
--                test_config_watch,
--                watch_fixture_teardown);
--
--    g_test_add ("/ibus/config-watch/section-name-multiple",
--                WatchFixture,
--                &section_name_multiple_data,
--                watch_fixture_setup,
--                test_config_watch,
--                watch_fixture_teardown);
--
-     g_test_add_func ("/ibus/create-config-async", test_create_config_async);
-     g_test_add_func ("/ibus/config-set-get", test_config_set_get);
- 
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-index a90c1378..b7a72285 100755
---- a/src/tests/ibus-desktop-testing-runner.in
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -34,9 +34,10 @@ DISPLAY=:99.0
- BUILDDIR="."
- SRCDIR="."
- TEST_LOG="test-suite.log"
-+TEST_LOG_STDOUT=0
- RESULT_LOG=""
- HAVE_GRAPHICS=1
--DESKTOP_COMMAND="gnome-session"
-+DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
- PID_XORG=0
- PID_GNOME_SESSION=0
- TESTING_RUNNER="default"
-@@ -109,19 +110,26 @@ parse_args()
- init_desktop()
- {
-     if [ "$RESULT_LOG" != "" ] ; then
--        rm $RESULT_LOG
-+        if [ -f $RESULT_LOG ] ; then
-+            rm $RESULT_LOG
-+        fi
-+    fi
-+    HAS_STDOUT=`echo "$TEST_LOG" | grep ':stdout'`
-+    if [ x"$HAS_STDOUT" != x ] ; then
-+        TEST_LOG=`echo "$TEST_LOG" | sed -e 's|:stdout||'`
-+        TEST_LOG_STDOUT=1
-     fi
-     if [ "$TEST_LOG" = "" ] ; then
-         print_log -e "${RED}FAIL${NC}: ${RED}ERROR${NC}: a log file is required to get return value with 'read' command"
--        abrt
--    else
-+        exit -1
-+    elif [ -f $TEST_LOG ] ; then
-         rm $TEST_LOG
-     fi
--    if test x$FORCE_TEST != x ; then
-+    if [ x$FORCE_TEST != x ] ; then
-         RUN_ARGS="$RUN_ARGS --force"
-     fi
- 
--    if test ! -f $HOME/.config/gnome-initial-setup-done ; then
-+    if [ ! -f $HOME/.config/gnome-initial-setup-done ] ; then
-         IS_SYSTEM_ACCOUNT=false
-         if [ "$USER" = "root" ] ; then
-             IS_SYSTEM_ACCOUNT=true
-@@ -141,7 +149,7 @@ _EOF
- 
-     # Prevent from launching a XDG dialog
-     XDG_LOCALE_FILE="$HOME/.config/user-dirs.locale"
--    if test -f $XDG_LOCALE_FILE ; then
-+    if [ -f $XDG_LOCALE_FILE ] ; then
-         XDG_LANG_ORIG=`cat $XDG_LOCALE_FILE`
-         XDG_LANG_NEW=`echo $LANG | sed -e 's/\(.*\)\..*/\1/'`
-         if [ "$XDG_LANG_ORIG" != "$XDG_LANG_NEW" ] ; then
-@@ -153,19 +161,8 @@ _EOF
- 
- run_dbus_daemon()
- {
--    a=`ps -ef | grep dbus-daemon | grep "\-\-system" | grep -v session | grep -v grep`
--    if test x"$a" = x ; then
--        eval `dbus-launch --sh-syntax`
--    fi
--    SUSER=`echo "$USER" | cut -c 1-7`
--    a=`ps -ef | grep dbus-daemon | grep "$SUSER" | grep -v gdm | grep session | grep -v grep`
--    if test x"$a" = x ; then
--        systemctl --user start dbus
--        export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
--    fi
--    systemctl --user status dbus | col -b
--    ps -ef | grep dbus-daemon | grep "$SUSER" | grep -v gdm | egrep 'session|system' | grep -v grep
--    systemctl --user show-environment | col -b
-+    # Use dbus-launch --exit-with-session later instead of --sh-syntax
-+    export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
- }
- 
- run_desktop()
-@@ -181,7 +178,8 @@ run_desktop()
-     $DESKTOP_COMMAND &
-     PID_GNOME_SESSION=$!
-     sleep 30
--    if test "$DESKTOP_COMMAND" != "gnome-session" ; then
-+    HAS_GNOME=`echo $DESKTOP_COMMAND | grep gnome-session`
-+    if [ x"$HAS_GNOME" = x ] ; then
-         ibus-daemon --daemonize --verbose
-         sleep 1
-     fi
-@@ -285,6 +283,16 @@ run_gnome_desktop_testing_runner()
-         `count_case_result $retval $pass $fail`
- EOF
-     done
-+    child_pass=`grep '^PASS:' $TEST_LOG | wc -l`
-+    child_fail=`grep '^FAIL:' $TEST_LOG | wc -l`
-+    if [ $child_pass -ne 0 -o $child_fail -ne 0 ] ; then
-+        pass=$child_pass
-+        if [ $child_fail -ne 0 ] ; then
-+            fail=`expr $child_fail / 2`
-+        else
-+            fail=0
-+        fi
-+    fi
-     echo $pass $fail
- }
- 
-@@ -311,22 +319,29 @@ EOF_RUNNER
-         ;;
-     esac
-     echo ""
--    if [ $pass -ne 0 ] ; then
--        print_log -e "${GREEN}PASS${NC}: $pass"
--    fi
--    if [ $fail -ne 0 ] ; then
--        print_log -e "${RED}FAIL${NC}: $fail"
--    fi
-+    print_log -e "${GREEN}PASS${NC}: $pass"
-+    print_log -e "${RED}FAIL${NC}: $fail"
-     echo ""
--    echo "See ${TEST_LOG}"
-+    if [ $TEST_LOG_STDOUT -eq 1 ] ; then
-+        cat $TEST_LOG
-+    else
-+        echo "See $TEST_LOG"
-+    fi
- }
- 
- finit()
- {
--    if test "$DESKTOP_COMMAND" != "gnome-session" ; then
--        ibus exit
--    fi
-+    echo "Killing left gnome-session and Xorg"
-     kill $PID_GNOME_SESSION $PID_XORG
-+    ibus exit
-+    SUSER=`echo "$USER" | cut -c 1-7`
-+    LEFT_CALENDAR=`ps -ef | grep gnome-shell-calendar-server | grep $SUSER | grep -v grep`
-+    if [ x"$LEFT_CALENDAR" != x ] ; then
-+        echo "Killing left gnome-shell-calendar-server"
-+        echo "$LEFT_CALENDAR"
-+        echo "$LEFT_CALENDAR" | awk '{print $2}' | xargs kill
-+    fi
-+
-     echo "Finished $PROGNAME testing"
- }
- 
-diff --git a/src/tests/ibus-engine-switch.c b/src/tests/ibus-engine-switch.c
-index 5c2bd516..a1eeba2a 100644
---- a/src/tests/ibus-engine-switch.c
-+++ b/src/tests/ibus-engine-switch.c
-@@ -13,17 +13,25 @@ static const gchar *engine_names[] = {
-     AFTER_ENGINE
- };
- 
-+static const gchar *engine_names2[] = {
-+    AFTER_ENGINE,
-+    BEFORE_ENGINE
-+};
-+
- static void
--change_global_engine (void)
-+change_global_engine (gboolean reverse)
- {
-     gint i;
- 
-     for (i = 0; i < G_N_ELEMENTS (engine_names); i++) {
--        ibus_bus_set_global_engine (bus, engine_names[i]);
-+        const gchar *engine_name = engine_names[i];
-+        if (reverse)
-+            engine_name = engine_names2[i];
-+        ibus_bus_set_global_engine (bus, engine_name);
-         IBusEngineDesc *engine_desc = ibus_bus_get_global_engine (bus);
-         g_assert_cmpstr (ibus_engine_desc_get_name (engine_desc),
-                          ==,
--                         engine_names[i]);
-+                         engine_name);
-         g_object_unref (G_OBJECT (engine_desc));
-     }
- }
-@@ -46,6 +54,7 @@ typedef struct {
-     gint count;
-     guint timeout_id;
-     guint idle_id;
-+    gboolean reverse;
- } GlobalEngineChangedData;
- 
- static void
-@@ -70,7 +79,7 @@ static gboolean
- change_global_engine_cb (gpointer user_data)
- {
-     GlobalEngineChangedData *data = (GlobalEngineChangedData *) user_data;
--    change_global_engine ();
-+    change_global_engine (data->reverse);
-     data->idle_id = 0;
-     return FALSE;
- }
-@@ -78,12 +87,25 @@ change_global_engine_cb (gpointer user_data)
- static void
- test_global_engine (void)
- {
-+    GLogLevelFlags flags;
-+    IBusEngineDesc *desc;
-     GlobalEngineChangedData data;
-     guint handler_id;
- 
-     if (!ibus_bus_get_use_global_engine (bus))
-         return;
- 
-+    /* "No global engine." warning is not critical message. */
-+    flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-+    desc = ibus_bus_get_global_engine (bus);
-+    g_log_set_always_fatal (flags);
-+    if (desc &&
-+        !g_strcmp0 (BEFORE_ENGINE, ibus_engine_desc_get_name (desc))) {
-+        data.reverse = TRUE;
-+    } else {
-+        data.reverse = FALSE;
-+    }
-+
-     data.count = 0;
- 
-     handler_id = g_signal_connect (bus,
-@@ -141,7 +163,7 @@ test_context_engine_set_by_global (void)
-     /* ibus_bus_set_global_engine() changes focused context engine. */
-     ibus_input_context_focus_in (context);
- 
--    change_global_engine ();
-+    change_global_engine (FALSE);
- 
-     /* ibus_input_context_set_engine() does not take effect when
-        global engine is used. */
-@@ -170,7 +192,7 @@ test_context_engine_set_by_focus (void)
- 
-     ibus_input_context_focus_in (context);
- 
--    change_global_engine ();
-+    change_global_engine (FALSE);
- 
-     /* When focus is lost, context engine is set to "dummy". */
-     ibus_input_context_focus_in (another_context);
-diff --git a/src/tests/ibus-inputcontext.c b/src/tests/ibus-inputcontext.c
-index fab183aa..ed04bd64 100644
---- a/src/tests/ibus-inputcontext.c
-+++ b/src/tests/ibus-inputcontext.c
-@@ -37,18 +37,6 @@ fatal_handler(const gchar *log_domain,
-     return TRUE;
- }
- 
--static gchar *
--get_last_engine_id (const GList *engines)
--{
--    const char *result = NULL;
--    for (; engines; engines = g_list_next (engines)) {
--        IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
--        g_assert (engine_desc);
--        result = ibus_engine_desc_get_name (engine_desc);
--    }
--    return g_strdup (result);
--}
--
- static void
- call_basic_ipcs (IBusInputContext *context)
- {
-@@ -68,18 +56,23 @@ call_basic_ipcs (IBusInputContext *context)
- static void
- test_input_context (void)
- {
--    GList *engines;
--    gchar *active_engine_name = NULL;
-     IBusInputContext *context;
-+    GLogLevelFlags flags;
-     IBusEngineDesc *engine_desc;
-+    gchar *active_engine_name = NULL;
-     gchar *current_ic;
- 
-     context = ibus_bus_create_input_context (bus, "test");
-     call_basic_ipcs (context);
- 
--    engines = ibus_bus_list_active_engines (bus);
--    if (engines != NULL) {
--        active_engine_name = get_last_engine_id (engines);
-+    /* "No global engine." warning is not critical message. */
-+    flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-+    engine_desc = ibus_bus_get_global_engine (bus);
-+    g_log_set_always_fatal (flags);
-+    if (engine_desc != NULL) {
-+        active_engine_name = g_strdup (ibus_engine_desc_get_name(engine_desc));
-+        g_object_unref (engine_desc);
-+        engine_desc = NULL;
-     } else {
-         active_engine_name = g_strdup ("dummy");
-     }
-@@ -111,8 +104,6 @@ test_input_context (void)
-     g_object_unref (context);
- 
-     g_free (active_engine_name);
--    g_list_foreach (engines, (GFunc) g_object_unref, NULL);
--    g_list_free (engines);
- }
- 
- static void
-diff --git a/src/tests/ibus-keypress.c b/src/tests/ibus-keypress.c
-index 17920226..dd1b0042 100644
---- a/src/tests/ibus-keypress.c
-+++ b/src/tests/ibus-keypress.c
-@@ -288,6 +288,10 @@ int
- main (int argc, char *argv[])
- {
-     ibus_init ();
-+    /* Avoid a warning of "AT-SPI: Could not obtain desktop path or name"
-+     * with gtk_main().
-+     */
-+    g_setenv ("NO_AT_BRIDGE", "1", TRUE);
-     g_test_init (&argc, &argv, NULL);
-     gtk_init (&argc, &argv);
- 
--- 
-2.21.0
-
-From 0c89a7ee33bfe5b403c798e0ddb39e4c05d0d971 Mon Sep 17 00:00:00 2001
-From: Hodong Kim <cogniti@gmail.com>
-Date: Thu, 25 Jul 2019 14:37:52 +0900
-Subject: [PATCH 27/27] client/x11: Update LOCALES_STRING
-
-Update LOCALES_STRING in locales.h from /usr/share/i18n/SUPPORTED on
-Debian Buster.
-
-BUG=https://github.com/ibus/ibus/pull/2110
----
- client/x11/locales.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client/x11/locales.h b/client/x11/locales.h
-index 0155e22a..61af74fb 100644
---- a/client/x11/locales.h
-+++ b/client/x11/locales.h
-@@ -1,2 +1,2 @@
- /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
--#define LOCALES_STRING "aa,af,am,an,ar,as,ast,az,be,ber,bg,bn,bo,br,bs,byn,C,ca,crh,cs,csb,cy,da,de,dz,el,en,es,et,eu,fa,fi,fil,fo,fr,fur,fy,ga,gd,gez,gl,gu,gv,ha,he,hi,hne,hr,hsb,ht,hu,hy,id,ig,ik,is,it,iu,iw,ja,ka,kk,kl,km,kn,ko,ks,ku,kw,ky,lg,li,lo,lt,lv,mai,mg,mi,mk,ml,mn,mr,ms,mt,nan,nb,nds,ne,nl,nn,no,nr,nso,oc,om,or,pa,pa,pap,pl,pt,ro,ru,rw,sa,sc,sd,se,shs,si,sid,sk,sl,so,sq,sr,ss,st,sv,ta,te,tg,th,ti,tig,tk,tl,tn,tr,ts,tt,ug,uk,ur,uz,ve,vi,wa,wo,xh,yi,yo,zh,zu"
-+#define LOCALES_STRING "aa,af,agr,ak,am,an,anp,ar,ayc,az,as,ast,be,bem,ber,bg,bhb,bho,bi,bn,bo,br,brx,bs,byn,C,ca,ce,chr,cmn,crh,cs,csb,cv,cy,da,de,doi,dsb,dv,dz,el,en,eo,es,et,eu,fa,ff,fi,fil,fo,fr,fur,fy,ga,gd,gez,gl,gu,gv,ha,hak,he,hi,hif,hne,hr,hsb,ht,hu,hy,ia,id,ig,ik,is,it,iu,ja,ka,kab,kk,kl,km,kn,ko,kok,ks,ku,kw,ky,lb,lg,li,lij,ln,lo,lt,lv,lzh,mag,mai,mfe,mg,mhr,mi,miq,mjw,mk,ml,mn,mni,mr,ms,mt,my,nan,nb,nds,ne,nhn,niu,nl,nn,no,nr,nso,oc,om,or,os,pa,pap,pl,ps,pt,quz,raj,ro,ru,rw,sa,sah,sat,sc,sd,se,sgs,shn,shs,si,sid,sk,sl,sm,so,sq,sr,ss,st,sv,sw,szl,ta,tcy,te,tg,th,the,ti,tig,tk,tl,tn,to,tpi,tr,ts,tt,ug,uk,unm,ur,uz,ve,vi,wa,wae,wal,wo,xh,yi,yo,yue,yuw,zh,zu"
--- 
-2.21.0
-
-From f4463c0433c5f48a4fb2830e8c2ae9619fbb18d1 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 29 Jul 2019 19:05:43 +0900
-Subject: [PATCH] src/tests: Fix a fatal error with g_warning
-
-I set g_log_set_always_fatal() before gtk_init() in ibus-compose for
-a compose warning of GtkIMContextSimple but actually the warning is
-output during gtk_main() due to GtkIMContextSimple.set_client_window()
-so I moved g_log_set_always_fatal() before gtk_main() in ibus-compose.c.
-
-Also set IFS in ibus-compose-locales to set the delimiter to '\n' for
-for-loop arguments.
----
- src/tests/ibus-compose-locales.in |  8 ++++++++
- src/tests/ibus-compose.c          | 21 ++++++++++-----------
- 2 files changed, 18 insertions(+), 11 deletions(-)
-
-diff --git a/src/tests/ibus-compose-locales.in b/src/tests/ibus-compose-locales.in
-index fad02965..f650b584 100755
---- a/src/tests/ibus-compose-locales.in
-+++ b/src/tests/ibus-compose-locales.in
-@@ -7,19 +7,27 @@ BUILDDIR=`dirname $0`
- export IBUS_COMPOSE_CACHE_DIR=$PWD
- 
- retval=0
-+# Let for-loop notice '\n' as a delimiter
-+IFS=$'\n'
- for var in `cat $SRCDIR/ibus-compose.env`
- do
-+    # Revert IFS to recognize env a=foo b=foo
-+    IFS=' '
-     IS_COMMENT=`echo "$var" | grep "^#"`
-     if [ "x$IS_COMMENT" != x ] ; then
-         continue
-     fi
-+    echo "# Starting $var $BUILDDIR/ibus-compose $SRCDIR $@"
-     env $var $BUILDDIR/ibus-compose $SRCDIR $@
-     retval=`expr $retval + $?`
-+    echo "# Finished $var $BUILDDIR/ibus-compose $SRCDIR $@ with $retval"
- 
-     CACHE_FILES=`ls *.cache`
-     if [ x"$CACHE_FILES" != x ] ; then
-         echo "Clean $CACHE_FILES"
-         rm $CACHE_FILES
-     fi
-+    IFS=$'\n'
- done
-+IFS=' '
- exit $retval
-diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
-index db359477..4b4c56e7 100644
---- a/src/tests/ibus-compose.c
-+++ b/src/tests/ibus-compose.c
-@@ -331,20 +331,28 @@ create_window ()
- static void
- test_compose (void)
- {
-+    GLogLevelFlags flags;
-     if (!register_ibus_engine ()) {
-         g_test_fail ();
-         return;
-     }
- 
-     create_window ();
-+    /* FIXME:
-+     * IBusIMContext opens GtkIMContextSimple as the slave and
-+     * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
-+     * multiple outputs in el_GR's compose causes a warning in gtkcomposetable
-+     * and the warning always causes a fatal in GTest:
-+     " "GTK+ supports to output one char only: "
-+     */
-+    flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-     gtk_main ();
--
-+    g_log_set_always_fatal (flags);
- }
- 
- int
- main (int argc, char *argv[])
- {
--    GLogLevelFlags flags;
-     const gchar *test_name;
-     gchar *test_path;
- 
-@@ -354,16 +362,7 @@ main (int argc, char *argv[])
-      */
-     g_setenv ("NO_AT_BRIDGE", "1", TRUE);
-     g_test_init (&argc, &argv, NULL);
--    /* FIXME:
--     * IBusIMContext opens GtkIMContextSimple as the slave and
--     * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
--     * multiple outputs in el_GR's compose causes a warning in gtkcomposetable
--     * and the warning always causes a fatal in GTest:
--     " "GTK+ supports to output one char only: "
--     */
--    flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
-     gtk_init (&argc, &argv);
--    g_log_set_always_fatal (flags);
- 
-     m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
-     m_compose_file = g_strdup (g_getenv ("COMPOSE_FILE"));
--- 
-2.21.0
-
-From 7dde99600777f195da614130950ecbd339439d35 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 31 Jul 2019 16:27:49 +0900
-Subject: [PATCH] src/tests: Fix wrong echo with direct runner in
- ibus-desktop-testing-runner
-
-The wrong echo prevent from counting the test results in the direct
-testing runner.
----
- src/tests/ibus-desktop-testing-runner.in | 33 +++++++++++++-----------
- 1 file changed, 18 insertions(+), 15 deletions(-)
-
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-index b7a72285..3045d601 100755
---- a/src/tests/ibus-desktop-testing-runner.in
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -153,7 +153,7 @@ _EOF
-         XDG_LANG_ORIG=`cat $XDG_LOCALE_FILE`
-         XDG_LANG_NEW=`echo $LANG | sed -e 's/\(.*\)\..*/\1/'`
-         if [ "$XDG_LANG_ORIG" != "$XDG_LANG_NEW" ] ; then
--            echo "Overriding XDG locale $XDG_LANG_ORIG with $XDG_LANG_NEW"
-+            echo "# Overriding XDG locale $XDG_LANG_ORIG with $XDG_LANG_NEW"
-             echo "$XDG_LANG_NEW" > $XDG_LOCALE_FILE
-         fi
-     fi
-@@ -206,11 +206,9 @@ echo_case_result()
-     subtst=${3:-''}
- 
-     if test $retval -eq  0 ; then
--        print_log -e "${GREEN}PASS${NC}: $tst $subtst"
-+        echo "PASS: $tst $subtst" >>$TEST_LOG
-     else
--        print_log -e "${RED}FAIL${NC}: $tst $subtst"
--        print_log "======================"
--        print_log ""
-+        echo "FAIL: $tst $subtst" >>$TEST_LOG
-     fi
- }
- 
-@@ -232,32 +230,37 @@ EOF
-             echo_case_result $retval $tst
-             CACHE_FILES=`ls *.cache`
-             if [ x"$CACHE_FILES" != x ] ; then
--                print_log "Clean $CACHE_FILES"
-+                echo "# Clean $CACHE_FILES" >>$TEST_LOG
-                 rm $CACHE_FILES
-             fi
-         else
--            LANG_backup=$LANG
-             i=1
-+            # Let for-loop notice '\n' as a delimiter
-+            IFS=$'\n'
-             for e in $ENVS; do
-+                # Revert IFS to recognize env a=foo b=foo
-+                IFS=' '
-                 first=`echo "$e" | grep '^#'`
-                 if test x"$first" = x"#" ; then
-                     continue
-                 fi
--                export $e
--                $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
-+                echo "# Starting $e $BUILDDIR/$tst $SRCDIR" >>$TEST_LOG
-+                env $e $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
-                 retval=$?
-+                echo "# Finished $e $BUILDDIR/$tst $SRCDIR with $retval" >>$TEST_LOG
-                 read pass fail << EOF
-                 `count_case_result $retval $pass $fail`
- EOF
-                 echo_case_result $retval $tst $e
-                 CACHE_FILES=`ls *.cache`
-                 if [ x"$CACHE_FILES" != x ] ; then
--                    print_log "Clean $CACHE_FILES"
-+                    echo "# Clean $CACHE_FILES" >>$TEST_LOG
-                     rm $CACHE_FILES
-                 fi
-                 i=`expr $i + 1`
-+                IFS=$'\n'
-             done
--            export LANG=$LANG_backup
-+            IFS=' '
-         fi
-     done
-     echo $pass $fail
-@@ -325,24 +328,24 @@ EOF_RUNNER
-     if [ $TEST_LOG_STDOUT -eq 1 ] ; then
-         cat $TEST_LOG
-     else
--        echo "See $TEST_LOG"
-+        echo "# See $TEST_LOG"
-     fi
- }
- 
- finit()
- {
--    echo "Killing left gnome-session and Xorg"
-+    echo "# Killing left gnome-session and Xorg"
-     kill $PID_GNOME_SESSION $PID_XORG
-     ibus exit
-     SUSER=`echo "$USER" | cut -c 1-7`
-     LEFT_CALENDAR=`ps -ef | grep gnome-shell-calendar-server | grep $SUSER | grep -v grep`
-     if [ x"$LEFT_CALENDAR" != x ] ; then
--        echo "Killing left gnome-shell-calendar-server"
-+        echo "# Killing left gnome-shell-calendar-server"
-         echo "$LEFT_CALENDAR"
-         echo "$LEFT_CALENDAR" | awk '{print $2}' | xargs kill
-     fi
- 
--    echo "Finished $PROGNAME testing"
-+    echo "# Finished $PROGNAME testing"
- }
- 
- main()
--- 
-2.21.0
-
-From 32572618cdcc36162b5769eb4c71964db9734061 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 6 Aug 2019 18:55:14 +0900
-Subject: [PATCH] bus: Exit ibus-daemon with parent's death
-
-ibus-daemon can be restarted unexpectedly during logging out the session
-and double ibus-x11 prevent from enabling XIM in XGetSelectionOwner()
-for the "ibus" atom.
-ibus-daemon always will exit the process when the parent process dies
-to avoid this problem.
----
- bus/main.c   | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- configure.ac |  3 +++
- 2 files changed, 58 insertions(+), 1 deletion(-)
-
-diff --git a/bus/main.c b/bus/main.c
-index 3223d541..e11a5ebd 100644
---- a/bus/main.c
-+++ b/bus/main.c
-@@ -33,6 +33,10 @@
- #include <sys/stat.h>
- #include <unistd.h>
- 
-+#ifdef HAVE_SYS_PRCTL_H
-+#include <sys/prctl.h>
-+#endif
-+
- #include "global.h"
- #include "ibusimpl.h"
- #include "server.h"
-@@ -161,6 +165,15 @@ daemon (gint nochdir, gint noclose)
- }
- #endif
- 
-+#ifdef HAVE_SYS_PRCTL_H
-+static void
-+_sig_usr1_handler (int sig)
-+{
-+    g_warning ("The parent process died.");
-+    bus_server_quit (FALSE);
-+}
-+#endif
-+
- gint
- main (gint argc, gchar **argv)
- {
-@@ -201,7 +214,7 @@ main (gint argc, gchar **argv)
-     /* daemonize process */
-     if (daemonize) {
-         if (daemon (1, 0) != 0) {
--            g_printerr ("Can not daemonize ibus.\n");
-+            g_printerr ("Cannot daemonize ibus.\n");
-             exit (-1);
-         }
-     }
-@@ -299,6 +312,47 @@ main (gint argc, gchar **argv)
-             exit (-1);
-     }
- 
-+    if (!daemonize) {
-+        if (getppid () == 1) {
-+            g_warning ("The parent process died.");
-+            exit (0);
-+        }
-+#ifdef HAVE_SYS_PRCTL_H
-+       /* Currently ibus-x11 detects XIOError and assume the error as the
-+        * desktop session is closed and ibus-x11 calls Exit D-Bus method to
-+        * exit ibus-daemon. But a few desktop sessions cause XError before
-+        * XIOError and GTK does not allow to bind XError by applications and
-+        * GTK calls gdk_x_error() with XError.
-+        *
-+        * E.g. GdkX11Screen calls XGetSelectionOwner() for "_XSETTINGS_S?"
-+        * atoms during the logout but the selection owner already becomes
-+        * NULL and the NULL window causes XError with
-+        * gdk_x11_window_foreign_new_for_display().
-+        *
-+        * Since ibus-x11 exits with XError before XIOError, gnome-shell
-+        * can detects the exit of ibus-daemon a little earlier and
-+        * gnome-shell restarts ibus-daemon but gnome-shell dies soon.
-+        * Then gnome-shell dies but ibus-daemon is alive, it's a problem.
-+        * Because it causes double ibus-x11 of GDM and a login user
-+        * and double XSetSelectionOwner() is not allowed for the unique
-+        * "ibus" atom and the user cannot use XIM but not GtkIMModule.
-+        *
-+        * Probably we could fix the ibus process problem if we would fix
-+        * XError about the X selection owner or stop to restart ibus-daemon
-+        * in gonme-shell when the session is logging out.
-+        * Maybe using SessionManager.LogoutRemote() or
-+        * global.screen.get_display().get_xdisplay()
-+        * But I assume thereare other scenarios to causes the problem.
-+        *
-+        * And I decided ibus-daemon always exits with the parent's death here
-+        * to avoid unexpected ibus restarts during the logout.
-+        */
-+        if (prctl (PR_SET_PDEATHSIG, SIGUSR1))
-+            g_printerr ("Cannot bind SIGUSR1 for parent death\n");
-+        else
-+            signal (SIGUSR1, _sig_usr1_handler);
-+#endif
-+    }
-     bus_server_run ();
-     return 0;
- }
-diff --git a/configure.ac b/configure.ac
-index f1df3ac1..fdd316a9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -140,6 +140,9 @@ AC_ISC_POSIX
- AC_HEADER_STDC
- LT_INIT
- 
-+# Check header filess.
-+AC_CHECK_HEADERS([sys/prctl.h])
-+
- # Check functions.
- AC_CHECK_FUNCS(daemon)
- 
--- 
-2.21.0
-
-From 28c10d64d282fa9fbc35a7bc44a096f6137d5e46 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 13 Aug 2019 20:06:51 +0900
-Subject: [PATCH] src/tests: Set XDG_SESSION_TYPE in
- ibus-desktop-testing-runner
-
-mutter 3.33.90 or later exits the session without loginctl.
-Now ibus-desktop-testing-runner has XDG_SESSION_TYPE forcibly
-not to exit gnome-shell.
----
- src/tests/ibus-desktop-testing-runner.in | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-index 3045d601..141e9b5b 100755
---- a/src/tests/ibus-desktop-testing-runner.in
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -157,6 +157,8 @@ _EOF
-             echo "$XDG_LANG_NEW" > $XDG_LOCALE_FILE
-         fi
-     fi
-+    # `su` command does not run loginctl
-+    export XDG_SESSION_TYPE='x11'
- }
- 
- run_dbus_daemon()
-@@ -175,6 +177,7 @@ run_desktop()
-     PID_XORG=$!
-     sleep 1
-     export DISPLAY=$DISPLAY
-+    echo "Running $DESKTOP_COMMAND with $USER in `tty`"
-     $DESKTOP_COMMAND &
-     PID_GNOME_SESSION=$!
-     sleep 30
--- 
-2.21.0
-

             reply	other threads:[~2026-05-31  2:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-31  2:07 Takao Fujiwara [this message]
2026-05-31  2:07 [rpms/ibus] autotool: Delete upstreamed ibus-HEAD.patch Takao Fujiwara
2026-05-31  2:07 Takao Fujiwara
2026-05-31  2:08 Takao Fujiwara
2026-05-31  2:08 Takao Fujiwara
2026-05-31  2:08 Takao Fujiwara
2026-05-31  2:09 Takao Fujiwara
2026-05-31  2:09 Takao Fujiwara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178019323583.1.7662532533405135163.rpms-ibus-f1eb5c5acd31@fedoraproject.org \
    --to=tfujiwar@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox