[pygtk] adjust key bindings
Fabian Braennstroem
f.braennstroem at gmx.de
Tue Nov 14 22:59:13 WST 2006
Hi,
I just start to use pygtk ... so it is just my first
question :-)
I would like to create a small file manager based on 'lfm'
(curses based file manager). I used glade for the gui and I
am able to display the existing files and directories using
two treeview widgets.
Now, at the beginning I am kind of stuck with the key bindings. In 'lfm'
it was pretty easy to define special key bindings:
keytable = {
# movement
ord('p'): 'cursor_up',
ord('k'): 'cursor_up',
ord('K'): 'cursor_up2',
ord('P'): 'cursor_up',
curses.KEY_UP: 'cursor_up',
ord('n'): 'cursor_down',
ord('j'): 'cursor_down',
ord('J'): 'cursor_down2',
ord('N'): 'cursor_down',
curses.KEY_DOWN: 'cursor_down',
curses.KEY_PPAGE: 'page_previous',
curses.KEY_BACKSPACE: 'page_previous',
0x08: 'page_previous', # BackSpace
0x10: 'page_previous', # Ctrl-P
curses.KEY_NPAGE: 'page_next',
ord(' '): 'page_next',
0x0E: 'page_next', # Ctrl-N
curses.KEY_HOME: 'home',
0x16A: 'home',
ord('H'): 'home',
0x001: 'home',
curses.KEY_END: 'end',
ord('G'): 'end',
0x181: 'end',
0x005: 'end',
ord('h'): 'cursor_left',
ord('l'): 'cursor_right',
curses.KEY_LEFT: 'cursor_left',
curses.KEY_RIGHT: 'cursor_right',
ord('g'): 'goto_dir',
0x13: 'goto_file', # Ctrl-S
0x14: 'tree', # Ctrl-T
ord('0'): 'bookmark_0',
ord('1'): 'bookmark_1',
...
with such a keytable I am able to bind different 'def's to
every existing key. As you can see, I like it a lot to use
'vim-like' keys for moving around; 'j' and 'k' to move a row
up and down. In glade I found those 'accelerators', but it
is just for certain functions.
Does anyone have an idea about using such a keybinding in
pygtk? Would be nice!
Greetings!
Fabian
More information about the pygtk
mailing list