From 06d986c4fe214ab53ebca5b1ba8eb9fbe18401db Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 20 Mar 2016 17:40:25 +0000 Subject: [PATCH] One more russian keyboard fix... git-svn-id: svn://ultimatepp.org/upp/trunk@9617 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/GtkEvent.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/uppsrc/CtrlCore/GtkEvent.cpp b/uppsrc/CtrlCore/GtkEvent.cpp index e57c599b4..2502dfaf9 100644 --- a/uppsrc/CtrlCore/GtkEvent.cpp +++ b/uppsrc/CtrlCore/GtkEvent.cpp @@ -425,7 +425,7 @@ void Ctrl::Proc() { GDKEY(KP_Insert), K_INSERT }, { GDKEY(KP_Delete), K_DELETE }, }; - + if(kv > 256) { // Non-latin keyboard layout should still produce accelerators like Ctrl+C etc... static VectorMap hwkv; // convert hw keycode to Latin GTK keyval ONCELOCK { @@ -433,8 +433,9 @@ void Ctrl::Proc() GdkKeymapKey *keys; gint n_keys; if(gdk_keymap_get_entries_for_keyval(NULL, i, &keys, &n_keys)) { - if(n_keys) - hwkv.Add(keys[0].keycode, i); + for(int j = 0; j < n_keys; j++) + if(keys[j].group == 0) + hwkv.Add(keys[j].keycode, i); g_free(keys); } }