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




commit c78ec37d83b54a0789ac761725f4fc5b700e23ec
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 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);


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