~abelianr/pyroom/plugin-system

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# -*- coding: utf-8 -*-
import gtk
class ChangedKeys(object):	
    def __init__(self,edit_instance):
	self.edit = edit_instance
	self.edit.keybindings = self.define_keybindings()

    def define_keybindings(self):
	"""define keybindings, respectively to keyboard layout"""
	keymap = gtk.gdk.keymap_get_default()
	basic_bindings = {
	    gtk.keysyms.Page_Up: self.edit.prev_buffer,
	    gtk.keysyms.Page_Down: self.edit.next_buffer,
	    gtk.keysyms.A: self.edit.show_help,
	    gtk.keysyms.B: self.edit.show_info,
	    gtk.keysyms.C: self.edit.new_buffer,
	    gtk.keysyms.D: self.edit.open_file,
	    gtk.keysyms.E: self.edit.preferences.show,
	    gtk.keysyms.F: self.edit.dialog_quit,
	    gtk.keysyms.G: self.edit.save_file,
	    gtk.keysyms.H: self.edit.close_dialog,
	    gtk.keysyms.I: self.edit.redo,
	    gtk.keysyms.J: self.edit.undo,
	}
	translated_bindings = {}
	for key, value in basic_bindings.items():
	    hardware_keycode = keymap.get_entries_for_keyval(key)[0][0]
	    translated_bindings[hardware_keycode] = value
	return translated_bindings