[gtk/gtk-3-24: 1/2] imcontextsimple: Ignore more modifiers in compose




commit d3a564d4f96f806c4a13c2b30c872b8a9606d595
Author: Ulli Kehrle <ulli hrnz li>
Date:   Thu Apr 22 01:50:35 2021 +0200

    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.

 gtk/gtkimcontextsimple.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 38806d05c3..3e86929877 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]