diff -aur kupfer-v202/kupfer/ui/browser.py kupfer-v202.copy/kupfer/ui/browser.py
--- kupfer-v202/kupfer/ui/browser.py 2010-09-05 07:01:25.000000000 -0700
+++ kupfer-v202.copy/kupfer/ui/browser.py 2010-11-02 14:35:50.000000000 -0700
@@ -852,7 +852,7 @@
keys = (
"Up", "Down", "Right", "Left",
"Tab", "ISO_Left_Tab", "BackSpace", "Escape", "Delete",
- "space", 'Page_Up', 'Page_Down', 'Home'
+ "space", 'Page_Up', 'Page_Down', 'Home', 'Return'
)
self.key_book = dict((k, gtk.gdk.keyval_from_name(k)) for k in keys)
if not text_direction_is_ltr():
@@ -972,6 +972,11 @@
if keyv not in self.keys_sensible:
+ # skip the IME if we're not in text mode
+ if not text_mode:
+ if keyv < 128:
+ self.entry.insert_text(chr(keyv), -1)
+ return True
# exit if not handled
return False
self._reset_to_toplevel = False
@@ -999,6 +1004,9 @@
elif keyv == key_book["BackSpace"]:
if not has_input:
self._backspace_key_press()
+ elif not text_mode:
+ #forward backspace presses to the entry box
+ self.entry.delete_text(self.entry.get_text_length() - 1, -1)
else:
return False
elif keyv == key_book["Left"]:
@@ -1008,6 +1016,11 @@
self.switch_current(reverse=(keyv == key_book["ISO_Left_Tab"]))
elif keyv == key_book['Home']:
self.current.go_first()
+ elif keyv == key_book['Return']:
+ if has_input and not text_mode:
+ self.activate()
+ else:
+ return False
else:
# cont. processing
return False