diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index cd26824..e249604 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -147,3 +147,1129 @@ index e22135b..db2d5aa 100644 -- 1.8.5.3 +From ee4c5ec0a39b5ed4a22fe34307a44f3f9fa1303b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 6 Jun 2014 17:38:08 +0900 +Subject: [PATCH] Add Polish (qwertz) keymap in simple.xml + +BUG=http://code.google.com/p/ibus/issues/detail?id=1716 +TEST=ibus-setup + +Review URL: https://codereview.appspot.com/102150045 +--- + bus/ibusimpl.c | 4 ++-- + engine/simple.xml.in | 12 ++++++++++++ + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c +index 97f3602..dd254e2 100644 +--- a/bus/ibusimpl.c ++++ b/bus/ibusimpl.c +@@ -1450,7 +1450,7 @@ _ibus_set_global_engine (BusIBusImpl *ibus, + g_dbus_method_invocation_return_error (invocation, + G_DBUS_ERROR, + G_DBUS_ERROR_FAILED, +- "Can not find engine %s.", ++ "Cannot find engine %s.", + engine_name); + return; + } +@@ -1553,7 +1553,7 @@ _ibus_set_preload_engines (BusIBusImpl *ibus, + g_set_error (error, + G_DBUS_ERROR, + G_DBUS_ERROR_FAILED, +- "Can not find engine %s.", ++ "Cannot find engine %s.", + names[i]); + g_ptr_array_free (array, FALSE); + return FALSE; +diff --git a/engine/simple.xml.in b/engine/simple.xml.in +index 1b617f8..c16f86a 100644 +--- a/engine/simple.xml.in ++++ b/engine/simple.xml.in +@@ -477,6 +477,18 @@ + ibus-keyboard + 99 + ++ ++ xkb:pl:qwertz:pol ++ pol ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ pl ++ qwertz ++ Polish (qwertz) ++ Polish (qwertz) ++ ibus-keyboard ++ 1 ++ + + xkb:pt::por + por +-- +1.8.5.3 + +From 9bad0c944162a1700dcb6615aab2a6a9cfd9eff5 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 12 Jun 2014 11:38:43 +0900 +Subject: [PATCH 1/8] Fix escape key with Ctrl+Shift+U ISO 14755. + +GtkIMContextSimple uses gdk_keymap_get_for_display() to check the readable +hex codes but IBusEngineSimple ignored it because does not have the display +argument. +I added is_hex_keyval() to check the escape key and fix this bug. + +BUG=http://code.google.com/p/ibus/issues/detail?id=1715 +TEST=src/libibus.so + +Review URL: https://codereview.appspot.com/101160044 +--- + src/ibusenginesimple.c | 47 ++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 38 insertions(+), 9 deletions(-) + +diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c +index 8c076ac..300a828 100644 +--- a/src/ibusenginesimple.c ++++ b/src/ibusenginesimple.c +@@ -693,6 +693,14 @@ no_sequence_matches (IBusEngineSimple *simple, + } + + static gboolean ++is_hex_keyval (guint keyval) ++{ ++ gunichar ch = ibus_keyval_to_unicode (keyval); ++ ++ return g_unichar_isxdigit (ch); ++} ++ ++static gboolean + ibus_engine_simple_process_key_event (IBusEngine *engine, + guint keyval, + guint keycode, +@@ -712,9 +720,6 @@ ibus_engine_simple_process_key_event (IBusEngine *engine, + while (priv->compose_buffer[n_compose] != 0) + n_compose++; + +- if (n_compose >= IBUS_MAX_COMPOSE_LEN) +- return TRUE; +- + if (modifiers & IBUS_RELEASE_MASK) { + if (priv->in_hex_sequence && + (keyval == IBUS_KEY_Control_L || keyval == IBUS_KEY_Control_R || +@@ -761,7 +766,32 @@ ibus_engine_simple_process_key_event (IBusEngine *engine, + keyval == IBUS_KEY_KP_Enter); + is_backspace = keyval == IBUS_KEY_BackSpace; + is_escape = keyval == IBUS_KEY_Escape; +- hex_keyval = keyval; ++ hex_keyval = is_hex_keyval (keyval) ? keyval : 0; ++ ++ /* gtkimcontextsimple causes a buffer overflow in priv->compose_buffer. ++ * Add the check code here. ++ */ ++ if (n_compose >= IBUS_MAX_COMPOSE_LEN) { ++ if (is_backspace) { ++ priv->compose_buffer[--n_compose] = 0; ++ } ++ else if (is_hex_end) { ++ /* invalid hex sequence */ ++ // beep_window (event->window); ++ priv->tentative_match = 0; ++ priv->in_hex_sequence = FALSE; ++ priv->compose_buffer[0] = 0; ++ } ++ else if (is_escape) { ++ ibus_engine_simple_reset (engine); ++ return TRUE; ++ } ++ ++ if (have_hex_mods) ++ ibus_engine_simple_update_preedit_text (simple); ++ ++ return TRUE; ++ } + + /* If we are already in a non-hex sequence, or + * this keystroke is not hex modifiers + hex digit, don't filter +@@ -787,13 +817,12 @@ ibus_engine_simple_process_key_event (IBusEngine *engine, + /* Handle backspace */ + if (priv->in_hex_sequence && have_hex_mods && is_backspace) { + if (n_compose > 0) { +- n_compose--; ++ n_compose--; + priv->compose_buffer[n_compose] = 0; + check_hex (simple, n_compose); +- } +- else { +- priv->in_hex_sequence = FALSE; +- } ++ } else { ++ priv->in_hex_sequence = FALSE; ++ } + + ibus_engine_simple_update_preedit_text (simple); + +-- +1.8.5.3 + +From b6afffbd1a06ecf17af009f1de3e513988ecb92e Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 18 Jun 2014 11:42:34 +0900 +Subject: [PATCH 2/8] Update ibuscomposetable.h for pt-br. + +pt_BR.UTF-8/Compose file is updated: +http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=e3dc0d1733 + +TEST=engine/test-compose on pt_BR.UTF-8 + +Review URL: https://codereview.appspot.com/101330044 +--- + src/gencomposetable.c | 19 +- + src/ibuscomposetable.h | 608 ++----------------------------------------------- + 2 files changed, 38 insertions(+), 589 deletions(-) + +diff --git a/src/gencomposetable.c b/src/gencomposetable.c +index bffda07..793a75e 100644 +--- a/src/gencomposetable.c ++++ b/src/gencomposetable.c +@@ -1,7 +1,7 @@ + /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ + /* ibus - The Input Bus +- * Copyright (C) 2013 Peng Huang +- * Copyright (C) 2013 Takao Fujiwara ++ * Copyright (C) 2013-2014 Peng Huang ++ * Copyright (C) 2013-2014 Takao Fujiwara + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -19,6 +19,17 @@ + * USA + */ + ++/* This tool converts COMPOSE_FILES[] to ibuscompose.h . ++ * To update ibuscompose.h: ++ * # rm ibuscompose.h ++ * # make ibuscompose.h ++ * ++ * If you copy libX11/nls/??/Compose.pre in xorg git HEAD to ++ * /usr/share/X11/locale/??/Compose , need to convert: ++ * # sed -e 's/^XCOMM/#/' -e 's|X11_LOCALEDATADIR|/usr/share/X11/locale|' ++ * Compose.pre > /usr/share/X11/locale/foo/Compose ++ */ ++ + #include + #include + #include +@@ -36,8 +47,8 @@ + "/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */\n" \ + "/* vim:set et sts=4: */\n" \ + "/* ibus - The Input Bus\n" \ +-" * Copyright (C) 2013 Peng Huang \n" \ +-" * Copyright (C) 2013 Takao Fujiwara \n" \ ++" * Copyright (C) 2013-2014 Peng Huang \n" \ ++" * Copyright (C) 2013-2014 Takao Fujiwara \n" \ + " *\n" \ + " * This library is free software; you can redistribute it and/or\n" \ + " * modify it under the terms of the GNU Lesser General Public\n" \ +diff --git a/src/ibuscomposetable.h b/src/ibuscomposetable.h +index 2ba3571..22aab48 100644 +--- a/src/ibuscomposetable.h ++++ b/src/ibuscomposetable.h +@@ -2058,596 +2058,34 @@ static const IBusComposeTable ibus_compose_table_fi_fi = { + }; + + static const guint16 ibus_compose_seqs_pt_br[] = { +- IBUS_KEY_dead_grave, 0x1F00, 0, 0, 0, +- 0, 0x1F02, /* U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F01, 0, 0, 0, +- 0, 0x1F03, /* U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F08, 0, 0, 0, +- 0, 0x1F0A, /* U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F09, 0, 0, 0, +- 0, 0x1F0B, /* U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F10, 0, 0, 0, +- 0, 0x1F12, /* U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F11, 0, 0, 0, +- 0, 0x1F13, /* U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F18, 0, 0, 0, +- 0, 0x1F1A, /* U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F19, 0, 0, 0, +- 0, 0x1F1B, /* U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F20, 0, 0, 0, +- 0, 0x1F22, /* U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F21, 0, 0, 0, +- 0, 0x1F23, /* U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F28, 0, 0, 0, +- 0, 0x1F2A, /* U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F29, 0, 0, 0, +- 0, 0x1F2B, /* U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F30, 0, 0, 0, +- 0, 0x1F32, /* U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F31, 0, 0, 0, +- 0, 0x1F33, /* U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F38, 0, 0, 0, +- 0, 0x1F3A, /* U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F39, 0, 0, 0, +- 0, 0x1F3B, /* U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F40, 0, 0, 0, +- 0, 0x1F42, /* U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F41, 0, 0, 0, +- 0, 0x1F43, /* U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F48, 0, 0, 0, +- 0, 0x1F4A, /* U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F49, 0, 0, 0, +- 0, 0x1F4B, /* U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F50, 0, 0, 0, +- 0, 0x1F52, /* U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F51, 0, 0, 0, +- 0, 0x1F53, /* U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F59, 0, 0, 0, +- 0, 0x1F5B, /* U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F60, 0, 0, 0, +- 0, 0x1F62, /* U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F61, 0, 0, 0, +- 0, 0x1F63, /* U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F68, 0, 0, 0, +- 0, 0x1F6A, /* U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA */ +- IBUS_KEY_dead_grave, 0x1F69, 0, 0, 0, +- 0, 0x1F6B, /* U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA */ +- IBUS_KEY_dead_acute, IBUS_KEY_C, 0, 0, 0, +- 0, 0x00C7, /* Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA */ +- IBUS_KEY_dead_acute, IBUS_KEY_c, 0, 0, 0, +- 0, 0x00E7, /* ccedilla # LATIN SMALL LETTER C WITH CEDILLA */ +- IBUS_KEY_dead_acute, 0x1F00, 0, 0, 0, +- 0, 0x1F04, /* U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F01, 0, 0, 0, +- 0, 0x1F05, /* U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F08, 0, 0, 0, +- 0, 0x1F0C, /* U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F09, 0, 0, 0, +- 0, 0x1F0D, /* U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F10, 0, 0, 0, +- 0, 0x1F14, /* U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F11, 0, 0, 0, +- 0, 0x1F15, /* U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F18, 0, 0, 0, +- 0, 0x1F1C, /* U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F19, 0, 0, 0, +- 0, 0x1F1D, /* U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F20, 0, 0, 0, +- 0, 0x1F24, /* U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F21, 0, 0, 0, +- 0, 0x1F25, /* U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F28, 0, 0, 0, +- 0, 0x1F2C, /* U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F29, 0, 0, 0, +- 0, 0x1F2D, /* U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F30, 0, 0, 0, +- 0, 0x1F34, /* U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F31, 0, 0, 0, +- 0, 0x1F35, /* U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F38, 0, 0, 0, +- 0, 0x1F3C, /* U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F39, 0, 0, 0, +- 0, 0x1F3D, /* U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F40, 0, 0, 0, +- 0, 0x1F44, /* U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F41, 0, 0, 0, +- 0, 0x1F45, /* U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F48, 0, 0, 0, +- 0, 0x1F4C, /* U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F49, 0, 0, 0, +- 0, 0x1F4D, /* U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F50, 0, 0, 0, +- 0, 0x1F54, /* U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F51, 0, 0, 0, +- 0, 0x1F55, /* U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F59, 0, 0, 0, +- 0, 0x1F5D, /* U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F60, 0, 0, 0, +- 0, 0x1F64, /* U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F61, 0, 0, 0, +- 0, 0x1F65, /* U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F68, 0, 0, 0, +- 0, 0x1F6C, /* U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA */ +- IBUS_KEY_dead_acute, 0x1F69, 0, 0, 0, +- 0, 0x1F6D, /* U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA */ +- IBUS_KEY_dead_circumflex, 0x1EA0, 0, 0, 0, +- 0, 0x1EAC, /* U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_circumflex, 0x1EA1, 0, 0, 0, +- 0, 0x1EAD, /* U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_circumflex, 0x1EB8, 0, 0, 0, +- 0, 0x1EC6, /* U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_circumflex, 0x1EB9, 0, 0, 0, +- 0, 0x1EC7, /* U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_circumflex, 0x1ECC, 0, 0, 0, +- 0, 0x1ED8, /* U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_circumflex, 0x1ECD, 0, 0, 0, +- 0, 0x1ED9, /* U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ +- IBUS_KEY_dead_macron, 0x01EA, 0, 0, 0, +- 0, 0x01EC, /* U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON */ +- IBUS_KEY_dead_macron, 0x01EB, 0, 0, 0, +- 0, 0x01ED, /* U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON */ +- IBUS_KEY_dead_macron, 0x0226, 0, 0, 0, +- 0, 0x01E0, /* U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON */ +- IBUS_KEY_dead_macron, 0x0227, 0, 0, 0, +- 0, 0x01E1, /* U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON */ +- IBUS_KEY_dead_macron, 0x022E, 0, 0, 0, +- 0, 0x0230, /* U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON */ +- IBUS_KEY_dead_macron, 0x022F, 0, 0, 0, +- 0, 0x0231, /* U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON */ +- IBUS_KEY_dead_macron, 0x1E36, 0, 0, 0, +- 0, 0x1E38, /* U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON */ +- IBUS_KEY_dead_macron, 0x1E37, 0, 0, 0, +- 0, 0x1E39, /* U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON */ +- IBUS_KEY_dead_macron, 0x1E5A, 0, 0, 0, +- 0, 0x1E5C, /* U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON */ +- IBUS_KEY_dead_macron, 0x1E5B, 0, 0, 0, +- 0, 0x1E5D, /* U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON */ +- IBUS_KEY_dead_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0, 0, +- 0, 0x01D5, /* U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON */ +- IBUS_KEY_dead_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0, 0, +- 0, 0x01D6, /* U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON */ +- IBUS_KEY_dead_breve, 0x0228, 0, 0, 0, +- 0, 0x1E1C, /* U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */ +- IBUS_KEY_dead_breve, 0x0229, 0, 0, 0, +- 0, 0x1E1D, /* U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE */ +- IBUS_KEY_dead_breve, 0x1EA0, 0, 0, 0, +- 0, 0x1EB6, /* U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */ +- IBUS_KEY_dead_breve, 0x1EA1, 0, 0, 0, +- 0, 0x1EB7, /* U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */ +- IBUS_KEY_dead_abovedot, 0x017F, 0, 0, 0, +- 0, 0x1E9B, /* U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE */ +- IBUS_KEY_dead_abovedot, 0x1E62, 0, 0, 0, +- 0, 0x1E68, /* U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE */ +- IBUS_KEY_dead_abovedot, 0x1E63, 0, 0, 0, +- 0, 0x1E69, /* U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE */ +- IBUS_KEY_dead_diaeresis, 0x04D8, 0, 0, 0, +- 0, 0x04DA, /* U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS */ +- IBUS_KEY_dead_diaeresis, 0x04D9, 0, 0, 0, +- 0, 0x04DB, /* U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS */ +- IBUS_KEY_dead_diaeresis, 0x04E8, 0, 0, 0, +- 0, 0x04EA, /* U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS */ +- IBUS_KEY_dead_diaeresis, 0x04E9, 0, 0, 0, +- 0, 0x04EB, /* U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS */ +- IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_macron, IBUS_KEY_U, 0, 0, +- 0, 0x1E7A, /* U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS */ +- IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_macron, IBUS_KEY_u, 0, 0, +- 0, 0x1E7B, /* U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS */ +- IBUS_KEY_dead_iota, 0x1F00, 0, 0, 0, +- 0, 0x1F80, /* U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F01, 0, 0, 0, +- 0, 0x1F81, /* U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F02, 0, 0, 0, +- 0, 0x1F82, /* U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F03, 0, 0, 0, +- 0, 0x1F83, /* U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F04, 0, 0, 0, +- 0, 0x1F84, /* U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F05, 0, 0, 0, +- 0, 0x1F85, /* U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F06, 0, 0, 0, +- 0, 0x1F86, /* U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F07, 0, 0, 0, +- 0, 0x1F87, /* U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F08, 0, 0, 0, +- 0, 0x1F88, /* U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F09, 0, 0, 0, +- 0, 0x1F89, /* U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0A, 0, 0, 0, +- 0, 0x1F8A, /* U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0B, 0, 0, 0, +- 0, 0x1F8B, /* U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0C, 0, 0, 0, +- 0, 0x1F8C, /* U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0D, 0, 0, 0, +- 0, 0x1F8D, /* U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0E, 0, 0, 0, +- 0, 0x1F8E, /* U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F0F, 0, 0, 0, +- 0, 0x1F8F, /* U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F20, 0, 0, 0, +- 0, 0x1F90, /* U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F21, 0, 0, 0, +- 0, 0x1F91, /* U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F22, 0, 0, 0, +- 0, 0x1F92, /* U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F23, 0, 0, 0, +- 0, 0x1F93, /* U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F24, 0, 0, 0, +- 0, 0x1F94, /* U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F25, 0, 0, 0, +- 0, 0x1F95, /* U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F26, 0, 0, 0, +- 0, 0x1F96, /* U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F27, 0, 0, 0, +- 0, 0x1F97, /* U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F28, 0, 0, 0, +- 0, 0x1F98, /* U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F29, 0, 0, 0, +- 0, 0x1F99, /* U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2A, 0, 0, 0, +- 0, 0x1F9A, /* U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2B, 0, 0, 0, +- 0, 0x1F9B, /* U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2C, 0, 0, 0, +- 0, 0x1F9C, /* U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2D, 0, 0, 0, +- 0, 0x1F9D, /* U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2E, 0, 0, 0, +- 0, 0x1F9E, /* U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F2F, 0, 0, 0, +- 0, 0x1F9F, /* U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F60, 0, 0, 0, +- 0, 0x1FA0, /* U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F61, 0, 0, 0, +- 0, 0x1FA1, /* U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F62, 0, 0, 0, +- 0, 0x1FA2, /* U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F63, 0, 0, 0, +- 0, 0x1FA3, /* U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F64, 0, 0, 0, +- 0, 0x1FA4, /* U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F65, 0, 0, 0, +- 0, 0x1FA5, /* U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F66, 0, 0, 0, +- 0, 0x1FA6, /* U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F67, 0, 0, 0, +- 0, 0x1FA7, /* U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F68, 0, 0, 0, +- 0, 0x1FA8, /* U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F69, 0, 0, 0, +- 0, 0x1FA9, /* U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6A, 0, 0, 0, +- 0, 0x1FAA, /* U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6B, 0, 0, 0, +- 0, 0x1FAB, /* U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6C, 0, 0, 0, +- 0, 0x1FAC, /* U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6D, 0, 0, 0, +- 0, 0x1FAD, /* U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6E, 0, 0, 0, +- 0, 0x1FAE, /* U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F6F, 0, 0, 0, +- 0, 0x1FAF, /* U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F70, 0, 0, 0, +- 0, 0x1FB2, /* U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F74, 0, 0, 0, +- 0, 0x1FC2, /* U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1F7C, 0, 0, 0, +- 0, 0x1FF2, /* U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1FB6, 0, 0, 0, +- 0, 0x1FB7, /* U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1FC6, 0, 0, 0, +- 0, 0x1FC7, /* U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, 0x1FF6, 0, 0, 0, +- 0, 0x1FF7, /* U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F00, 0, 0, +- 0, 0x1F82, /* U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F01, 0, 0, +- 0, 0x1F83, /* U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F08, 0, 0, +- 0, 0x1F8A, /* U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F09, 0, 0, +- 0, 0x1F8B, /* U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F20, 0, 0, +- 0, 0x1F92, /* U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F21, 0, 0, +- 0, 0x1F93, /* U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F28, 0, 0, +- 0, 0x1F9A, /* U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F29, 0, 0, +- 0, 0x1F9B, /* U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F60, 0, 0, +- 0, 0x1FA2, /* U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F61, 0, 0, +- 0, 0x1FA3, /* U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F68, 0, 0, +- 0, 0x1FAA, /* U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F69, 0, 0, +- 0, 0x1FAB, /* U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F00, 0, 0, +- 0, 0x1F84, /* U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F01, 0, 0, +- 0, 0x1F85, /* U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F08, 0, 0, +- 0, 0x1F8C, /* U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F09, 0, 0, +- 0, 0x1F8D, /* U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F20, 0, 0, +- 0, 0x1F94, /* U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F21, 0, 0, +- 0, 0x1F95, /* U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F28, 0, 0, +- 0, 0x1F9C, /* U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F29, 0, 0, +- 0, 0x1F9D, /* U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F60, 0, 0, +- 0, 0x1FA4, /* U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F61, 0, 0, +- 0, 0x1FA5, /* U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F68, 0, 0, +- 0, 0x1FAC, /* U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F69, 0, 0, +- 0, 0x1FAD, /* U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ +- IBUS_KEY_dead_voiced_sound, 0x3046, 0, 0, 0, +- 0, 0x3094, /* U3094 # HIRAGANA LETTER VU */ +- IBUS_KEY_dead_voiced_sound, 0x304B, 0, 0, 0, +- 0, 0x304C, /* U304C # HIRAGANA LETTER GA */ +- IBUS_KEY_dead_voiced_sound, 0x304D, 0, 0, 0, +- 0, 0x304E, /* U304E # HIRAGANA LETTER GI */ +- IBUS_KEY_dead_voiced_sound, 0x304F, 0, 0, 0, +- 0, 0x3050, /* U3050 # HIRAGANA LETTER GU */ +- IBUS_KEY_dead_voiced_sound, 0x3051, 0, 0, 0, +- 0, 0x3052, /* U3052 # HIRAGANA LETTER GE */ +- IBUS_KEY_dead_voiced_sound, 0x3053, 0, 0, 0, +- 0, 0x3054, /* U3054 # HIRAGANA LETTER GO */ +- IBUS_KEY_dead_voiced_sound, 0x3055, 0, 0, 0, +- 0, 0x3056, /* U3056 # HIRAGANA LETTER ZA */ +- IBUS_KEY_dead_voiced_sound, 0x3057, 0, 0, 0, +- 0, 0x3058, /* U3058 # HIRAGANA LETTER ZI */ +- IBUS_KEY_dead_voiced_sound, 0x3059, 0, 0, 0, +- 0, 0x305A, /* U305A # HIRAGANA LETTER ZU */ +- IBUS_KEY_dead_voiced_sound, 0x305B, 0, 0, 0, +- 0, 0x305C, /* U305C # HIRAGANA LETTER ZE */ +- IBUS_KEY_dead_voiced_sound, 0x305D, 0, 0, 0, +- 0, 0x305E, /* U305E # HIRAGANA LETTER ZO */ +- IBUS_KEY_dead_voiced_sound, 0x305F, 0, 0, 0, +- 0, 0x3060, /* U3060 # HIRAGANA LETTER DA */ +- IBUS_KEY_dead_voiced_sound, 0x3061, 0, 0, 0, +- 0, 0x3062, /* U3062 # HIRAGANA LETTER DI */ +- IBUS_KEY_dead_voiced_sound, 0x3064, 0, 0, 0, +- 0, 0x3065, /* U3065 # HIRAGANA LETTER DU */ +- IBUS_KEY_dead_voiced_sound, 0x3066, 0, 0, 0, +- 0, 0x3067, /* U3067 # HIRAGANA LETTER DE */ +- IBUS_KEY_dead_voiced_sound, 0x3068, 0, 0, 0, +- 0, 0x3069, /* U3069 # HIRAGANA LETTER DO */ +- IBUS_KEY_dead_voiced_sound, 0x306F, 0, 0, 0, +- 0, 0x3070, /* U3070 # HIRAGANA LETTER BA */ +- IBUS_KEY_dead_voiced_sound, 0x3072, 0, 0, 0, +- 0, 0x3073, /* U3073 # HIRAGANA LETTER BI */ +- IBUS_KEY_dead_voiced_sound, 0x3075, 0, 0, 0, +- 0, 0x3076, /* U3076 # HIRAGANA LETTER BU */ +- IBUS_KEY_dead_voiced_sound, 0x3078, 0, 0, 0, +- 0, 0x3079, /* U3079 # HIRAGANA LETTER BE */ +- IBUS_KEY_dead_voiced_sound, 0x307B, 0, 0, 0, +- 0, 0x307C, /* U307C # HIRAGANA LETTER BO */ +- IBUS_KEY_dead_voiced_sound, 0x309D, 0, 0, 0, +- 0, 0x309E, /* U309E # HIRAGANA VOICED ITERATION MARK */ +- IBUS_KEY_dead_voiced_sound, 0x30F0, 0, 0, 0, +- 0, 0x30F8, /* U30F8 # KATAKANA LETTER VI */ +- IBUS_KEY_dead_voiced_sound, 0x30F1, 0, 0, 0, +- 0, 0x30F9, /* U30F9 # KATAKANA LETTER VE */ +- IBUS_KEY_dead_voiced_sound, 0x30FD, 0, 0, 0, +- 0, 0x30FE, /* U30FE # KATAKANA VOICED ITERATION MARK */ +- IBUS_KEY_dead_semivoiced_sound, 0x306F, 0, 0, 0, +- 0, 0x3071, /* U3071 # HIRAGANA LETTER PA */ +- IBUS_KEY_dead_semivoiced_sound, 0x3072, 0, 0, 0, +- 0, 0x3074, /* U3074 # HIRAGANA LETTER PI */ +- IBUS_KEY_dead_semivoiced_sound, 0x3075, 0, 0, 0, +- 0, 0x3077, /* U3077 # HIRAGANA LETTER PU */ +- IBUS_KEY_dead_semivoiced_sound, 0x3078, 0, 0, 0, +- 0, 0x307A, /* U307A # HIRAGANA LETTER PE */ +- IBUS_KEY_dead_semivoiced_sound, 0x307B, 0, 0, 0, +- 0, 0x307D, /* U307D # HIRAGANA LETTER PO */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_A, 0, 0, 0, +- 0, 0x0200, /* U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_E, 0, 0, 0, +- 0, 0x0204, /* U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_I, 0, 0, 0, +- 0, 0x0208, /* U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_O, 0, 0, 0, +- 0, 0x020C, /* U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_R, 0, 0, 0, +- 0, 0x0210, /* U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_U, 0, 0, 0, +- 0, 0x0214, /* U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_a, 0, 0, 0, +- 0, 0x0201, /* U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_e, 0, 0, 0, +- 0, 0x0205, /* U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_i, 0, 0, 0, +- 0, 0x0209, /* U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_o, 0, 0, 0, +- 0, 0x020D, /* U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_r, 0, 0, 0, +- 0, 0x0211, /* U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, IBUS_KEY_u, 0, 0, 0, +- 0, 0x0215, /* U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE */ +- IBUS_KEY_dead_doublegrave, 0x0474, 0, 0, 0, +- 0, 0x0476, /* U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */ +- IBUS_KEY_dead_doublegrave, 0x0475, 0, 0, 0, +- 0, 0x0477, /* U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */ +- IBUS_KEY_dead_belowring, IBUS_KEY_A, 0, 0, 0, +- 0, 0x1E00, /* U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW */ +- IBUS_KEY_dead_belowring, IBUS_KEY_a, 0, 0, 0, +- 0, 0x1E01, /* U1E01 # LATIN SMALL LETTER A WITH RING BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_B, 0, 0, 0, +- 0, 0x1E06, /* U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_D, 0, 0, 0, +- 0, 0x1E0E, /* U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_K, 0, 0, 0, +- 0, 0x1E34, /* U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_L, 0, 0, 0, +- 0, 0x1E3A, /* U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_N, 0, 0, 0, +- 0, 0x1E48, /* U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_R, 0, 0, 0, +- 0, 0x1E5E, /* U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_T, 0, 0, 0, +- 0, 0x1E6E, /* U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_Z, 0, 0, 0, +- 0, 0x1E94, /* U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_b, 0, 0, 0, +- 0, 0x1E07, /* U1E07 # LATIN SMALL LETTER B WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_d, 0, 0, 0, +- 0, 0x1E0F, /* U1E0F # LATIN SMALL LETTER D WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_h, 0, 0, 0, +- 0, 0x1E96, /* U1E96 # LATIN SMALL LETTER H WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_k, 0, 0, 0, +- 0, 0x1E35, /* U1E35 # LATIN SMALL LETTER K WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_l, 0, 0, 0, +- 0, 0x1E3B, /* U1E3B # LATIN SMALL LETTER L WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_n, 0, 0, 0, +- 0, 0x1E49, /* U1E49 # LATIN SMALL LETTER N WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_r, 0, 0, 0, +- 0, 0x1E5F, /* U1E5F # LATIN SMALL LETTER R WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_t, 0, 0, 0, +- 0, 0x1E6F, /* U1E6F # LATIN SMALL LETTER T WITH LINE BELOW */ +- IBUS_KEY_dead_belowmacron, IBUS_KEY_z, 0, 0, 0, +- 0, 0x1E95, /* U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_D, 0, 0, 0, +- 0, 0x1E12, /* U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_E, 0, 0, 0, +- 0, 0x1E18, /* U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_L, 0, 0, 0, +- 0, 0x1E3C, /* U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_N, 0, 0, 0, +- 0, 0x1E4A, /* U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_T, 0, 0, 0, +- 0, 0x1E70, /* U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_U, 0, 0, 0, +- 0, 0x1E76, /* U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_d, 0, 0, 0, +- 0, 0x1E13, /* U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_e, 0, 0, 0, +- 0, 0x1E19, /* U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_l, 0, 0, 0, +- 0, 0x1E3D, /* U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_n, 0, 0, 0, +- 0, 0x1E4B, /* U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_t, 0, 0, 0, +- 0, 0x1E71, /* U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowcircumflex, IBUS_KEY_u, 0, 0, 0, +- 0, 0x1E77, /* U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_E, 0, 0, 0, +- 0, 0x1E1A, /* U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_I, 0, 0, 0, +- 0, 0x1E2C, /* U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_U, 0, 0, 0, +- 0, 0x1E74, /* U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_e, 0, 0, 0, +- 0, 0x1E1B, /* U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_i, 0, 0, 0, +- 0, 0x1E2D, /* U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW */ +- IBUS_KEY_dead_belowtilde, IBUS_KEY_u, 0, 0, 0, +- 0, 0x1E75, /* U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW */ +- IBUS_KEY_dead_belowbreve, IBUS_KEY_H, 0, 0, 0, +- 0, 0x1E2A, /* U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW */ +- IBUS_KEY_dead_belowbreve, IBUS_KEY_h, 0, 0, 0, +- 0, 0x1E2B, /* U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW */ +- IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_U, 0, 0, 0, +- 0, 0x1E72, /* U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW */ +- IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_u, 0, 0, 0, +- 0, 0x1E73, /* U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_A, 0, 0, 0, +- 0, 0x0202, /* U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_E, 0, 0, 0, +- 0, 0x0206, /* U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_I, 0, 0, 0, +- 0, 0x020A, /* U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_O, 0, 0, 0, +- 0, 0x020E, /* U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_R, 0, 0, 0, +- 0, 0x0212, /* U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_U, 0, 0, 0, +- 0, 0x0216, /* U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_a, 0, 0, 0, +- 0, 0x0203, /* U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_e, 0, 0, 0, +- 0, 0x0207, /* U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_i, 0, 0, 0, +- 0, 0x020B, /* U020B # LATIN SMALL LETTER I WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_o, 0, 0, 0, +- 0, 0x020F, /* U020F # LATIN SMALL LETTER O WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_r, 0, 0, 0, +- 0, 0x0213, /* U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE */ +- IBUS_KEY_dead_invertedbreve, IBUS_KEY_u, 0, 0, 0, +- 0, 0x0217, /* U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE */ +- IBUS_KEY_dead_belowcomma, IBUS_KEY_S, 0, 0, 0, +- 0, 0x0218, /* U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW */ +- IBUS_KEY_dead_belowcomma, IBUS_KEY_T, 0, 0, 0, +- 0, 0x021A, /* U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW */ +- IBUS_KEY_dead_belowcomma, IBUS_KEY_s, 0, 0, 0, +- 0, 0x0219, /* U0219 # LATIN SMALL LETTER S WITH COMMA BELOW */ +- IBUS_KEY_dead_belowcomma, IBUS_KEY_t, 0, 0, 0, +- 0, 0x021B, /* U021B # LATIN SMALL LETTER T WITH COMMA BELOW */ +- IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_slash, 0, 0, +- 0, 0x301E, /* U301e # DOUBLE PRIME QUOTATION MARK */ +- IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_backslash, 0, 0, +- 0, 0x301D, /* U301d # REVERSED DOUBLE PRIME QUOTATION MARK */ +- IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x03D2, 0, 0, +- 0, 0x03D3, /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ +- IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_0, IBUS_KEY_parenright, +- 0, 0x32BF, /* U32BF # CIRCLED NUMBER FIFTY */ +- IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_0, IBUS_KEY_parenright, +- 0, 0x32BF, /* U32BF # CIRCLED NUMBER FIFTY */ +- IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E, 0, 0, +- 0, 0x0228, /* U0228 # LATIN CAPITAL LETTER E WITH CEDILLA */ +- IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e, 0, 0, +- 0, 0x0229, /* U0229 # LATIN SMALL LETTER E WITH CEDILLA */ +- IBUS_KEY_Multi_key, IBUS_KEY_period, 0x1E63, 0, 0, +- 0, 0x1E69, /* U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE */ +- IBUS_KEY_Multi_key, IBUS_KEY_question, IBUS_KEY_exclam, 0, 0, +- 0, 0x203D, /* U203D # INTERROBANG */ +- IBUS_KEY_Multi_key, IBUS_KEY_L, IBUS_KEY_equal, 0, 0, +- 0, 0x20A4, /* U20a4 # LIRA SIGN */ +- IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_E, 0, +- 0, 0x1E1C, /* U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */ +- IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_e, 0, +- 0, 0x1E1D, /* U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE */ +- IBUS_KEY_Multi_key, IBUS_KEY_d, IBUS_KEY_minus, 0, 0, +- 0, 0x20AB, /* U20ab # DONG SIGN */ +- IBUS_KEY_Multi_key, IBUS_KEY_e, IBUS_KEY_e, 0, 0, ++ IBUS_KEY_dead_acute, IBUS_KEY_C, 0, 0, ++ 0, 0x00C7, /* Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA */ ++ IBUS_KEY_dead_acute, IBUS_KEY_c, 0, 0, ++ 0, 0x00E7, /* ccedilla # LATIN SMALL LETTER C WITH CEDILLA */ ++ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_slash, 0, ++ 0, 0x301E, /* U301e # DOUBLE PRIME QUOTATION MARK */ ++ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_backslash, 0, ++ 0, 0x301D, /* U301d # REVERSED DOUBLE PRIME QUOTATION MARK */ ++ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x03D2, 0, ++ 0, 0x03D3, /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ ++ IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E, 0, ++ 0, 0x0228, /* U0228 # LATIN CAPITAL LETTER E WITH CEDILLA */ ++ IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e, 0, ++ 0, 0x0229, /* U0229 # LATIN SMALL LETTER E WITH CEDILLA */ ++ IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_E, ++ 0, 0x1E1C, /* U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */ ++ IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_e, ++ 0, 0x1E1D, /* U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE */ ++ IBUS_KEY_Multi_key, IBUS_KEY_e, IBUS_KEY_e, 0, + 0, 0x018F, /* U018f */ +- IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x03D2, 0, 0, +- 0, 0x03D3, /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ +- IBUS_KEY_Multi_key, 0x2203, 0x0338, 0, 0, +- 0, 0x2204, /* U2204 # THERE DOES NOT EXIST */ +- IBUS_KEY_Multi_key, 0x2208, 0x0338, 0, 0, +- 0, 0x2209, /* U2209 # NOT AN ELEMENT OF */ +- IBUS_KEY_Multi_key, 0x220B, 0x0338, 0, 0, +- 0, 0x220C, /* U220C # DOES NOT CONTAIN AS MEMBER */ +- IBUS_KEY_Multi_key, 0x2223, 0x0338, 0, 0, +- 0, 0x2224, /* U2224 # DOES NOT DIVIDE */ +- IBUS_KEY_Multi_key, 0x2225, 0x0338, 0, 0, +- 0, 0x2226, /* U2226 # NOT PARALLEL TO */ +- IBUS_KEY_Multi_key, 0x2286, 0x0338, 0, 0, +- 0, 0x2288, /* U2288 # NEITHER A SUBSET OF NOR EQUAL TO */ +- IBUS_KEY_Multi_key, 0x2287, 0x0338, 0, 0, +- 0, 0x2289, /* U2289 # NEITHER A SUPERSET OF NOR EQUAL TO */ +- IBUS_KEY_Multi_key, 0x2291, 0x0338, 0, 0, +- 0, 0x22E2, /* U22E2 # NOT SQUARE IMAGE OF OR EQUAL TO */ +- IBUS_KEY_Multi_key, 0x2292, 0x0338, 0, 0, +- 0, 0x22E3, /* U22E3 # NOT SQUARE ORIGINAL OF OR EQUAL TO */ +- IBUS_KEY_Multi_key, 0x22B4, 0x0338, 0, 0, +- 0, 0x22EC, /* U22EC # NOT NORMAL SUBGROUP OF OR EQUAL TO */ +- IBUS_KEY_Multi_key, 0x22B5, 0x0338, 0, 0, +- 0, 0x22ED /* U22ED # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */ ++ IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x03D2, 0, ++ 0, 0x03D3 /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ + }; + + static const IBusComposeTable ibus_compose_table_pt_br = { + ibus_compose_seqs_pt_br, +- 5, +- G_N_ELEMENTS (ibus_compose_seqs_pt_br) / (5 + 2) ++ 4, ++ G_N_ELEMENTS (ibus_compose_seqs_pt_br) / (4 + 2) + }; + + static const IBusComposeTableLocaleList ibus_compose_table_locale_list[] = { +-- +1.8.5.3 + +From a5300750e38b5327bdd255d777544d0c0ebcb4d9 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 24 Jun 2014 11:24:40 +0900 +Subject: [PATCH 4/8] Do not sort ibus engines when they are saved by + ibus-setup. + +ibus 1.5 changes the engine order with Super+space shortcut key +and now ibus-setup shows the sorted engines by longname on UI. +This fixes not to save the sorted order with ibus-setup. + +TEST=setup + +Review URL: https://codereview.appspot.com/102610044 +--- + setup/enginetreeview.py | 13 ++++++++----- + setup/main.py | 3 ++- + 2 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/setup/enginetreeview.py b/setup/enginetreeview.py +index b116c54..3ab81b7 100644 +--- a/setup/enginetreeview.py ++++ b/setup/enginetreeview.py +@@ -47,7 +47,7 @@ class EngineTreeView(Gtk.TreeView): + def __init__(self): + super(EngineTreeView, self).__init__() + +- self.__engines = set([]) ++ self.__engines = [] + self.__changed = False + + # self.set_headers_visible(True) +@@ -186,13 +186,13 @@ class EngineTreeView(Gtk.TreeView): + + def set_engines(self, engines): + self.__model.clear() +- self.__engines = set([]) ++ self.__engines = [] + for e in engines: + if e in self.__engines: + continue + it = self.__model.append(None) + self.__model.set(it, 0, e) +- self.__engines.add(e) ++ self.__engines.append(e) + self.__emit_changed() + + def get_selected_iter(self): +@@ -201,6 +201,9 @@ class EngineTreeView(Gtk.TreeView): + return selection.get_selected()[1] + + def get_engines(self): ++ return self.__engines ++ ++ def get_sorted_engines(self): + return self.get_property("engines") + + def get_active_engine(self): +@@ -211,7 +214,7 @@ class EngineTreeView(Gtk.TreeView): + return + it = self.__model.prepend(None) + self.__model.set(it, 0, engine) +- self.__engines.add(engine) ++ self.__engines = [engine] + self.__engines + self.scroll_to_cell(self.__model[0].path, None) + + def append_engine(self, engine): +@@ -219,7 +222,7 @@ class EngineTreeView(Gtk.TreeView): + return + it = self.__model.append(None) + self.__model.set(it, 0, engine) +- self.__engines.add(engine) ++ self.__engines.append(engine) + self.scroll_to_cell(self.__model[-1].path, None) + + def remove_engine(self): +diff --git a/setup/main.py b/setup/main.py +index dee7be4..1d89f3d 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -274,7 +274,7 @@ class Setup(object): + if prop.name not in ("active-engine", "engines"): + return + +- engines = self.__treeview.get_engines() ++ engines = self.__treeview.get_sorted_engines() + engine = self.__treeview.get_active_engine() + + self.__builder.get_object("button_engine_remove").set_sensitive(engine != None) +@@ -289,6 +289,7 @@ class Setup(object): + obj.set_sensitive(False) + + if prop.name == "engines": ++ engines = self.__treeview.get_engines() + engine_names = [e.get_name() for e in engines] + self.__settings_general.set_strv('preload-engines', engine_names) + +-- +1.8.5.3 + +From 8ef258ec31f12405e4f5ded6a7a4d80114a219d4 Mon Sep 17 00:00:00 2001 +From: Osamu Aoki +Date: Thu, 3 Jul 2014 11:39:32 +0900 +Subject: [PATCH 5/8] Use "keycode Linux_keycode = X11_keysym" format + +Delete non-Linux keyboard compatibility. + +These are tested for both PC and Mac. Using showkey and xev + +Notably: + + Hangul = Eisuu-on-mac-keyboard + Hangul_Hanja = Kana/kana -on-mac-keyboard + +BUG=http://code.google.com/p/ibus/issues/detail?id=1724 +TEST=data/keymaps/keycode.py + +Review URL: https://codereview.appspot.com/106250045 +Patch from Osamu Aoki . +--- + data/keymaps/jp | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/data/keymaps/jp b/data/keymaps/jp +index 2c78347..e5546fa 100644 +--- a/data/keymaps/jp ++++ b/data/keymaps/jp +@@ -31,11 +31,14 @@ keycode 52 = period + keycode 53 = slash + shift keycode 53 = question + shift keycode 58 = Eisu_toggle +- shift keycode 84 = Execute +-keycode 112 = Katakana +-keycode 115 = backslash +- shift keycode 115 = underscore +-keycode 121 = Henkan_Mode +-keycode 123 = Muhenkan ++keycode 89 = backslash ++ shift keycode 89 = underscore ++keycode 92 = Henkan_Mode ++keycode 93 = Hiragana_Katakana ++keycode 94 = Muhenkan + keycode 124 = yen + shift keycode 124 = bar ++keycode 122 = Hangul ++keycode 123 = Hangul_Hanja ++ shift keycode 84 = Execute ++keycode 112 = Katakana +-- +1.8.5.3 + +From 3dcf24742216d6234a45ace1b433b864efdf08a2 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 4 Jul 2014 16:03:57 +0900 +Subject: [PATCH 7/8] Add ibus reset-config and read-config sub-commands. + +BUG=rhbz#530711 +TEST=tools/ibus + +Review URL: https://codereview.appspot.com/103670044 +--- + tools/main.vala | 48 +++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 47 insertions(+), 1 deletion(-) + +diff --git a/tools/main.vala b/tools/main.vala +index db4fd23..ecce80a 100644 +--- a/tools/main.vala ++++ b/tools/main.vala +@@ -20,6 +20,12 @@ + * USA + */ + ++private const string[] IBUS_SCHEMAS = { ++ "org.freedesktop.ibus.general", ++ "org.freedesktop.ibus.general.hotkey", ++ "org.freedesktop.ibus.panel", ++}; ++ + bool name_only = false; + /* system() exists as a public API. */ + bool is_system = false; +@@ -276,6 +282,44 @@ int print_address(string[] argv) { + return Posix.EXIT_SUCCESS; + } + ++int read_config(string[] argv) { ++ var output = new GLib.StringBuilder(); ++ ++ foreach (string schema in IBUS_SCHEMAS) { ++ GLib.Settings settings = new GLib.Settings(schema); ++ ++ output.append_printf("SCHEMA: %s\n", schema); ++ ++ foreach (string key in settings.list_keys()) { ++ GLib.Variant variant = settings.get_value(key); ++ output.append_printf(" %s: %s\n", key, variant.print(true)); ++ } ++ } ++ print("%s", output.str); ++ ++ return Posix.EXIT_SUCCESS; ++} ++ ++int reset_config(string[] argv) { ++ print("%s\n", _("Resetting…")); ++ ++ foreach (string schema in IBUS_SCHEMAS) { ++ GLib.Settings settings = new GLib.Settings(schema); ++ ++ print("SCHEMA: %s\n", schema); ++ ++ foreach (string key in settings.list_keys()) { ++ print(" %s\n", key); ++ settings.reset(key); ++ } ++ } ++ ++ GLib.Settings.sync(); ++ print("%s\n", _("Done")); ++ ++ return Posix.EXIT_SUCCESS; ++} ++ + int print_help(string[] argv) { + print_usage(stdout); + return Posix.EXIT_SUCCESS; +@@ -299,6 +343,8 @@ static const CommandEntry commands[] = { + { "read-cache", N_("Show the content of registry cache"), read_cache }, + { "write-cache", N_("Create registry cache"), write_cache }, + { "address", N_("Print the D-Bus address of ibus-daemon"), print_address }, ++ { "read-config", N_("Show the configuration values"), read_config }, ++ { "reset-config", N_("Reset the configuration values"), reset_config }, + { "help", N_("Show this information"), print_help } + }; + +@@ -308,7 +354,7 @@ void print_usage(FileStream stream) { + stream.printf(_("Usage: %s COMMAND [OPTION...]\n\n"), program_name); + stream.printf(_("Commands:\n")); + for (int i = 0; i < commands.length; i++) { +- stream.printf(" %-11s %s\n", ++ stream.printf(" %-12s %s\n", + commands[i].name, + GLib.dgettext(null, commands[i].description)); + } +-- +1.8.5.3 + +From 4c245bbbac3edea90980a0f47ef2d5c0c070f936 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 7 Jul 2014 16:17:25 +0900 +Subject: [PATCH 8/8] Update ibus(1) for read-config and reset-config. + +--- + tools/ibus.1.in | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/tools/ibus.1.in b/tools/ibus.1.in +index ab99db4..f777f65 100644 +--- a/tools/ibus.1.in ++++ b/tools/ibus.1.in +@@ -85,6 +85,13 @@ directories, separated by ':'. + \fBaddress\fR + Show the D-Bus address of ibus-daemon. + .TP ++\fBread\-config\fR ++Show the setting values in a gsettings configuration file. ++.TP ++\fBreset\-config\fR ++Reset the user setting values to the default ones in a gsettings ++configuration file. ++.TP + \fBwatch\fR + Under construction. + .TP +-- +1.8.5.3 + diff --git a/ibus.spec b/ibus.spec index 9b55d9d..c7f74c9 100644 --- a/ibus.spec +++ b/ibus.spec @@ -36,7 +36,7 @@ Name: ibus Version: 1.5.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries @@ -466,6 +466,16 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Mon Jul 07 2014 Takao Fujiwara - 1.5.7-5 +- Updated ibus-HEAD.patch from upstream. + Added pl(qwertz). + Fixed escape key with Ctrl-Shift-U. + Updated pt-br compose table from the latest xorg. + Do not sort ibus engines when they are saved by ibus-setup. + Updated jp IBusKeymap. + Added ibus reset-config and read-config sub-commands. + Update ibus(1) for read-config and reset-config. + * Sat Jun 07 2014 Fedora Release Engineering - 1.5.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild