[orca] Fix regression from keyboard event refactor



commit 8240ac112bcb59d388838172970daf60d618e136
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Tue Apr 5 18:46:54 2016 -0400

    Fix regression from keyboard event refactor

 src/orca/input_event.py |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/src/orca/input_event.py b/src/orca/input_event.py
index 07da06a..2dd47c6 100644
--- a/src/orca/input_event.py
+++ b/src/orca/input_event.py
@@ -456,6 +456,25 @@ class KeyboardEvent(InputEvent):
 
         return keynames.getKeyName(self.event_string)
 
+    def _getUserHandler(self):
+        # TODO - JD: This should go away once plugin support is in place.
+        try:
+            bindings = settings.keyBindingsMap.get(self._script.__module__)
+        except:
+            bindings = None
+        if not bindings:
+            try:
+                bindings = settings.keyBindingsMap.get("default")
+            except:
+                bindings = None
+
+        try:
+            handler = bindings.getInputHandler(self)
+        except:
+            handler = None
+
+        return handler
+
     def shouldConsume(self):
         """Returns True if this event should be consumed."""
 
@@ -468,7 +487,8 @@ class KeyboardEvent(InputEvent):
         if orca_state.capturingKeys:
             return False, 'Capturing keys'
 
-        self._handler = self._script.keyBindings.getInputHandler(self)
+        self._handler = self._getUserHandler() \
+            or self._script.keyBindings.getInputHandler(self)
 
         # TODO - JD: Right now we need to always call consumesKeyboardEvent()
         # because that method is updating state, even in instances where there


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]