diff frontends/primitivus/primitivus @ 127:55d3ef84f01f

Primitivus: mouse wheel changed to 'up' and 'down' key press
author Goffi <goffi@goffi.org>
date Mon, 12 Jul 2010 18:55:27 +0800
parents 8d611eb9ae48
children 2240f34f6452
line wrap: on
line diff
--- a/frontends/primitivus/primitivus	Mon Jul 12 18:54:55 2010 +0800
+++ b/frontends/primitivus/primitivus	Mon Jul 12 18:55:27 2010 +0800
@@ -84,7 +84,7 @@
         
         ## main loop setup ##
         self.main_widget = ProfileManager(self)
-        self.loop = urwid.MainLoop(self.main_widget, const_PALETTE, event_loop=urwid.GLibEventLoop(), unhandled_input=self.key_handler)
+        self.loop = urwid.MainLoop(self.main_widget, const_PALETTE, event_loop=urwid.GLibEventLoop(), input_filter=self.inputFilter, unhandled_input=self.keyHandler)
 
         ##misc setup##
         self.chat_wins=ChatList(self)
@@ -105,7 +105,17 @@
         self.loop.set_alarm_in(0,lambda a,b: self.postInit())
         self.loop.run()
 
-    def key_handler(self, input):
+    def inputFilter(self, input, raw):
+        for i in input:
+            if i.__class__==tuple:
+                if i[0] == 'mouse press':
+                    if i[1] == 4: #Mouse wheel up
+                        input[input.index(i)] = 'up'
+                    if i[1] == 5: #Mouse wheel down
+                        input[input.index(i)] = 'down'
+        return input
+
+    def keyHandler(self, input):
         if input in ('q', 'Q') or input == 'ctrl x':
             raise urwid.ExitMainLoop()
         elif input == 'ctrl d' and 'D' in self.bridge.getVersion(): #Debug only for dev versions