Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2010-02-19 00:05:07 +0300
committerYann Leboulanger <asterix@lagaule.org>2010-02-19 00:05:07 +0300
commite3ae80b0e2a1cb942ccbcf6688e9a9df2e9e2c0d (patch)
tree81e3bb9e1806599fd41f9ab52bb159eb3a172910
parent29afa521666a17910b1f48fc23480a7d5a358a47 (diff)
fix CTRL+C with non-latin keyboard. Fixes #1503
-rw-r--r--src/chat_control.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/chat_control.py b/src/chat_control.py
index 4e0fc5d96..a1a6c4c97 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -525,7 +525,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