summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlli Kehrle <ulli@hrnz.li>2021-04-22 01:50:35 +0200
committerUlli Kehrle <ulli@hrnz.li>2021-04-22 03:56:30 +0200
commitc78ec37d83b54a0789ac761725f4fc5b700e23ec (patch)
tree94b2c9318744f1f4059ca39af109d6a561808adf
parentebd8338795e2b15516fdd93429f4c82b73fe8ca3 (diff)
downloadgtk+-c78ec37d83b54a0789ac761725f4fc5b700e23ec.tar.gz
imcontextsimple: Ignore more modifiers in compose
Previously it was impossible to compose characters on higher levels of some keyboard layouts as pressing the level selection key would just exit compose mode. Examples for affected keyboard layouts include the Latvian apostrophe-variant "lv(apostrophe)" (latched third level), the extended German keyboard layout "de(e1)" (latched fifth level) as well as the multilingual Canadian keyboard layout "ca(multix)" and the German neo-layout "de(neo)" and its descendants (shifted fifth level). To reproduce, set a compose key and select the Latvian apostrophe layout. Notice that you now can input [ by pressing first the ' and then the 8-key. Then pressing <compose>'8'8 should produce ⟦, but prior to this patch it did not.
-rw-r--r--gtk/gtkimcontextsimple.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 074ffdd01f..1cbb64cf45 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -105,7 +105,10 @@ static const guint16 gtk_compose_ignore[] = {
GDK_KEY_Hyper_L,
GDK_KEY_Hyper_R,
GDK_KEY_Mode_switch,
- GDK_KEY_ISO_Level3_Shift
+ GDK_KEY_ISO_Level3_Shift,
+ GDK_KEY_ISO_Level3_Latch,
+ GDK_KEY_ISO_Level5_Shift,
+ GDK_KEY_ISO_Level5_Latch
};
static void gtk_im_context_simple_finalize (GObject *obj);