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.
This commit is contained in:
Ulli Kehrle
2021-04-22 01:50:35 +02:00
parent 8bbaa7d092
commit d3a564d4f9

View File

@ -100,7 +100,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);