From dde42ddc756651f9a67b9ad992a06c1593f4ede3 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Thu, 18 Feb 2010 22:05:07 +0100 Subject: [PATCH] fix CTRL+C with non-latin keyboard. Fixes #1503 --- src/chat_control.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/chat_control.py b/src/chat_control.py index 04b445ce2..4a0ea437c 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -554,7 +554,11 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools): self.connect_style_event(widget, opts[0], opts[1]) def _conv_textview_key_press_event(self, widget, event): - if (event.state & gtk.gdk.CONTROL_MASK and event.keyval in (gtk.keysyms.c, + # translate any layout to latin_layout + keymap = gtk.gdk.keymap_get_default() + keycode, group, level = keymap.get_entries_for_keyval(event.keyval)[0] + keycodec, group, level = keymap.get_entries_for_keyval(gtk.keysyms.c)[0] + if (event.state & gtk.gdk.CONTROL_MASK and event.keyval in (keycodec, gtk.keysyms.Insert)) or (event.state & gtk.gdk.SHIFT_MASK and \ event.keyval in (gtk.keysyms.Page_Down, gtk.keysyms.Page_Up)): return False