diff options
author | Albert Astals Cid | 2021-07-16 16:38:09 +0200 |
---|---|---|
committer | Albert Astals Cid | 2021-07-16 16:38:09 +0200 |
commit | aa739cab547dcf1268b60ca262e92560cd43d3b2 (patch) | |
tree | 3932f655b97f5011bb98ea97b50deb1e7d92fbe0 | |
parent | 708f06c79bd65286fbfc2104570641a3fef3ea2e (diff) | |
download | aur-aa739cab547dcf1268b60ca262e92560cd43d3b2.tar.gz |
3.24.30
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | 41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch | 16 | ||||
-rw-r--r-- | 58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch | 27 | ||||
-rw-r--r-- | 59397005fa8136dd73079d75b0575b00f114ce35.patch | 658 | ||||
-rw-r--r-- | 7b3c387af9e9c6c37c5751258ded6708094d4c73.patch | 51 | ||||
-rw-r--r-- | 8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch | 141 | ||||
-rw-r--r-- | PKGBUILD | 35 | ||||
-rw-r--r-- | a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch | 57 | ||||
-rw-r--r-- | b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch | 24 | ||||
-rw-r--r-- | c26525f87c885929eccf248dd8cae2a2cf28b819.patch | 199 | ||||
-rw-r--r-- | ed9b3f505718f9a877f5029a002bd097635840fc.patch | 225 | ||||
-rw-r--r-- | no_deadkeys_underline.patch | 14 |
12 files changed, 15 insertions, 1456 deletions
@@ -1,7 +1,7 @@ pkgbase = gtk3-no_deadkeys_underline pkgdesc = Like gtk3 in extra but with a patch to disable dead keys having an underline below them while typing - pkgver = 3.24.29 - pkgrel = 2 + pkgver = 3.24.30 + pkgrel = 1 epoch = 1 url = https://www.gtk.org/ install = gtk3.install @@ -52,29 +52,11 @@ pkgbase = gtk3-no_deadkeys_underline conflicts = gtk3-print-backends conflicts = gtk3 replaces = gtk3-print-backends<=3.22.26-1 - source = git+https://gitlab.gnome.org/GNOME/gtk.git#commit=77f32a69c0a35ffd3a1a542a6057c1c6d13c793d + source = git+https://gitlab.gnome.org/GNOME/gtk.git#commit=d4e2d05cd9518ba04d6fbe1cbcec27142788ac95 source = gtk-query-immodules-3.0.hook source = no_deadkeys_underline.patch - source = c26525f87c885929eccf248dd8cae2a2cf28b819.patch - source = a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch - source = 7b3c387af9e9c6c37c5751258ded6708094d4c73.patch - source = 41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch - source = 59397005fa8136dd73079d75b0575b00f114ce35.patch - source = 58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch - source = 8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch - source = b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch - source = ed9b3f505718f9a877f5029a002bd097635840fc.patch sha256sums = SKIP sha256sums = a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229 sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP pkgname = gtk3-no_deadkeys_underline diff --git a/41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch b/41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch deleted file mode 100644 index 9ed252ed5fff..000000000000 --- a/41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch +++ /dev/null @@ -1,16 +0,0 @@ -commit 41c3e9873cf2b388d4a91fbd86c360d53b1a00da -Author: Matthias Clasen <mclasen@redhat.com> -Date: Sun Mar 21 20:56:17 2021 -0400 - - Move compose related tooling to a subdir - - This reduces the clutter in gtk/. - -diff --git a/gtk/compose-parse.py b/gtk/compose/compose-parse.py -similarity index 100% -rename from gtk/compose-parse.py -rename to gtk/compose/compose-parse.py -diff --git a/gtk/gtk-compose-lookaside.txt b/gtk/compose/gtk-compose-lookaside.txt -similarity index 100% -rename from gtk/gtk-compose-lookaside.txt -rename to gtk/compose/gtk-compose-lookaside.txt diff --git a/58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch b/58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch deleted file mode 100644 index f53529e5ca74..000000000000 --- a/58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 58b3145c90a4681bf1ee026f58e12bfb5cafe81a -Author: Matthias Clasen <mclasen@redhat.com> -Date: Fri Mar 26 19:48:41 2021 -0400 - - composetable: Limit algorithmic checking - - Only check for combinations of up to 2 dead keys with - a base character. We don't want to spend ages generating - all permutations of long sequences. - -diff --git a/gtk/gtkcomposetable.c b/gtk/gtkcomposetable.c -index 512e35e61d..185f89fefe 100644 ---- a/gtk/gtkcomposetable.c -+++ b/gtk/gtkcomposetable.c -@@ -1190,6 +1190,12 @@ gtk_check_algorithmically (const guint16 *compose_buffer, - - for (i = 0; i < n_compose && IS_DEAD_KEY (compose_buffer[i]); i++) - ; -+ -+ /* Allow at most 2 dead keys */ -+ if (i > 2) -+ return FALSE; -+ -+ /* Can't combine if there's no base character */ - if (i == n_compose) - return TRUE; - diff --git a/59397005fa8136dd73079d75b0575b00f114ce35.patch b/59397005fa8136dd73079d75b0575b00f114ce35.patch deleted file mode 100644 index 2f86bcef2ec0..000000000000 --- a/59397005fa8136dd73079d75b0575b00f114ce35.patch +++ /dev/null @@ -1,658 +0,0 @@ -commit 59397005fa8136dd73079d75b0575b00f114ce35 -Author: Matthias Clasen <mclasen@redhat.com> -Date: Sun Mar 21 21:05:20 2021 -0400 - - Regenerate compose sequence file - - Update our compose sequences based on the current - update xorg Compose.pre file. Beyond that, remove - some deadkey sequences that we are now handling - (better) in code. - -diff --git a/gtk/compose/gtk-compose-lookaside.txt b/gtk/compose/gtk-compose-lookaside.txt -index 3f3b23c69c..c846cc8121 100644 ---- a/gtk/compose/gtk-compose-lookaside.txt -+++ b/gtk/compose/gtk-compose-lookaside.txt -@@ -403,3 +403,7 @@ - <Multi_key> <Greek_omicron> <apostrophe> : "ό" U03CC - <Multi_key> <Greek_upsilon> <apostrophe> : "ύ" U03CD - <Multi_key> <Greek_omega> <apostrophe> : "ώ" U03CE -+ -+# This sequence matches our handling of dead keys better. -+# We remove the xorg sequence that maps this to ' -+<dead_acute> <space> : "´" acute # ACUTE ACCENT -diff --git a/gtk/compose/gtk-compose-remove.txt b/gtk/compose/gtk-compose-remove.txt -new file mode 100644 -index 0000000000..620df9e9ce ---- /dev/null -+++ b/gtk/compose/gtk-compose-remove.txt -@@ -0,0 +1,14 @@ -+<dead_tilde> <dead_tilde> : "~" asciitilde # TILDE -+<dead_acute> <space> : "'" apostrophe # APOSTROPHE -+<dead_acute> <dead_acute> : "´" acute # ACUTE ACCENT -+<dead_grave> <dead_grave> : "`" grave # GRAVE ACCENT -+<dead_abovering> <dead_abovering> : "°" degree # DEGREE SIGN -+<dead_macron> <dead_macron> : "¯" macron # MACRON -+<dead_breve> <dead_breve> : "˘" breve # BREVE -+<dead_abovedot> <dead_abovedot> : "˙" abovedot # DOT ABOVE -+<dead_diaeresis> <dead_diaeresis> : "¨" diaeresis # DIAERESIS -+<dead_doubleacute> <dead_doubleacute> : "˝" U2dd # DOUBLE ACUTE ACCENT -+<dead_caron> <dead_caron> : "ˇ" caron # CARON -+<dead_cedilla> <dead_cedilla> : "¸" cedilla # CEDILLA -+<dead_ogonek> <dead_ogonek> : "˛" ogonek # OGONEK -+<dead_iota> <dead_iota> : "ͺ" U37a # GREEK YPOGEGRAMMENI -diff --git a/gtk/gtkimcontextsimpleseqs.h b/gtk/gtkimcontextsimpleseqs.h -index 9a88b0feca..9cbf37d078 100644 ---- a/gtk/gtkimcontextsimpleseqs.h -+++ b/gtk/gtkimcontextsimpleseqs.h -@@ -66,35 +66,35 @@ - - static const guint16 gtk_compose_seqs_compact[] = { - GDK_KEY_Greek_accentdieresis, 180, 184, 184, 184, 184, --GDK_KEY_dead_grave, 184, 246, 333, 545, 545, --GDK_KEY_dead_acute, 545, 609, 705, 981, 981, --GDK_KEY_dead_circumflex, 981, 1105, 1105, 1305, 1305, --GDK_KEY_dead_tilde, 1305, 1389, 1452, 1592, 1592, --GDK_KEY_dead_macron, 1592, 1638, 1656, 1728, 1728, --GDK_KEY_dead_breve, 1728, 1778, 1778, 1802, 1802, --GDK_KEY_dead_abovedot, 1802, 1832, 1835, 1871, 1871, --GDK_KEY_dead_diaeresis, 1871, 1959, 1971, 1995, 1995, --GDK_KEY_dead_abovering, 1995, 2005, 2005, 2005, 2005, --GDK_KEY_dead_doubleacute, 2005, 2015, 2015, 2015, 2015, --GDK_KEY_dead_caron, 2015, 2057, 2057, 2065, 2065, --GDK_KEY_dead_cedilla, 2065, 2077, 2083, 2083, 2083, --GDK_KEY_dead_ogonek, 2083, 2093, 2093, 2093, 2093, --GDK_KEY_dead_iota, 2093, 2115, 2214, 2646, 3306, --GDK_KEY_dead_voiced_sound, 3306, 3352, 3352, 3352, 3352, --GDK_KEY_dead_semivoiced_sound, 3352, 3362, 3362, 3362, 3362, --GDK_KEY_dead_belowdot, 3362, 3378, 3378, 3394, 3394, --GDK_KEY_dead_hook, 3394, 3472, 3475, 3531, 3531, --GDK_KEY_dead_horn, 3531, 3541, 3541, 3541, 3541, --GDK_KEY_dead_stroke, 3541, 3629, 3641, 3641, 3641, --GDK_KEY_dead_psili, 3641, 3669, 3669, 3669, 3669, --GDK_KEY_dead_dasia, 3669, 3701, 3701, 3701, 3701, --GDK_KEY_dead_belowring, 3701, 3703, 3703, 3703, 3703, --GDK_KEY_dead_belowtilde, 3703, 3705, 3705, 3705, 3705, --GDK_KEY_dead_belowdiaeresis, 3705, 3705, 3708, 3708, 3708, --GDK_KEY_dead_belowcomma, 3708, 3722, 3722, 3722, 3722, --GDK_KEY_dead_currency, 3722, 3820, 3826, 3826, 3826, --GDK_KEY_dead_greek, 3826, 3928, 3952, 3952, 3952, --GDK_KEY_Multi_key, 3952, 3952, 10348, 14044, 15919, -+GDK_KEY_dead_grave, 184, 244, 331, 543, 543, -+GDK_KEY_dead_acute, 543, 605, 701, 977, 977, -+GDK_KEY_dead_circumflex, 977, 1101, 1101, 1301, 1301, -+GDK_KEY_dead_tilde, 1301, 1383, 1446, 1586, 1586, -+GDK_KEY_dead_macron, 1586, 1630, 1648, 1720, 1720, -+GDK_KEY_dead_breve, 1720, 1768, 1768, 1792, 1792, -+GDK_KEY_dead_abovedot, 1792, 1820, 1823, 1859, 1859, -+GDK_KEY_dead_diaeresis, 1859, 1945, 1957, 1981, 1981, -+GDK_KEY_dead_abovering, 1981, 1989, 1989, 1989, 1989, -+GDK_KEY_dead_doubleacute, 1989, 1997, 1997, 1997, 1997, -+GDK_KEY_dead_caron, 1997, 2037, 2037, 2045, 2045, -+GDK_KEY_dead_cedilla, 2045, 2055, 2061, 2061, 2061, -+GDK_KEY_dead_ogonek, 2061, 2069, 2069, 2069, 2069, -+GDK_KEY_dead_iota, 2069, 2089, 2188, 2620, 3280, -+GDK_KEY_dead_voiced_sound, 3280, 3326, 3326, 3326, 3326, -+GDK_KEY_dead_semivoiced_sound, 3326, 3336, 3336, 3336, 3336, -+GDK_KEY_dead_belowdot, 3336, 3352, 3352, 3368, 3368, -+GDK_KEY_dead_hook, 3368, 3446, 3449, 3505, 3505, -+GDK_KEY_dead_horn, 3505, 3515, 3515, 3515, 3515, -+GDK_KEY_dead_stroke, 3515, 3603, 3615, 3615, 3615, -+GDK_KEY_dead_psili, 3615, 3643, 3643, 3643, 3643, -+GDK_KEY_dead_dasia, 3643, 3675, 3675, 3675, 3675, -+GDK_KEY_dead_belowring, 3675, 3677, 3677, 3677, 3677, -+GDK_KEY_dead_belowtilde, 3677, 3679, 3679, 3679, 3679, -+GDK_KEY_dead_belowdiaeresis, 3679, 3679, 3682, 3682, 3682, -+GDK_KEY_dead_belowcomma, 3682, 3696, 3696, 3696, 3696, -+GDK_KEY_dead_currency, 3696, 3794, 3800, 3800, 3800, -+GDK_KEY_dead_greek, 3800, 3902, 3926, 3926, 3926, -+GDK_KEY_Multi_key, 3926, 3926, 10637, 14345, 16220, - GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_Greek_upsilon, 0x03B0, - GDK_KEY_space, 0x0060, -@@ -127,7 +127,6 @@ GDK_KEY_Greek_iota, 0x1F76, - GDK_KEY_Greek_omicron, 0x1F78, - GDK_KEY_Greek_upsilon, 0x1F7A, - GDK_KEY_Greek_omega, 0x1F7C, --GDK_KEY_dead_grave, 0x0060, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD2, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE2, - GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0A, -@@ -210,7 +209,7 @@ GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_E, 0x1E14, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_O, 0x1E50, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_e, 0x1E15, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_o, 0x1E51, --GDK_KEY_space, 0x0027, -+GDK_KEY_space, 0x00B4, - GDK_KEY_V, 0x01D7, - GDK_KEY_v, 0x01D8, - GDK_KEY_nobreakspace, 0x0301, -@@ -241,7 +240,6 @@ GDK_KEY_Greek_iota, 0x03AF, - GDK_KEY_Greek_omicron, 0x03CC, - GDK_KEY_Greek_upsilon, 0x03CD, - GDK_KEY_Greek_omega, 0x03CE, --GDK_KEY_dead_acute, 0x00B4, - GDK_KEY_dead_diaeresis, GDK_KEY_space, 0x0385, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x03B0, -@@ -496,7 +494,6 @@ GDK_KEY_Greek_omega, 0x1FF6, - 0x1F61, 0x1F67, - 0x1F68, 0x1F6E, - 0x1F69, 0x1F6F, --GDK_KEY_dead_tilde, 0x007E, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD7, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE7, - GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0E, -@@ -575,7 +572,6 @@ GDK_KEY_Greek_UPSILON, 0x1FE9, - GDK_KEY_Greek_alpha, 0x1FB1, - GDK_KEY_Greek_iota, 0x1FD1, - GDK_KEY_Greek_upsilon, 0x1FE1, --GDK_KEY_dead_macron, 0x00AF, - GDK_KEY_dead_greek, GDK_KEY_A, 0x1FB9, - GDK_KEY_dead_greek, GDK_KEY_I, 0x1FD9, - GDK_KEY_dead_greek, GDK_KEY_U, 0x1FE9, -@@ -624,7 +620,6 @@ GDK_KEY_Greek_UPSILON, 0x1FE8, - GDK_KEY_Greek_alpha, 0x1FB0, - GDK_KEY_Greek_iota, 0x1FD0, - GDK_KEY_Greek_upsilon, 0x1FE0, --GDK_KEY_dead_breve, 0x02D8, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_A, 0x1EB6, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_a, 0x1EB7, - GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_E, 0x1E1C, -@@ -645,7 +640,6 @@ GDK_KEY_Amacron, 0x01E0, - GDK_KEY_Omacron, 0x0230, - GDK_KEY_amacron, 0x01E1, - GDK_KEY_omacron, 0x0231, --GDK_KEY_dead_abovedot, 0x02D9, - GDK_KEY_dead_stroke, GDK_KEY_j, 0x025F, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_S, 0x1E68, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_s, 0x1E69, -@@ -699,7 +693,6 @@ GDK_KEY_Greek_IOTA, 0x03AA, - GDK_KEY_Greek_UPSILON, 0x03AB, - GDK_KEY_Greek_iota, 0x03CA, - GDK_KEY_Greek_upsilon, 0x03CB, --GDK_KEY_dead_diaeresis, 0x00A8, - GDK_KEY_dead_acute, GDK_KEY_space, 0x0385, - GDK_KEY_dead_acute, GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_dead_acute, GDK_KEY_Greek_upsilon, 0x03B0, -@@ -714,12 +707,10 @@ GDK_KEY_space, 0x00B0, - GDK_KEY_nobreakspace, 0x030A, - GDK_KEY_Aacute, 0x01FA, - GDK_KEY_aacute, 0x01FB, --GDK_KEY_dead_abovering, 0x00B0, - GDK_KEY_space, 0x02DD, - GDK_KEY_nobreakspace, 0x030B, - GDK_KEY_Cyrillic_u, 0x04F3, - GDK_KEY_Cyrillic_U, 0x04F2, --GDK_KEY_dead_doubleacute, 0x02DD, - GDK_KEY_space, 0x02C7, - GDK_KEY_parenleft, 0x208D, - GDK_KEY_parenright, 0x208E, -@@ -740,7 +731,6 @@ GDK_KEY_V, 0x01D9, - GDK_KEY_v, 0x01DA, - GDK_KEY_nobreakspace, 0x030C, - 0x01F2, 0x01C5, --GDK_KEY_dead_caron, 0x02C7, - GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D9, - GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DA, - GDK_KEY_space, 0x00B8, -@@ -748,14 +738,12 @@ GDK_KEY_nobreakspace, 0x0327, - GDK_KEY_cent, 0x20B5, - GDK_KEY_Cacute, 0x1E08, - GDK_KEY_cacute, 0x1E09, --GDK_KEY_dead_cedilla, 0x00B8, - GDK_KEY_dead_currency, GDK_KEY_C, 0x20B5, - GDK_KEY_dead_currency, GDK_KEY_c, 0x20B5, - GDK_KEY_space, 0x02DB, - GDK_KEY_nobreakspace, 0x0328, - GDK_KEY_Omacron, 0x01EC, - GDK_KEY_omacron, 0x01ED, --GDK_KEY_dead_ogonek, 0x02DB, - GDK_KEY_space, 0x037A, - GDK_KEY_Greek_alphaaccent, 0x1FB4, - GDK_KEY_Greek_etaaccent, 0x1FC4, -@@ -766,7 +754,6 @@ GDK_KEY_Greek_OMEGA, 0x1FFC, - GDK_KEY_Greek_alpha, 0x1FB3, - GDK_KEY_Greek_eta, 0x1FC3, - GDK_KEY_Greek_omega, 0x1FF3, --GDK_KEY_dead_iota, 0x037A, - GDK_KEY_dead_grave, GDK_KEY_Greek_alpha, 0x1FB2, - GDK_KEY_dead_grave, GDK_KEY_Greek_eta, 0x1FC2, - GDK_KEY_dead_grave, GDK_KEY_Greek_omega, 0x1FF2, -@@ -1361,6 +1348,7 @@ GDK_KEY_exclam, GDK_KEY_L, 0x1E36, - GDK_KEY_exclam, GDK_KEY_M, 0x1E42, - GDK_KEY_exclam, GDK_KEY_N, 0x1E46, - GDK_KEY_exclam, GDK_KEY_O, 0x1ECC, -+GDK_KEY_exclam, GDK_KEY_P, 0x00B6, - GDK_KEY_exclam, GDK_KEY_R, 0x1E5A, - GDK_KEY_exclam, GDK_KEY_S, 0x1E62, - GDK_KEY_exclam, GDK_KEY_T, 0x1E6C, -@@ -1381,6 +1369,7 @@ GDK_KEY_exclam, GDK_KEY_l, 0x1E37, - GDK_KEY_exclam, GDK_KEY_m, 0x1E43, - GDK_KEY_exclam, GDK_KEY_n, 0x1E47, - GDK_KEY_exclam, GDK_KEY_o, 0x1ECD, -+GDK_KEY_exclam, GDK_KEY_p, 0x00B6, - GDK_KEY_exclam, GDK_KEY_r, 0x1E5B, - GDK_KEY_exclam, GDK_KEY_s, 0x1E63, - GDK_KEY_exclam, GDK_KEY_t, 0x1E6D, -@@ -1576,6 +1565,12 @@ GDK_KEY_apostrophe, 0x2395, 0x235E, - GDK_KEY_parenleft, GDK_KEY_space, 0x02D8, - GDK_KEY_parenleft, GDK_KEY_parenleft, 0x005B, - GDK_KEY_parenleft, GDK_KEY_minus, 0x007B, -+GDK_KEY_parenleft, GDK_KEY_A, 0x0102, -+GDK_KEY_parenleft, GDK_KEY_G, 0x011E, -+GDK_KEY_parenleft, GDK_KEY_a, 0x0103, -+GDK_KEY_parenleft, GDK_KEY_c, 0x00A9, -+GDK_KEY_parenleft, GDK_KEY_g, 0x011F, -+GDK_KEY_parenleft, GDK_KEY_r, 0x00AE, - GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F09, - GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F19, - GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F29, -@@ -1664,12 +1659,13 @@ GDK_KEY_minus, GDK_KEY_comma, 0x00AC, - GDK_KEY_minus, GDK_KEY_slash, 0x233F, - GDK_KEY_minus, GDK_KEY_colon, 0x00F7, - GDK_KEY_minus, GDK_KEY_greater, 0x2192, --GDK_KEY_minus, GDK_KEY_A, 0x0100, -+GDK_KEY_minus, GDK_KEY_A, 0x00C3, - GDK_KEY_minus, GDK_KEY_D, 0x0110, - GDK_KEY_minus, GDK_KEY_E, 0x0112, - GDK_KEY_minus, GDK_KEY_I, 0x012A, - GDK_KEY_minus, GDK_KEY_L, 0x00A3, --GDK_KEY_minus, GDK_KEY_O, 0x014C, -+GDK_KEY_minus, GDK_KEY_N, 0x00D1, -+GDK_KEY_minus, GDK_KEY_O, 0x00D5, - GDK_KEY_minus, GDK_KEY_U, 0x016A, - GDK_KEY_minus, GDK_KEY_Y, 0x00A5, - GDK_KEY_minus, GDK_KEY_backslash, 0x2340, -@@ -1679,6 +1675,7 @@ GDK_KEY_minus, GDK_KEY_d, 0x0111, - GDK_KEY_minus, GDK_KEY_e, 0x0113, - GDK_KEY_minus, GDK_KEY_i, 0x012B, - GDK_KEY_minus, GDK_KEY_l, 0x00A3, -+GDK_KEY_minus, GDK_KEY_n, 0x00F1, - GDK_KEY_minus, GDK_KEY_o, 0x014D, - GDK_KEY_minus, GDK_KEY_u, 0x016B, - GDK_KEY_minus, GDK_KEY_y, 0x00A5, -@@ -1752,6 +1749,7 @@ GDK_KEY_slash, GDK_KEY_I, 0x0197, - GDK_KEY_slash, GDK_KEY_L, 0x0141, - GDK_KEY_slash, GDK_KEY_O, 0x00D8, - GDK_KEY_slash, GDK_KEY_T, 0x0166, -+GDK_KEY_slash, GDK_KEY_U, 0x00B5, - GDK_KEY_slash, GDK_KEY_Z, 0x01B5, - GDK_KEY_slash, GDK_KEY_asciicircum, 0x007C, - GDK_KEY_slash, GDK_KEY_b, 0x0180, -@@ -1780,6 +1778,13 @@ GDK_KEY_slash, 0x2194, 0x21AE, - GDK_KEY_slash, 0x2395, 0x2341, - GDK_KEY_0, GDK_KEY_asterisk, 0x00B0, - GDK_KEY_0, GDK_KEY_3, 0x2189, -+GDK_KEY_0, GDK_KEY_C, 0x00A9, -+GDK_KEY_0, GDK_KEY_S, 0x00A7, -+GDK_KEY_0, GDK_KEY_X, 0x00A4, -+GDK_KEY_0, GDK_KEY_asciicircum, 0x00B0, -+GDK_KEY_0, GDK_KEY_c, 0x00A9, -+GDK_KEY_0, GDK_KEY_s, 0x00A7, -+GDK_KEY_0, GDK_KEY_x, 0x00A4, - GDK_KEY_0, GDK_KEY_asciitilde, 0x236C, - GDK_KEY_1, GDK_KEY_2, 0x00BD, - GDK_KEY_1, GDK_KEY_3, 0x2153, -@@ -1789,14 +1794,20 @@ GDK_KEY_1, GDK_KEY_6, 0x2159, - GDK_KEY_1, GDK_KEY_7, 0x2150, - GDK_KEY_1, GDK_KEY_8, 0x215B, - GDK_KEY_1, GDK_KEY_9, 0x2151, -+GDK_KEY_1, GDK_KEY_S, 0x00B9, - GDK_KEY_1, GDK_KEY_asciicircum, 0x00B9, -+GDK_KEY_1, GDK_KEY_s, 0x00B9, - GDK_KEY_2, GDK_KEY_3, 0x2154, - GDK_KEY_2, GDK_KEY_5, 0x2156, -+GDK_KEY_2, GDK_KEY_S, 0x00B2, - GDK_KEY_2, GDK_KEY_asciicircum, 0x00B2, -+GDK_KEY_2, GDK_KEY_s, 0x00B2, - GDK_KEY_3, GDK_KEY_4, 0x00BE, - GDK_KEY_3, GDK_KEY_5, 0x2157, - GDK_KEY_3, GDK_KEY_8, 0x215C, -+GDK_KEY_3, GDK_KEY_S, 0x00B3, - GDK_KEY_3, GDK_KEY_asciicircum, 0x00B3, -+GDK_KEY_3, GDK_KEY_s, 0x00B3, - GDK_KEY_4, GDK_KEY_5, 0x2158, - GDK_KEY_5, GDK_KEY_6, 0x215A, - GDK_KEY_5, GDK_KEY_8, 0x215D, -@@ -1859,6 +1870,8 @@ GDK_KEY_equal, GDK_KEY_E, 0x20AC, - GDK_KEY_equal, GDK_KEY_L, 0x20A4, - GDK_KEY_equal, GDK_KEY_N, 0x20A6, - GDK_KEY_equal, GDK_KEY_O, 0x0150, -+GDK_KEY_equal, GDK_KEY_P, 0x20BD, -+GDK_KEY_equal, GDK_KEY_R, 0x20B9, - GDK_KEY_equal, GDK_KEY_U, 0x0170, - GDK_KEY_equal, GDK_KEY_W, 0x20A9, - GDK_KEY_equal, GDK_KEY_Y, 0x00A5, -@@ -1866,14 +1879,19 @@ GDK_KEY_equal, GDK_KEY_underscore, 0x2261, - GDK_KEY_equal, GDK_KEY_c, 0x20AC, - GDK_KEY_equal, GDK_KEY_d, 0x20AB, - GDK_KEY_equal, GDK_KEY_e, 0x20AC, -+GDK_KEY_equal, GDK_KEY_l, 0x00A3, - GDK_KEY_equal, GDK_KEY_o, 0x0151, -+GDK_KEY_equal, GDK_KEY_p, 0x20BD, -+GDK_KEY_equal, GDK_KEY_r, 0x20B9, - GDK_KEY_equal, GDK_KEY_u, 0x0171, - GDK_KEY_equal, GDK_KEY_y, 0x00A5, - GDK_KEY_equal, 0x0338, 0x2260, - GDK_KEY_equal, GDK_KEY_Cyrillic_u, 0x04F3, -+GDK_KEY_equal, GDK_KEY_Cyrillic_ze, 0x20BD, - GDK_KEY_equal, GDK_KEY_Cyrillic_IE, 0x20AC, - GDK_KEY_equal, GDK_KEY_Cyrillic_ES, 0x20AC, - GDK_KEY_equal, GDK_KEY_Cyrillic_U, 0x04F2, -+GDK_KEY_equal, GDK_KEY_Cyrillic_ZE, 0x20BD, - GDK_KEY_equal, 0x2395, 0x2338, - GDK_KEY_greater, GDK_KEY_space, 0x005E, - GDK_KEY_greater, GDK_KEY_quotedbl, 0x201D, -@@ -1923,14 +1941,14 @@ GDK_KEY_A, GDK_KEY_apostrophe, 0x00C1, - GDK_KEY_A, GDK_KEY_parenleft, 0x0102, - GDK_KEY_A, GDK_KEY_asterisk, 0x00C5, - GDK_KEY_A, GDK_KEY_comma, 0x0104, --GDK_KEY_A, GDK_KEY_minus, 0x0100, -+GDK_KEY_A, GDK_KEY_minus, 0x00C3, - GDK_KEY_A, GDK_KEY_semicolon, 0x0104, - GDK_KEY_A, GDK_KEY_greater, 0x00C2, - GDK_KEY_A, GDK_KEY_A, 0x00C5, - GDK_KEY_A, GDK_KEY_E, 0x00C6, - GDK_KEY_A, GDK_KEY_T, 0x0040, - GDK_KEY_A, GDK_KEY_asciicircum, 0x00C2, --GDK_KEY_A, GDK_KEY_underscore, 0x0100, -+GDK_KEY_A, GDK_KEY_underscore, 0x00AA, - GDK_KEY_A, GDK_KEY_grave, 0x00C0, - GDK_KEY_A, GDK_KEY_asciitilde, 0x00C3, - GDK_KEY_A, GDK_KEY_diaeresis, 0x00C4, -@@ -1940,6 +1958,7 @@ GDK_KEY_C, GDK_KEY_apostrophe, 0x0106, - GDK_KEY_C, GDK_KEY_comma, 0x00C7, - GDK_KEY_C, GDK_KEY_period, 0x010A, - GDK_KEY_C, GDK_KEY_slash, 0x20A1, -+GDK_KEY_C, GDK_KEY_0, 0x00A9, - GDK_KEY_C, GDK_KEY_less, 0x010C, - GDK_KEY_C, GDK_KEY_equal, 0x20AC, - GDK_KEY_C, GDK_KEY_E, 0x20A0, -@@ -1973,7 +1992,9 @@ GDK_KEY_F, GDK_KEY_r, 0x20A3, - GDK_KEY_G, GDK_KEY_parenleft, 0x011E, - GDK_KEY_G, GDK_KEY_comma, 0x0122, - GDK_KEY_G, GDK_KEY_period, 0x0120, -+GDK_KEY_G, GDK_KEY_T, 0x003E, - GDK_KEY_G, GDK_KEY_U, 0x011E, -+GDK_KEY_G, GDK_KEY_u, 0x011E, - GDK_KEY_G, GDK_KEY_breve, 0x011E, - GDK_KEY_H, GDK_KEY_comma, 0x1E28, - GDK_KEY_I, GDK_KEY_quotedbl, 0x00CF, -@@ -1997,11 +2018,13 @@ GDK_KEY_L, GDK_KEY_comma, 0x013B, - GDK_KEY_L, GDK_KEY_minus, 0x00A3, - GDK_KEY_L, GDK_KEY_slash, 0x0141, - GDK_KEY_L, GDK_KEY_less, 0x013D, --GDK_KEY_L, GDK_KEY_equal, 0x20A4, -+GDK_KEY_L, GDK_KEY_equal, 0x00A3, -+GDK_KEY_L, GDK_KEY_T, 0x003C, - GDK_KEY_L, GDK_KEY_V, 0x007C, - GDK_KEY_M, GDK_KEY_period, 0x1E40, - GDK_KEY_N, GDK_KEY_apostrophe, 0x0143, - GDK_KEY_N, GDK_KEY_comma, 0x0145, -+GDK_KEY_N, GDK_KEY_minus, 0x00D1, - GDK_KEY_N, GDK_KEY_less, 0x0147, - GDK_KEY_N, GDK_KEY_equal, 0x20A6, - GDK_KEY_N, GDK_KEY_G, 0x014A, -@@ -2011,7 +2034,7 @@ GDK_KEY_N, GDK_KEY_asciitilde, 0x00D1, - GDK_KEY_O, GDK_KEY_quotedbl, 0x00D6, - GDK_KEY_O, GDK_KEY_apostrophe, 0x00D3, - GDK_KEY_O, GDK_KEY_comma, 0x01EA, --GDK_KEY_O, GDK_KEY_minus, 0x014C, -+GDK_KEY_O, GDK_KEY_minus, 0x00D5, - GDK_KEY_O, GDK_KEY_slash, 0x00D8, - GDK_KEY_O, GDK_KEY_semicolon, 0x01EA, - GDK_KEY_O, GDK_KEY_greater, 0x00D4, -@@ -2022,7 +2045,7 @@ GDK_KEY_O, GDK_KEY_R, 0x00AE, - GDK_KEY_O, GDK_KEY_S, 0x00A7, - GDK_KEY_O, GDK_KEY_X, 0x00A4, - GDK_KEY_O, GDK_KEY_asciicircum, 0x00D4, --GDK_KEY_O, GDK_KEY_underscore, 0x014C, -+GDK_KEY_O, GDK_KEY_underscore, 0x00BA, - GDK_KEY_O, GDK_KEY_grave, 0x00D2, - GDK_KEY_O, GDK_KEY_c, 0x00A9, - GDK_KEY_O, GDK_KEY_r, 0x00AE, -@@ -2032,23 +2055,31 @@ GDK_KEY_O, GDK_KEY_diaeresis, 0x00D6, - GDK_KEY_O, GDK_KEY_acute, 0x00D3, - GDK_KEY_P, GDK_KEY_exclam, 0x00B6, - GDK_KEY_P, GDK_KEY_period, 0x1E56, -+GDK_KEY_P, GDK_KEY_equal, 0x20BD, - GDK_KEY_P, GDK_KEY_P, 0x00B6, - GDK_KEY_P, GDK_KEY_t, 0x20A7, - GDK_KEY_R, GDK_KEY_apostrophe, 0x0154, - GDK_KEY_R, GDK_KEY_comma, 0x0156, - GDK_KEY_R, GDK_KEY_less, 0x0158, -+GDK_KEY_R, GDK_KEY_equal, 0x20B9, - GDK_KEY_R, GDK_KEY_O, 0x00AE, -+GDK_KEY_R, GDK_KEY_o, 0x00AE, - GDK_KEY_R, GDK_KEY_s, 0x20A8, - GDK_KEY_S, GDK_KEY_exclam, 0x00A7, - GDK_KEY_S, GDK_KEY_apostrophe, 0x015A, - GDK_KEY_S, GDK_KEY_comma, 0x015E, - GDK_KEY_S, GDK_KEY_period, 0x1E60, -+GDK_KEY_S, GDK_KEY_0, 0x00A7, -+GDK_KEY_S, GDK_KEY_1, 0x00B9, -+GDK_KEY_S, GDK_KEY_2, 0x00B2, -+GDK_KEY_S, GDK_KEY_3, 0x00B3, - GDK_KEY_S, GDK_KEY_semicolon, 0x0218, - GDK_KEY_S, GDK_KEY_less, 0x0160, - GDK_KEY_S, GDK_KEY_M, 0x2120, - GDK_KEY_S, GDK_KEY_O, 0x00A7, - GDK_KEY_S, GDK_KEY_S, 0x1E9E, - GDK_KEY_S, GDK_KEY_m, 0x2120, -+GDK_KEY_S, GDK_KEY_cedilla, 0x015E, - GDK_KEY_T, GDK_KEY_comma, 0x0162, - GDK_KEY_T, GDK_KEY_minus, 0x0166, - GDK_KEY_T, GDK_KEY_period, 0x1E6A, -@@ -2063,6 +2094,7 @@ GDK_KEY_U, GDK_KEY_apostrophe, 0x00DA, - GDK_KEY_U, GDK_KEY_asterisk, 0x016E, - GDK_KEY_U, GDK_KEY_comma, 0x0172, - GDK_KEY_U, GDK_KEY_minus, 0x016A, -+GDK_KEY_U, GDK_KEY_slash, 0x00B5, - GDK_KEY_U, GDK_KEY_semicolon, 0x0172, - GDK_KEY_U, GDK_KEY_greater, 0x00DB, - GDK_KEY_U, GDK_KEY_A, 0x0102, -@@ -2106,6 +2138,7 @@ GDK_KEY_U, 0x1EA1, 0x1EB7, - GDK_KEY_V, GDK_KEY_L, 0x007C, - GDK_KEY_W, GDK_KEY_equal, 0x20A9, - GDK_KEY_W, GDK_KEY_asciicircum, 0x0174, -+GDK_KEY_X, GDK_KEY_0, 0x00A4, - GDK_KEY_X, GDK_KEY_O, 0x00A4, - GDK_KEY_X, GDK_KEY_o, 0x00A4, - GDK_KEY_Y, GDK_KEY_quotedbl, 0x0178, -@@ -2154,6 +2187,7 @@ GDK_KEY_asciicircum, GDK_KEY_U, 0x00DB, - GDK_KEY_asciicircum, GDK_KEY_W, 0x0174, - GDK_KEY_asciicircum, GDK_KEY_Y, 0x0176, - GDK_KEY_asciicircum, GDK_KEY_Z, 0x1E90, -+GDK_KEY_asciicircum, GDK_KEY_underscore, 0x00AF, - GDK_KEY_asciicircum, GDK_KEY_a, 0x00E2, - GDK_KEY_asciicircum, GDK_KEY_c, 0x0109, - GDK_KEY_asciicircum, GDK_KEY_e, 0x00EA, -@@ -2167,6 +2201,7 @@ GDK_KEY_asciicircum, GDK_KEY_u, 0x00FB, - GDK_KEY_asciicircum, GDK_KEY_w, 0x0175, - GDK_KEY_asciicircum, GDK_KEY_y, 0x0177, - GDK_KEY_asciicircum, GDK_KEY_z, 0x1E91, -+GDK_KEY_asciicircum, GDK_KEY_bar, 0x2191, - GDK_KEY_asciicircum, 0x1EA0, 0x1EAC, - GDK_KEY_asciicircum, 0x1EA1, 0x1EAD, - GDK_KEY_asciicircum, 0x1EB8, 0x1EC6, -@@ -2377,7 +2412,7 @@ GDK_KEY_a, GDK_KEY_minus, 0x0101, - GDK_KEY_a, GDK_KEY_semicolon, 0x0105, - GDK_KEY_a, GDK_KEY_greater, 0x00E2, - GDK_KEY_a, GDK_KEY_asciicircum, 0x00E2, --GDK_KEY_a, GDK_KEY_underscore, 0x0101, -+GDK_KEY_a, GDK_KEY_underscore, 0x00AA, - GDK_KEY_a, GDK_KEY_grave, 0x00E0, - GDK_KEY_a, GDK_KEY_a, 0x00E5, - GDK_KEY_a, GDK_KEY_e, 0x00E6, -@@ -2421,6 +2456,7 @@ GDK_KEY_c, GDK_KEY_apostrophe, 0x0107, - GDK_KEY_c, GDK_KEY_comma, 0x00E7, - GDK_KEY_c, GDK_KEY_period, 0x010B, - GDK_KEY_c, GDK_KEY_slash, 0x00A2, -+GDK_KEY_c, GDK_KEY_0, 0x00A9, - GDK_KEY_c, GDK_KEY_less, 0x010D, - GDK_KEY_c, GDK_KEY_equal, 0x20AC, - GDK_KEY_c, GDK_KEY_A, 0x01CD, -@@ -2491,6 +2527,8 @@ GDK_KEY_g, GDK_KEY_parenleft, 0x011F, - GDK_KEY_g, GDK_KEY_comma, 0x0123, - GDK_KEY_g, GDK_KEY_period, 0x0121, - GDK_KEY_g, GDK_KEY_U, 0x011F, -+GDK_KEY_g, GDK_KEY_t, 0x003E, -+GDK_KEY_g, GDK_KEY_u, 0x011F, - GDK_KEY_g, GDK_KEY_breve, 0x011F, - GDK_KEY_h, GDK_KEY_comma, 0x1E29, - GDK_KEY_i, GDK_KEY_quotedbl, 0x00EF, -@@ -2514,12 +2552,15 @@ GDK_KEY_l, GDK_KEY_comma, 0x013C, - GDK_KEY_l, GDK_KEY_minus, 0x00A3, - GDK_KEY_l, GDK_KEY_slash, 0x0142, - GDK_KEY_l, GDK_KEY_less, 0x013E, -+GDK_KEY_l, GDK_KEY_equal, 0x00A3, -+GDK_KEY_l, GDK_KEY_t, 0x003C, - GDK_KEY_l, GDK_KEY_v, 0x007C, - GDK_KEY_m, GDK_KEY_period, 0x1E41, - GDK_KEY_m, GDK_KEY_slash, 0x20A5, - GDK_KEY_m, GDK_KEY_u, 0x00B5, - GDK_KEY_n, GDK_KEY_apostrophe, 0x0144, - GDK_KEY_n, GDK_KEY_comma, 0x0146, -+GDK_KEY_n, GDK_KEY_minus, 0x00F1, - GDK_KEY_n, GDK_KEY_less, 0x0148, - GDK_KEY_n, GDK_KEY_g, 0x014B, - GDK_KEY_n, GDK_KEY_asciitilde, 0x00F1, -@@ -2536,7 +2577,7 @@ GDK_KEY_o, GDK_KEY_R, 0x00AE, - GDK_KEY_o, GDK_KEY_U, 0x016E, - GDK_KEY_o, GDK_KEY_X, 0x00A4, - GDK_KEY_o, GDK_KEY_asciicircum, 0x00F4, --GDK_KEY_o, GDK_KEY_underscore, 0x014D, -+GDK_KEY_o, GDK_KEY_underscore, 0x00BA, - GDK_KEY_o, GDK_KEY_grave, 0x00F2, - GDK_KEY_o, GDK_KEY_a, 0x00E5, - GDK_KEY_o, GDK_KEY_c, 0x00A9, -@@ -2553,13 +2594,19 @@ GDK_KEY_o, GDK_KEY_diaeresis, 0x00F6, - GDK_KEY_o, GDK_KEY_acute, 0x00F3, - GDK_KEY_p, GDK_KEY_exclam, 0x00B6, - GDK_KEY_p, GDK_KEY_period, 0x1E57, -+GDK_KEY_p, GDK_KEY_equal, 0x20BD, - GDK_KEY_r, GDK_KEY_apostrophe, 0x0155, - GDK_KEY_r, GDK_KEY_comma, 0x0157, - GDK_KEY_r, GDK_KEY_less, 0x0159, -+GDK_KEY_r, GDK_KEY_equal, 0x20B9, - GDK_KEY_s, GDK_KEY_exclam, 0x00A7, - GDK_KEY_s, GDK_KEY_apostrophe, 0x015B, - GDK_KEY_s, GDK_KEY_comma, 0x015F, - GDK_KEY_s, GDK_KEY_period, 0x1E61, -+GDK_KEY_s, GDK_KEY_0, 0x00A7, -+GDK_KEY_s, GDK_KEY_1, 0x00B9, -+GDK_KEY_s, GDK_KEY_2, 0x00B2, -+GDK_KEY_s, GDK_KEY_3, 0x00B3, - GDK_KEY_s, GDK_KEY_semicolon, 0x0219, - GDK_KEY_s, GDK_KEY_less, 0x0161, - GDK_KEY_s, GDK_KEY_M, 0x2120, -@@ -2585,20 +2632,59 @@ GDK_KEY_u, GDK_KEY_slash, 0x00B5, - GDK_KEY_u, GDK_KEY_semicolon, 0x0173, - GDK_KEY_u, GDK_KEY_greater, 0x00FB, - GDK_KEY_u, GDK_KEY_A, 0x0102, -+GDK_KEY_u, GDK_KEY_E, 0x0114, -+GDK_KEY_u, GDK_KEY_G, 0x011E, -+GDK_KEY_u, GDK_KEY_I, 0x012C, -+GDK_KEY_u, GDK_KEY_O, 0x014E, - GDK_KEY_u, GDK_KEY_U, 0x016C, - GDK_KEY_u, GDK_KEY_asciicircum, 0x00FB, - GDK_KEY_u, GDK_KEY_underscore, 0x016B, - GDK_KEY_u, GDK_KEY_grave, 0x00F9, - GDK_KEY_u, GDK_KEY_a, 0x0103, -+GDK_KEY_u, GDK_KEY_e, 0x0115, -+GDK_KEY_u, GDK_KEY_g, 0x011F, -+GDK_KEY_u, GDK_KEY_i, 0x012D, -+GDK_KEY_u, GDK_KEY_o, 0x014F, - GDK_KEY_u, GDK_KEY_u, 0x016D, - GDK_KEY_u, GDK_KEY_asciitilde, 0x0169, - GDK_KEY_u, GDK_KEY_diaeresis, 0x00FC, - GDK_KEY_u, GDK_KEY_acute, 0x00FA, - GDK_KEY_v, GDK_KEY_slash, 0x221A, -+GDK_KEY_v, GDK_KEY_A, 0x01CD, -+GDK_KEY_v, GDK_KEY_C, 0x010C, -+GDK_KEY_v, GDK_KEY_D, 0x010E, -+GDK_KEY_v, GDK_KEY_E, 0x011A, -+GDK_KEY_v, GDK_KEY_G, 0x01E6, -+GDK_KEY_v, GDK_KEY_H, 0x021E, -+GDK_KEY_v, GDK_KEY_I, 0x01CF, -+GDK_KEY_v, GDK_KEY_K, 0x01E8, -+GDK_KEY_v, GDK_KEY_N, 0x0147, -+GDK_KEY_v, GDK_KEY_O, 0x01D1, -+GDK_KEY_v, GDK_KEY_R, 0x0158, -+GDK_KEY_v, GDK_KEY_S, 0x0160, -+GDK_KEY_v, GDK_KEY_T, 0x0164, -+GDK_KEY_v, GDK_KEY_U, 0x01D3, - GDK_KEY_v, GDK_KEY_Z, 0x017D, -+GDK_KEY_v, GDK_KEY_a, 0x01CE, -+GDK_KEY_v, GDK_KEY_c, 0x010D, -+GDK_KEY_v, GDK_KEY_d, 0x010F, -+GDK_KEY_v, GDK_KEY_e, 0x011B, -+GDK_KEY_v, GDK_KEY_g, 0x01E7, -+GDK_KEY_v, GDK_KEY_h, 0x021F, -+GDK_KEY_v, GDK_KEY_i, 0x01D0, -+GDK_KEY_v, GDK_KEY_j, 0x01F0, -+GDK_KEY_v, GDK_KEY_k, 0x01E9, - GDK_KEY_v, GDK_KEY_l, 0x007C, -+GDK_KEY_v, GDK_KEY_n, 0x0148, -+GDK_KEY_v, GDK_KEY_o, 0x01D2, -+GDK_KEY_v, GDK_KEY_r, 0x0159, -+GDK_KEY_v, GDK_KEY_s, 0x0161, -+GDK_KEY_v, GDK_KEY_t, 0x0165, -+GDK_KEY_v, GDK_KEY_u, 0x01D4, - GDK_KEY_v, GDK_KEY_z, 0x017E, -+GDK_KEY_v, GDK_KEY_bar, 0x2193, - GDK_KEY_w, GDK_KEY_asciicircum, 0x0175, -+GDK_KEY_x, GDK_KEY_0, 0x00A4, - GDK_KEY_x, GDK_KEY_O, 0x00A4, - GDK_KEY_x, GDK_KEY_o, 0x00A4, - GDK_KEY_x, GDK_KEY_x, 0x00D7, -@@ -2614,7 +2700,9 @@ GDK_KEY_z, GDK_KEY_period, 0x017C, - GDK_KEY_z, GDK_KEY_less, 0x017E, - GDK_KEY_braceleft, GDK_KEY_braceright, 0x2205, - GDK_KEY_bar, GDK_KEY_C, 0x00A2, -+GDK_KEY_bar, GDK_KEY_asciicircum, 0x2191, - GDK_KEY_bar, GDK_KEY_c, 0x00A2, -+GDK_KEY_bar, GDK_KEY_v, 0x2193, - GDK_KEY_bar, GDK_KEY_asciitilde, 0x236D, - GDK_KEY_bar, 0x2190, 0x2345, - GDK_KEY_bar, 0x2192, 0x2346, -@@ -2642,6 +2730,7 @@ GDK_KEY_asciitilde, GDK_KEY_u, 0x0169, - GDK_KEY_asciitilde, GDK_KEY_v, 0x1E7D, - GDK_KEY_asciitilde, GDK_KEY_y, 0x1EF9, - GDK_KEY_asciitilde, GDK_KEY_bar, 0x236D, -+GDK_KEY_asciitilde, GDK_KEY_asciitilde, 0x2248, - GDK_KEY_asciitilde, GDK_KEY_diaeresis, 0x2368, - GDK_KEY_asciitilde, GDK_KEY_Acircumflex, 0x1EAA, - GDK_KEY_asciitilde, GDK_KEY_Ecircumflex, 0x1EC4, -@@ -2927,10 +3016,12 @@ GDK_KEY_breve, GDK_KEY_g, 0x011F, - 0x0654, 0x06D5, 0x06C0, - 0x0655, GDK_KEY_Arabic_alef, 0x0625, - GDK_KEY_Cyrillic_pe, GDK_KEY_Cyrillic_a, 0x00A7, -+GDK_KEY_Cyrillic_ze, GDK_KEY_equal, 0x20BD, - GDK_KEY_Cyrillic_IE, GDK_KEY_equal, 0x20AC, - GDK_KEY_Cyrillic_EN, GDK_KEY_Cyrillic_o, 0x2116, - GDK_KEY_Cyrillic_EN, GDK_KEY_Cyrillic_O, 0x2116, - GDK_KEY_Cyrillic_ES, GDK_KEY_equal, 0x20AC, -+GDK_KEY_Cyrillic_ZE, GDK_KEY_equal, 0x20BD, - GDK_KEY_Greek_ALPHA, GDK_KEY_apostrophe, 0x0386, - GDK_KEY_Greek_EPSILON, GDK_KEY_apostrophe, 0x0388, - GDK_KEY_Greek_ETA, GDK_KEY_apostrophe, 0x0389, -@@ -2944,6 +3035,7 @@ GDK_KEY_Greek_alpha, GDK_KEY_apostrophe, 0x03AC, - GDK_KEY_Greek_epsilon, GDK_KEY_apostrophe, 0x03AD, - GDK_KEY_Greek_eta, GDK_KEY_apostrophe, 0x03AE, - GDK_KEY_Greek_iota, GDK_KEY_quotedbl, 0x03CA, -+GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x03AF, - GDK_KEY_Greek_iota, GDK_KEY_Greek_alphaaccent, 0x1FB4, - GDK_KEY_Greek_iota, GDK_KEY_Greek_etaaccent, 0x1FC4, - GDK_KEY_Greek_iota, GDK_KEY_Greek_omegaaccent, 0x1FF4, -@@ -3477,6 +3569,9 @@ GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EE2, - GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EF0, - GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EE3, - GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EF1, -+GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_space, 0x0385, -+GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_Greek_iota, 0x0390, -+GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_Greek_upsilon, 0x03B0, - GDK_KEY_quotedbl, GDK_KEY_underscore, GDK_KEY_U, 0x1E7A, - GDK_KEY_quotedbl, GDK_KEY_underscore, GDK_KEY_u, 0x1E7B, - GDK_KEY_quotedbl, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4E, diff --git a/7b3c387af9e9c6c37c5751258ded6708094d4c73.patch b/7b3c387af9e9c6c37c5751258ded6708094d4c73.patch deleted file mode 100644 index b2bcf8df374e..000000000000 --- a/7b3c387af9e9c6c37c5751258ded6708094d4c73.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 7b3c387af9e9c6c37c5751258ded6708094d4c73 -Author: Matthias Clasen <mclasen@redhat.com> -Date: Sun Mar 21 20:53:24 2021 -0400 - - compose-parse: Add a negative lookaside - - Make this script parse gtk-compose-remove.txt for - sequences to remove from the xorg Compose file. - This will be used for removing some deadkey combinations - that we can handle better in code. - - Also, make this script explicitly python2. I tried - porting it to python3, but gave up in the end. - -diff --git a/gtk/compose-parse.py b/gtk/compose-parse.py -index 9a6513a70a..bf0f5bc953 100755 ---- a/gtk/compose-parse.py -+++ b/gtk/compose-parse.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # -*- coding: utf-8 -*- - # - # compose-parse.py, version 1.4 -@@ -26,6 +26,7 @@ URL_KEYSYMSTXT = "http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt" - URL_GDKKEYSYMSH = "http://git.gnome.org/browse/gtk%2B/plain/gdk/gdkkeysyms.h" - URL_UNICODEDATATXT = 'http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt' - FILENAME_COMPOSE_SUPPLEMENTARY = 'gtk-compose-lookaside.txt' -+FILENAME_COMPOSE_NEGATIVE_SUPPLEMENTARY = 'gtk-compose-remove.txt' - - # We currently support keysyms of size 2; once upstream xorg gets sorted, - # we might produce some tables with size 2 and some with size 4. -@@ -448,6 +449,18 @@ xorg_compose_sequences_raw = [] - for seq in composefile.readlines(): - xorg_compose_sequences_raw.append(seq) - -+try: -+ composefile_lookaside = open(FILENAME_COMPOSE_NEGATIVE_SUPPLEMENTARY, 'r') -+ for seq in composefile_lookaside.readlines(): -+ xorg_compose_sequences_raw.remove(seq) -+except IOError, (errno, strerror): -+ if opt_verbose: -+ print "I/O error(%s): %s" % (errno, strerror) -+ print "Did not find negative lookaside compose file. Continuing..." -+except: -+ print "Unexpected error: ", sys.exc_info()[0] -+ sys.exit(-1) -+ - try: - composefile_lookaside = open(FILENAME_COMPOSE_SUPPLEMENTARY, 'r') - for seq in composefile_lookaside.readlines(): diff --git a/8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch b/8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch deleted file mode 100644 index cc0ff2562d21..000000000000 --- a/8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch +++ /dev/null @@ -1,141 +0,0 @@ -commit 8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527 -Author: Matthias Clasen <mclasen@redhat.com> -Date: Fri Mar 26 19:50:05 2021 -0400 - - imcontext: Tweak dead key handling - - Reshuffle things to allow for a limited amount of - dead key 'chaining'. We keep up to 2 dead keys in - the preedit, so you can type - <dead_acute> <dead_cedilla> <c> - to produce ḉ, while still getting ```c with - <dead_grave> <dead_grave> <dead_grave> <c>. - -diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c -index 204a375535..60ddbc3183 100644 ---- a/gtk/gtkimcontextsimple.c -+++ b/gtk/gtkimcontextsimple.c -@@ -539,28 +539,62 @@ no_sequence_matches (GtkIMContextSimple *context_simple, - } - else - { -- if (n_compose == 2 && is_dead_key (priv->compose_buffer[0])) -+ int i; -+ -+ for (i = 0; i < n_compose && is_dead_key (priv->compose_buffer[i]); i++) -+ ; -+ -+ if (n_compose > 1 && i >= n_compose - 1) - { - gboolean need_space; - GString *s; - - s = g_string_new (""); - -- /* dead keys are never *really* dead */ -- ch = dead_key_to_unicode (priv->compose_buffer[0], &need_space); -- if (ch) -+ if (i == n_compose - 1) - { -- if (need_space) -- g_string_append_c (s, ' '); -- g_string_append_unichar (s, ch); -+ /* dead keys are never *really* dead */ -+ for (int j = 0; j < i; j++) -+ { -+ ch = dead_key_to_unicode (priv->compose_buffer[j], &need_space); -+ if (ch) -+ { -+ if (need_space) -+ g_string_append_c (s, ' '); -+ g_string_append_unichar (s, ch); -+ } -+ } -+ -+ ch = gdk_keyval_to_unicode (priv->compose_buffer[i]); -+ if (ch != 0 && ch != ' ' && !g_unichar_iscntrl (ch)) -+ g_string_append_unichar (s, ch); -+ -+ gtk_im_context_simple_commit_string (context_simple, s->str); - } -+ else -+ { -+ ch = dead_key_to_unicode (priv->compose_buffer[0], &need_space); -+ if (ch) -+ { -+ if (need_space) -+ g_string_append_c (s, ' '); -+ g_string_append_unichar (s, ch); -+ } -+ -+ gtk_im_context_simple_commit_string (context_simple, s->str); -+ -+ for (i = 1; i < n_compose; i++) -+ priv->compose_buffer[i - 1] = priv->compose_buffer[i]; -+ priv->compose_buffer[n_compose - 1] = 0; -+ -+ priv->in_compose_sequence = TRUE; - -- ch = gdk_keyval_to_unicode (priv->compose_buffer[1]); -- if (ch != 0 && !g_unichar_iscntrl (ch)) -- g_string_append_unichar (s, ch); -+ g_signal_emit_by_name (context, "preedit-start"); -+ g_signal_emit_by_name (context, "preedit-changed"); -+ } - -- gtk_im_context_simple_commit_string (context_simple, s->str); - g_string_free (s, TRUE); -+ - return TRUE; - } - -@@ -895,39 +929,6 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, - - output = g_string_new (""); - -- if (n_compose == 2) -- { -- /* Special-case deadkey-deadkey sequences. -- * We are not doing chained deadkeys, so we -- * want to commit the first key, and contine -- * preediting with second. -- */ -- if (is_dead_key (priv->compose_buffer[0]) && -- is_dead_key (priv->compose_buffer[1])) -- { -- gunichar ch; -- gboolean need_space; -- guint next; -- -- next = priv->compose_buffer[1]; -- -- ch = dead_key_to_unicode (priv->compose_buffer[0], &need_space); -- if (ch) -- { -- if (need_space) -- g_string_append_c (output, ' '); -- g_string_append_unichar (output, ch); -- -- gtk_im_context_simple_commit_string (context_simple, output->str); -- g_string_set_size (output, 0); -- -- priv->compose_buffer[0] = next; -- priv->compose_buffer[1] = 0; -- n_compose = 1; -- } -- } -- } -- - G_LOCK (global_tables); - - tmp_list = global_tables; -@@ -1013,6 +1014,9 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, - - if (output_char) - gtk_im_context_simple_commit_char (context_simple, output_char); -+ else -+ g_signal_emit_by_name (context_simple, "preedit-changed"); -+ - return TRUE; - } - } @@ -3,8 +3,8 @@ # Contributor: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3-no_deadkeys_underline -pkgver=3.24.29 -pkgrel=2 +pkgver=3.24.30 +pkgrel=1 epoch=1 pkgdesc="Like gtk3 in extra but with a patch to disable dead keys having an underline below them while typing" arch=(x86_64) @@ -21,31 +21,15 @@ conflicts=(gtk3-print-backends gtk3) replaces=("gtk3-print-backends<=3.22.26-1") license=(LGPL) install=gtk3.install -_commit=77f32a69c0a35ffd3a1a542a6057c1c6d13c793d # tags/3.24.29^0 +_commit=d4e2d05cd9518ba04d6fbe1cbcec27142788ac95 # tags/3.24.30^0 source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit" gtk-query-immodules-3.0.hook no_deadkeys_underline.patch - c26525f87c885929eccf248dd8cae2a2cf28b819.patch - a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch - 7b3c387af9e9c6c37c5751258ded6708094d4c73.patch - 41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch - 59397005fa8136dd73079d75b0575b00f114ce35.patch - 58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch - 8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch - b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch - ed9b3f505718f9a877f5029a002bd097635840fc.patch) + ) sha256sums=('SKIP' 'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229' 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP') + ) pkgver() { cd gtk @@ -54,15 +38,6 @@ pkgver() { prepare() { cd gtk - patch -p1 -R < ../ed9b3f505718f9a877f5029a002bd097635840fc.patch - patch -p1 -R < ../b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch - patch -p1 -R < ../8c7846733aa5e2bac866d8b8ac9eb4d8d1d6f527.patch - patch -p1 -R < ../58b3145c90a4681bf1ee026f58e12bfb5cafe81a.patch - patch -p1 -R < ../59397005fa8136dd73079d75b0575b00f114ce35.patch - patch -p1 -R < ../41c3e9873cf2b388d4a91fbd86c360d53b1a00da.patch - patch -p1 -R < ../7b3c387af9e9c6c37c5751258ded6708094d4c73.patch - patch -p1 -R < ../a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch - patch -p1 -R < ../c26525f87c885929eccf248dd8cae2a2cf28b819.patch patch -p1 < ../no_deadkeys_underline.patch } diff --git a/a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch b/a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch deleted file mode 100644 index 76694b8072ce..000000000000 --- a/a0cdd25bd4274d6ff12162de3d416326ec0429e4.patch +++ /dev/null @@ -1,57 +0,0 @@ -commit a0cdd25bd4274d6ff12162de3d416326ec0429e4 -Author: Matthias Clasen <mclasen@redhat.com> -Date: Sun Mar 21 18:51:57 2021 -0400 - - imcontext: Improve dead key handling more - - For sequences like ``, we want to commit the first - deadkey and then continue preedit with the second. - - The alternative is to do chained deadkeys, where - entering ~~a yields ̃̀̃̃a. But we don't do that, and - I think that would be more controversial. - -diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c -index 0e51bc725d..204a375535 100644 ---- a/gtk/gtkimcontextsimple.c -+++ b/gtk/gtkimcontextsimple.c -@@ -895,6 +895,39 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, - - output = g_string_new (""); - -+ if (n_compose == 2) -+ { -+ /* Special-case deadkey-deadkey sequences. -+ * We are not doing chained deadkeys, so we -+ * want to commit the first key, and contine -+ * preediting with second. -+ */ -+ if (is_dead_key (priv->compose_buffer[0]) && -+ is_dead_key (priv->compose_buffer[1])) -+ { -+ gunichar ch; -+ gboolean need_space; -+ guint next; -+ -+ next = priv->compose_buffer[1]; -+ -+ ch = dead_key_to_unicode (priv->compose_buffer[0], &need_space); -+ if (ch) -+ { -+ if (need_space) -+ g_string_append_c (output, ' '); -+ g_string_append_unichar (output, ch); -+ -+ gtk_im_context_simple_commit_string (context_simple, output->str); -+ g_string_set_size (output, 0); -+ -+ priv->compose_buffer[0] = next; -+ priv->compose_buffer[1] = 0; -+ n_compose = 1; -+ } -+ } -+ } -+ - G_LOCK (global_tables); - - tmp_list = global_tables; diff --git a/b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch b/b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch deleted file mode 100644 index e479f0ed7811..000000000000 --- a/b69790a7760647efcfbd7a4cd582a3824fa34ae4.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit b69790a7760647efcfbd7a4cd582a3824fa34ae4 -Author: Chun-wei Fan <fanchunwei@src.gnome.org> -Date: Fri Apr 16 15:38:17 2021 +0800 - - gtkimcontextsimple.c: Declare variables at top-of-block - - This way, things will continue to build on older compilers - -diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c -index 89221ce80e..38806d05c3 100644 ---- a/gtk/gtkimcontextsimple.c -+++ b/gtk/gtkimcontextsimple.c -@@ -553,8 +553,10 @@ no_sequence_matches (GtkIMContextSimple *context_simple, - - if (i == n_compose - 1) - { -+ int j; -+ - /* dead keys are never *really* dead */ -- for (int j = 0; j < i; j++) -+ for (j = 0; j < i; j++) - { - ch = dead_key_to_unicode (priv->compose_buffer[j], &need_space); - if (ch) diff --git a/c26525f87c885929eccf248dd8cae2a2cf28b819.patch b/c26525f87c885929eccf248dd8cae2a2cf28b819.patch deleted file mode 100644 index 3f224bba1292..000000000000 --- a/c26525f87c885929eccf248dd8cae2a2cf28b819.patch +++ /dev/null @@ -1,199 +0,0 @@ -commit c26525f87c885929eccf248dd8cae2a2cf28b819 -Author: Matthias Clasen <mclasen@redhat.com> -Date: Sun Mar 21 18:17:32 2021 -0400 - - imcontext: Improve dead key handling - - For sequences like `x, where we don't have a compose - sequence, we still want to commit "`x", and not silently - eat the keys. - -diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c -index cfbaecf3f6..0e51bc725d 100644 ---- a/gtk/gtkimcontextsimple.c -+++ b/gtk/gtkimcontextsimple.c -@@ -422,6 +422,79 @@ beep_window (GdkWindow *window) - gdk_window_beep (window); - } - -+static inline gboolean -+is_dead_key (guint keysym) -+{ -+ return GDK_KEY_dead_grave <= keysym && keysym <= GDK_KEY_dead_greek; -+} -+ -+static gunichar -+dead_key_to_unicode (guint keysym, -+ gboolean *need_space) -+{ -+ /* Sadly, not all the dead keysyms have spacing mark equivalents -+ * in Unicode. For those that don't, we use space + the non-spacing -+ * mark as an approximation -+ */ -+ switch (keysym) -+ { -+#define CASE(keysym, unicode, sp) \ -+ case GDK_KEY_dead_##keysym: *need_space = sp; return unicode; -+ -+ CASE (grave, 0x60, 0); -+ CASE (acute, 0xb4, 0); -+ CASE (circumflex, 0x5e, 0); -+ CASE (tilde, 0x7e, 0); -+ CASE (macron, 0xaf, 0); -+ CASE (breve, 0x2d8, 0); -+ CASE (abovedot, 0x307, 1); -+ CASE (diaeresis, 0xa8, 0); -+ CASE (abovering, 0x2da, 0); -+ CASE (hook, 0x2c0, 0); -+ CASE (doubleacute, 0x2dd, 0); -+ CASE (caron, 0x2c7, 0); -+ CASE (cedilla, 0xb8, 0); -+ CASE (ogonek, 0x2db, 0); -+ CASE (iota, 0x37a, 0); -+ CASE (voiced_sound, 0x3099, 1); -+ CASE (semivoiced_sound, 0x309a, 1); -+ CASE (belowdot, 0x323, 1); -+ CASE (horn, 0x31b, 1); -+ CASE (stroke, 0x335, 1); -+ CASE (abovecomma, 0x2bc, 0); -+ CASE (abovereversedcomma, 0x2bd, 1); -+ CASE (doublegrave, 0x30f, 1); -+ CASE (belowring, 0x2f3, 0); -+ CASE (belowmacron, 0x2cd, 0); -+ CASE (belowcircumflex, 0x32d, 1); -+ CASE (belowtilde, 0x330, 1); -+ CASE (belowbreve, 0x32e, 1); -+ CASE (belowdiaeresis, 0x324, 1); -+ CASE (invertedbreve, 0x32f, 1); -+ CASE (belowcomma, 0x326, 1); -+ CASE (lowline, 0x5f, 0); -+ CASE (aboveverticalline, 0x2c8, 0); -+ CASE (belowverticalline, 0x2cc, 0); -+ CASE (longsolidusoverlay, 0x338, 1); -+ CASE (a, 0x363, 1); -+ CASE (A, 0x363, 1); -+ CASE (e, 0x364, 1); -+ CASE (E, 0x364, 1); -+ CASE (i, 0x365, 1); -+ CASE (I, 0x365, 1); -+ CASE (o, 0x366, 1); -+ CASE (O, 0x366, 1); -+ CASE (u, 0x367, 1); -+ CASE (U, 0x367, 1); -+ CASE (small_schwa, 0x1dea, 1); -+ CASE (capital_schwa, 0x1dea, 1); -+#undef CASE -+ default: -+ *need_space = FALSE; -+ return gdk_keyval_to_unicode (keysym); -+ } -+} -+ - static gboolean - no_sequence_matches (GtkIMContextSimple *context_simple, - int n_compose, -@@ -466,6 +539,31 @@ no_sequence_matches (GtkIMContextSimple *context_simple, - } - else - { -+ if (n_compose == 2 && is_dead_key (priv->compose_buffer[0])) -+ { -+ gboolean need_space; -+ GString *s; -+ -+ s = g_string_new (""); -+ -+ /* dead keys are never *really* dead */ -+ ch = dead_key_to_unicode (priv->compose_buffer[0], &need_space); -+ if (ch) -+ { -+ if (need_space) -+ g_string_append_c (s, ' '); -+ g_string_append_unichar (s, ch); -+ } -+ -+ ch = gdk_keyval_to_unicode (priv->compose_buffer[1]); -+ if (ch != 0 && !g_unichar_iscntrl (ch)) -+ g_string_append_unichar (s, ch); -+ -+ gtk_im_context_simple_commit_string (context_simple, s->str); -+ g_string_free (s, TRUE); -+ return TRUE; -+ } -+ - priv->compose_buffer[0] = 0; - if (n_compose > 1) /* Invalid sequence */ - { -@@ -954,70 +1052,9 @@ gtk_im_context_simple_get_preedit_string (GtkIMContext *context, - gunichar ch; - gboolean need_space; - -- if (GDK_KEY_dead_grave <= priv->compose_buffer[i] && priv->compose_buffer[i] <= GDK_KEY_dead_greek) -+ if (is_dead_key (priv->compose_buffer[i])) - { -- /* Sadly, not all the dead keysyms have spacing mark equivalents -- * in Unicode. For those that don't, we use space + the non-spacing -- * mark as an approximation -- */ -- switch (priv->compose_buffer[i]) -- { -- #define CASE(keysym, unicode, sp) \ -- case GDK_KEY_dead_##keysym: ch = unicode; need_space = sp; break -- -- CASE (grave, 0x60, 0); -- CASE (acute, 0xb4, 0); -- CASE (circumflex, 0x5e, 0); -- CASE (tilde, 0x7e, 0); -- CASE (macron, 0xaf, 0); -- CASE (breve, 0x2d8, 0); -- CASE (abovedot, 0x307, 1); -- CASE (diaeresis, 0xa8, 0); -- CASE (abovering, 0x2da, 0); -- CASE (hook, 0x2c0, 0); -- CASE (doubleacute, 0x2dd, 0); -- CASE (caron, 0x2c7, 0); -- CASE (cedilla, 0xb8, 0); -- CASE (ogonek, 0x2db, 0); -- CASE (iota, 0x37a, 0); -- CASE (voiced_sound, 0x3099, 1); -- CASE (semivoiced_sound, 0x309a, 1); -- CASE (belowdot, 0x323, 1); -- CASE (horn, 0x31b, 1); -- CASE (stroke, 0x335, 1); -- CASE (abovecomma, 0x2bc, 0); -- CASE (abovereversedcomma, 0x2bd, 1); -- CASE (doublegrave, 0x30f, 1); -- CASE (belowring, 0x2f3, 0); -- CASE (belowmacron, 0x2cd, 0); -- CASE (belowcircumflex, 0x32d, 1); -- CASE (belowtilde, 0x330, 1); -- CASE (belowbreve, 0x32e, 1); -- CASE (belowdiaeresis, 0x324, 1); -- CASE (invertedbreve, 0x32f, 1); -- CASE (belowcomma, 0x326, 1); -- CASE (lowline, 0x5f, 0); -- CASE (aboveverticalline, 0x2c8, 0); -- CASE (belowverticalline, 0x2cc, 0); -- CASE (longsolidusoverlay, 0x338, 1); -- CASE (a, 0x363, 1); -- CASE (A, 0x363, 1); -- CASE (e, 0x364, 1); -- CASE (E, 0x364, 1); -- CASE (i, 0x365, 1); -- CASE (I, 0x365, 1); -- CASE (o, 0x366, 1); -- CASE (O, 0x366, 1); -- CASE (u, 0x367, 1); -- CASE (U, 0x367, 1); -- CASE (small_schwa, 0x1dea, 1); -- CASE (capital_schwa, 0x1dea, 1); -- #undef CASE -- default: -- need_space = FALSE; -- ch = gdk_keyval_to_unicode (priv->compose_buffer[i]); -- break; -- } -+ ch = dead_key_to_unicode (priv->compose_buffer[i], &need_space); - if (ch) - { - if (need_space) diff --git a/ed9b3f505718f9a877f5029a002bd097635840fc.patch b/ed9b3f505718f9a877f5029a002bd097635840fc.patch deleted file mode 100644 index a6e2305f0d48..000000000000 --- a/ed9b3f505718f9a877f5029a002bd097635840fc.patch +++ /dev/null @@ -1,225 +0,0 @@ -commit ed9b3f505718f9a877f5029a002bd097635840fc -Author: Matthias Clasen <mclasen@redhat.com> -Date: Thu Apr 1 15:15:47 2021 -0400 - - Revert Compose sequence changes - - This was breaking muscle memory of people with - the us intl keyboard layout, for important keys - such as '. The unfortunate side-effect is that - our handling of <dead_acute> is a bit hampered - by sequences that don't fit the pattern. But - such is life. - - Fixes: #3807 - -diff --git a/gtk/compose/gtk-compose-lookaside.txt b/gtk/compose/gtk-compose-lookaside.txt -index c846cc8121..3f3b23c69c 100644 ---- a/gtk/compose/gtk-compose-lookaside.txt -+++ b/gtk/compose/gtk-compose-lookaside.txt -@@ -403,7 +403,3 @@ - <Multi_key> <Greek_omicron> <apostrophe> : "ό" U03CC - <Multi_key> <Greek_upsilon> <apostrophe> : "ύ" U03CD - <Multi_key> <Greek_omega> <apostrophe> : "ώ" U03CE -- --# This sequence matches our handling of dead keys better. --# We remove the xorg sequence that maps this to ' --<dead_acute> <space> : "´" acute # ACUTE ACCENT -diff --git a/gtk/compose/gtk-compose-remove.txt b/gtk/compose/gtk-compose-remove.txt -deleted file mode 100644 -index 620df9e9ce..0000000000 ---- a/gtk/compose/gtk-compose-remove.txt -+++ /dev/null -@@ -1,14 +0,0 @@ --<dead_tilde> <dead_tilde> : "~" asciitilde # TILDE --<dead_acute> <space> : "'" apostrophe # APOSTROPHE --<dead_acute> <dead_acute> : "´" acute # ACUTE ACCENT --<dead_grave> <dead_grave> : "`" grave # GRAVE ACCENT --<dead_abovering> <dead_abovering> : "°" degree # DEGREE SIGN --<dead_macron> <dead_macron> : "¯" macron # MACRON --<dead_breve> <dead_breve> : "˘" breve # BREVE --<dead_abovedot> <dead_abovedot> : "˙" abovedot # DOT ABOVE --<dead_diaeresis> <dead_diaeresis> : "¨" diaeresis # DIAERESIS --<dead_doubleacute> <dead_doubleacute> : "˝" U2dd # DOUBLE ACUTE ACCENT --<dead_caron> <dead_caron> : "ˇ" caron # CARON --<dead_cedilla> <dead_cedilla> : "¸" cedilla # CEDILLA --<dead_ogonek> <dead_ogonek> : "˛" ogonek # OGONEK --<dead_iota> <dead_iota> : "ͺ" U37a # GREEK YPOGEGRAMMENI -diff --git a/gtk/gtkimcontextsimpleseqs.h b/gtk/gtkimcontextsimpleseqs.h -index 9cbf37d078..b480ca1a2d 100644 ---- a/gtk/gtkimcontextsimpleseqs.h -+++ b/gtk/gtkimcontextsimpleseqs.h -@@ -66,35 +66,35 @@ - - static const guint16 gtk_compose_seqs_compact[] = { - GDK_KEY_Greek_accentdieresis, 180, 184, 184, 184, 184, --GDK_KEY_dead_grave, 184, 244, 331, 543, 543, --GDK_KEY_dead_acute, 543, 605, 701, 977, 977, --GDK_KEY_dead_circumflex, 977, 1101, 1101, 1301, 1301, --GDK_KEY_dead_tilde, 1301, 1383, 1446, 1586, 1586, --GDK_KEY_dead_macron, 1586, 1630, 1648, 1720, 1720, --GDK_KEY_dead_breve, 1720, 1768, 1768, 1792, 1792, --GDK_KEY_dead_abovedot, 1792, 1820, 1823, 1859, 1859, --GDK_KEY_dead_diaeresis, 1859, 1945, 1957, 1981, 1981, --GDK_KEY_dead_abovering, 1981, 1989, 1989, 1989, 1989, --GDK_KEY_dead_doubleacute, 1989, 1997, 1997, 1997, 1997, --GDK_KEY_dead_caron, 1997, 2037, 2037, 2045, 2045, --GDK_KEY_dead_cedilla, 2045, 2055, 2061, 2061, 2061, --GDK_KEY_dead_ogonek, 2061, 2069, 2069, 2069, 2069, --GDK_KEY_dead_iota, 2069, 2089, 2188, 2620, 3280, --GDK_KEY_dead_voiced_sound, 3280, 3326, 3326, 3326, 3326, --GDK_KEY_dead_semivoiced_sound, 3326, 3336, 3336, 3336, 3336, --GDK_KEY_dead_belowdot, 3336, 3352, 3352, 3368, 3368, --GDK_KEY_dead_hook, 3368, 3446, 3449, 3505, 3505, --GDK_KEY_dead_horn, 3505, 3515, 3515, 3515, 3515, --GDK_KEY_dead_stroke, 3515, 3603, 3615, 3615, 3615, --GDK_KEY_dead_psili, 3615, 3643, 3643, 3643, 3643, --GDK_KEY_dead_dasia, 3643, 3675, 3675, 3675, 3675, --GDK_KEY_dead_belowring, 3675, 3677, 3677, 3677, 3677, --GDK_KEY_dead_belowtilde, 3677, 3679, 3679, 3679, 3679, --GDK_KEY_dead_belowdiaeresis, 3679, 3679, 3682, 3682, 3682, --GDK_KEY_dead_belowcomma, 3682, 3696, 3696, 3696, 3696, --GDK_KEY_dead_currency, 3696, 3794, 3800, 3800, 3800, --GDK_KEY_dead_greek, 3800, 3902, 3926, 3926, 3926, --GDK_KEY_Multi_key, 3926, 3926, 10637, 14345, 16220, -+GDK_KEY_dead_grave, 184, 246, 333, 545, 545, -+GDK_KEY_dead_acute, 545, 609, 705, 981, 981, -+GDK_KEY_dead_circumflex, 981, 1105, 1105, 1305, 1305, -+GDK_KEY_dead_tilde, 1305, 1389, 1452, 1592, 1592, -+GDK_KEY_dead_macron, 1592, 1638, 1656, 1728, 1728, -+GDK_KEY_dead_breve, 1728, 1778, 1778, 1802, 1802, -+GDK_KEY_dead_abovedot, 1802, 1832, 1835, 1871, 1871, -+GDK_KEY_dead_diaeresis, 1871, 1959, 1971, 1995, 1995, -+GDK_KEY_dead_abovering, 1995, 2005, 2005, 2005, 2005, -+GDK_KEY_dead_doubleacute, 2005, 2015, 2015, 2015, 2015, -+GDK_KEY_dead_caron, 2015, 2057, 2057, 2065, 2065, -+GDK_KEY_dead_cedilla, 2065, 2077, 2083, 2083, 2083, -+GDK_KEY_dead_ogonek, 2083, 2093, 2093, 2093, 2093, -+GDK_KEY_dead_iota, 2093, 2115, 2214, 2646, 3306, -+GDK_KEY_dead_voiced_sound, 3306, 3352, 3352, 3352, 3352, -+GDK_KEY_dead_semivoiced_sound, 3352, 3362, 3362, 3362, 3362, -+GDK_KEY_dead_belowdot, 3362, 3378, 3378, 3394, 3394, -+GDK_KEY_dead_hook, 3394, 3472, 3475, 3531, 3531, -+GDK_KEY_dead_horn, 3531, 3541, 3541, 3541, 3541, -+GDK_KEY_dead_stroke, 3541, 3629, 3641, 3641, 3641, -+GDK_KEY_dead_psili, 3641, 3669, 3669, 3669, 3669, -+GDK_KEY_dead_dasia, 3669, 3701, 3701, 3701, 3701, -+GDK_KEY_dead_belowring, 3701, 3703, 3703, 3703, 3703, -+GDK_KEY_dead_belowtilde, 3703, 3705, 3705, 3705, 3705, -+GDK_KEY_dead_belowdiaeresis, 3705, 3705, 3708, 3708, 3708, -+GDK_KEY_dead_belowcomma, 3708, 3722, 3722, 3722, 3722, -+GDK_KEY_dead_currency, 3722, 3820, 3826, 3826, 3826, -+GDK_KEY_dead_greek, 3826, 3928, 3952, 3952, 3952, -+GDK_KEY_Multi_key, 3952, 3952, 10663, 14371, 16246, - GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_Greek_upsilon, 0x03B0, - GDK_KEY_space, 0x0060, -@@ -127,6 +127,7 @@ GDK_KEY_Greek_iota, 0x1F76, - GDK_KEY_Greek_omicron, 0x1F78, - GDK_KEY_Greek_upsilon, 0x1F7A, - GDK_KEY_Greek_omega, 0x1F7C, -+GDK_KEY_dead_grave, 0x0060, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD2, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE2, - GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0A, -@@ -209,7 +210,7 @@ GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_E, 0x1E14, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_O, 0x1E50, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_e, 0x1E15, - GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_o, 0x1E51, --GDK_KEY_space, 0x00B4, -+GDK_KEY_space, 0x0027, - GDK_KEY_V, 0x01D7, - GDK_KEY_v, 0x01D8, - GDK_KEY_nobreakspace, 0x0301, -@@ -240,6 +241,7 @@ GDK_KEY_Greek_iota, 0x03AF, - GDK_KEY_Greek_omicron, 0x03CC, - GDK_KEY_Greek_upsilon, 0x03CD, - GDK_KEY_Greek_omega, 0x03CE, -+GDK_KEY_dead_acute, 0x00B4, - GDK_KEY_dead_diaeresis, GDK_KEY_space, 0x0385, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x03B0, -@@ -494,6 +496,7 @@ GDK_KEY_Greek_omega, 0x1FF6, - 0x1F61, 0x1F67, - 0x1F68, 0x1F6E, - 0x1F69, 0x1F6F, -+GDK_KEY_dead_tilde, 0x007E, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD7, - GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE7, - GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0E, -@@ -572,6 +575,7 @@ GDK_KEY_Greek_UPSILON, 0x1FE9, - GDK_KEY_Greek_alpha, 0x1FB1, - GDK_KEY_Greek_iota, 0x1FD1, - GDK_KEY_Greek_upsilon, 0x1FE1, -+GDK_KEY_dead_macron, 0x00AF, - GDK_KEY_dead_greek, GDK_KEY_A, 0x1FB9, - GDK_KEY_dead_greek, GDK_KEY_I, 0x1FD9, - GDK_KEY_dead_greek, GDK_KEY_U, 0x1FE9, -@@ -620,6 +624,7 @@ GDK_KEY_Greek_UPSILON, 0x1FE8, - GDK_KEY_Greek_alpha, 0x1FB0, - GDK_KEY_Greek_iota, 0x1FD0, - GDK_KEY_Greek_upsilon, 0x1FE0, -+GDK_KEY_dead_breve, 0x02D8, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_A, 0x1EB6, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_a, 0x1EB7, - GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_E, 0x1E1C, -@@ -640,6 +645,7 @@ GDK_KEY_Amacron, 0x01E0, - GDK_KEY_Omacron, 0x0230, - GDK_KEY_amacron, 0x01E1, - GDK_KEY_omacron, 0x0231, -+GDK_KEY_dead_abovedot, 0x02D9, - GDK_KEY_dead_stroke, GDK_KEY_j, 0x025F, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_S, 0x1E68, - GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_s, 0x1E69, -@@ -693,6 +699,7 @@ GDK_KEY_Greek_IOTA, 0x03AA, - GDK_KEY_Greek_UPSILON, 0x03AB, - GDK_KEY_Greek_iota, 0x03CA, - GDK_KEY_Greek_upsilon, 0x03CB, -+GDK_KEY_dead_diaeresis, 0x00A8, - GDK_KEY_dead_acute, GDK_KEY_space, 0x0385, - GDK_KEY_dead_acute, GDK_KEY_Greek_iota, 0x0390, - GDK_KEY_dead_acute, GDK_KEY_Greek_upsilon, 0x03B0, -@@ -707,10 +714,12 @@ GDK_KEY_space, 0x00B0, - GDK_KEY_nobreakspace, 0x030A, - GDK_KEY_Aacute, 0x01FA, - GDK_KEY_aacute, 0x01FB, -+GDK_KEY_dead_abovering, 0x00B0, - GDK_KEY_space, 0x02DD, - GDK_KEY_nobreakspace, 0x030B, - GDK_KEY_Cyrillic_u, 0x04F3, - GDK_KEY_Cyrillic_U, 0x04F2, -+GDK_KEY_dead_doubleacute, 0x02DD, - GDK_KEY_space, 0x02C7, - GDK_KEY_parenleft, 0x208D, - GDK_KEY_parenright, 0x208E, -@@ -731,6 +740,7 @@ GDK_KEY_V, 0x01D9, - GDK_KEY_v, 0x01DA, - GDK_KEY_nobreakspace, 0x030C, - 0x01F2, 0x01C5, -+GDK_KEY_dead_caron, 0x02C7, - GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D9, - GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DA, - GDK_KEY_space, 0x00B8, -@@ -738,12 +748,14 @@ GDK_KEY_nobreakspace, 0x0327, - GDK_KEY_cent, 0x20B5, - GDK_KEY_Cacute, 0x1E08, - GDK_KEY_cacute, 0x1E09, -+GDK_KEY_dead_cedilla, 0x00B8, - GDK_KEY_dead_currency, GDK_KEY_C, 0x20B5, - GDK_KEY_dead_currency, GDK_KEY_c, 0x20B5, - GDK_KEY_space, 0x02DB, - GDK_KEY_nobreakspace, 0x0328, - GDK_KEY_Omacron, 0x01EC, - GDK_KEY_omacron, 0x01ED, -+GDK_KEY_dead_ogonek, 0x02DB, - GDK_KEY_space, 0x037A, - GDK_KEY_Greek_alphaaccent, 0x1FB4, - GDK_KEY_Greek_etaaccent, 0x1FC4, -@@ -754,6 +766,7 @@ GDK_KEY_Greek_OMEGA, 0x1FFC, - GDK_KEY_Greek_alpha, 0x1FB3, - GDK_KEY_Greek_eta, 0x1FC3, - GDK_KEY_Greek_omega, 0x1FF3, -+GDK_KEY_dead_iota, 0x037A, - GDK_KEY_dead_grave, GDK_KEY_Greek_alpha, 0x1FB2, - GDK_KEY_dead_grave, GDK_KEY_Greek_eta, 0x1FC2, - GDK_KEY_dead_grave, GDK_KEY_Greek_omega, 0x1FF2, diff --git a/no_deadkeys_underline.patch b/no_deadkeys_underline.patch index 08813e0a18fd..8b221d8f163a 100644 --- a/no_deadkeys_underline.patch +++ b/no_deadkeys_underline.patch @@ -1,13 +1,13 @@ diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c -index cfbaecf3f6..ff3a03d64c 100644 +index a7ac95e47c..237ddc0e72 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c -@@ -954,7 +954,7 @@ gtk_im_context_simple_get_preedit_string (GtkIMContext *context, +@@ -1115,7 +1115,7 @@ gtk_im_context_simple_get_preedit_string (GtkIMContext *context, gunichar ch; gboolean need_space; - -- if (GDK_KEY_dead_grave <= priv->compose_buffer[i] && priv->compose_buffer[i] <= GDK_KEY_dead_greek) -+ if (FALSE && GDK_KEY_dead_grave <= priv->compose_buffer[i] && priv->compose_buffer[i] <= GDK_KEY_dead_greek) + +- if (is_dead_key (priv->compose_buffer[i])) ++ if (FALSE && is_dead_key (priv->compose_buffer[i])) { - /* Sadly, not all the dead keysyms have spacing mark equivalents - * in Unicode. For those that don't, we use space + the non-spacing + ch = dead_key_to_unicode (priv->compose_buffer[i], &need_space); + if (ch) |