orca r4218 - in branches/phase2/src/orca: . plugins



Author: wwalker
Date: Sun Sep 14 22:10:43 2008
New Revision: 4218
URL: http://svn.gnome.org/viewvc/orca?rev=4218&view=rev

Log:
Make flat_review a plugin.


Added:
   branches/phase2/src/orca/plugins/flat_review.py   (contents, props changed)
Modified:
   branches/phase2/src/orca/default.py
   branches/phase2/src/orca/default_bindings.py

Modified: branches/phase2/src/orca/default.py
==============================================================================
--- branches/phase2/src/orca/default.py	(original)
+++ branches/phase2/src/orca/default.py	Sun Sep 14 22:10:43 2008
@@ -51,16 +51,20 @@
         Subclasses should override this method to add their own
         plugins.
         """
+        # TODO: make the discovery of plugin classes somewhat dynamic
+        #
         import plugins.debug_actions
         import plugins.speech_parameters
         import plugins.bookmarks
         import plugins.where_am_i
-        
+        import plugins.flat_review
+
         return script.Script._getPluginClasses(self) \
             + [plugins.debug_actions.Plugin,
                plugins.speech_parameters.Plugin,
                plugins.bookmarks.Plugin,
-               plugins.where_am_i.Plugin]
+               plugins.where_am_i.Plugin,
+               plugins.flat_review.Plugin]
 
     def _createObjectEventListeners(self):
         """Sets up the AT-SPI event listeners for this script.
@@ -98,34 +102,6 @@
         """
         handlers = script.Script._createInputEventHandlers(self)
         handlers.update({
-            "leftClickReviewItemHandler" : input_bindings.Handler(
-                Script._leftClickReviewItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  A left click means to generate
-                # a left mouse button click on the current item.
-                #
-                _("Performs left click on current flat review item.")),
-
-            "rightClickReviewItemHandler" : input_bindings.Handler(
-                Script._rightClickReviewItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  A right click means to generate
-                # a right mouse button click on the current item.
-                #
-                _("Performs right click on current flat review item.")),
-
             "sayAllHandler" : input_bindings.Handler(
                 Script._sayAll,
                 # Translators: the Orca "SayAll" command allows the
@@ -138,343 +114,6 @@
                 #
                 _("Speaks entire document.")),
 
-            "findHandler" : input_bindings.Handler(
-                Script._showFindGUI,
-                # Translators: the Orca "Find" dialog allows a user to
-                # search for text in a window and then move focus to
-                # that text.  For example, they may want to find the
-                # "OK" button.
-                #
-                _("Opens the Orca Find dialog.")),
-
-            "findNextHandler" : input_bindings.Handler(
-                Script._findNext,
-                # Translators: the Orca "Find" dialog allows a user to
-                # search for text in a window and then move focus to
-                # that text.  For example, they may want to find the
-                # "OK" button.  This string is used for finding the
-                # next occurence of a string.
-                #
-                _("Searches for the next instance of a string.")),
-
-            "findPreviousHandler" : input_bindings.Handler(
-                Script._findPrevious,
-                # Translators: the Orca "Find" dialog allows a user to
-                # search for text in a window and then move focus to
-                # that text.  For example, they may want to find the
-                # "OK" button.  This string is used for finding the
-                # previous occurence of a string.
-                #
-                _("Searches for the previous instance of a string.")),
-
-            "toggleFlatReviewModeHandler" : input_bindings.Handler(
-                Script._toggleFlatReviewMode,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.
-                #
-                _("Enters and exits flat review mode.")),
-
-            "reviewPreviousLineHandler" : input_bindings.Handler(
-                Script._reviewPreviousLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.
-                #
-                _("Moves flat review to the beginning of the previous line.")),
-
-            "reviewHomeHandler" : input_bindings.Handler(
-                Script._reviewHome,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  The home position is the
-                # beginning of the content in the window.
-                #
-                _("Moves flat review to the home position.")),
-
-            "reviewCurrentLineHandler" : input_bindings.Handler(
-                Script._reviewCurrentLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  This particular command will
-                # cause Orca to speak the current line.
-                #
-                _("Speaks the current flat review line.")),
-
-            "reviewSpellCurrentLineHandler" : input_bindings.Handler(
-                Script._reviewSpellCurrentLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}. This particular command will
-                # cause Orca to spell the current line.
-                #
-                _("Spells the current flat review line.")),
-
-            "reviewPhoneticCurrentLineHandler" : input_bindings.Handler(
-                Script._reviewPhoneticCurrentLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}. This particular command will
-                # cause Orca to "phonetically spell" the current line,
-                # saying "Alpha" for "a", "Bravo" for "b" and so on.
-                #
-                _("Phonetically spells the current flat review line.")),
-
-            "reviewNextLineHandler" : input_bindings.Handler(
-                Script._reviewNextLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.
-                #
-                _("Moves flat review to the beginning of the next line.")),
-
-            "reviewEndHandler" : input_bindings.Handler(
-                Script._reviewEnd,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  The end position is the last
-                # bit of information in the window.
-                #
-                _("Moves flat review to the end position.")),
-
-            "reviewPreviousItemHandler" : input_bindings.Handler(
-                Script._reviewPreviousItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Previous will go backwards
-                # in the window until you reach the top (i.e., it will
-                # wrap across lines if necessary).
-                #
-                _("Moves flat review to the previous item or word.")),
-
-            "reviewAboveHandler" : input_bindings.Handler(
-                Script._reviewAbove,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Above in this case means
-                # geographically above, as if you drew a vertical line
-                # in the window.
-                #
-                _("Moves flat review to the word above the current word.")),
-
-            "reviewCurrentItemHandler" : input_bindings.Handler(
-                Script._reviewCurrentItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  This command will speak the
-                # current word or item.
-                #
-                _("Speaks the current flat review item or word.")),
-
-            "reviewSpellCurrentItemHandler" : input_bindings.Handler(
-                Script._reviewSpellCurrentItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  This command will spell out
-                # the current word or item letter by letter.
-                #
-                _("Spells the current flat review item or word.")),
-
-            "reviewPhoneticCurrentItemHandler" : input_bindings.Handler(
-                Script._reviewPhoneticCurrentItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  This command will spell out
-                # the current word or item phonetically, saying "Alpha"
-                # for "a", "Bravo" for "b" and so on.
-                #
-                _("Phonetically spells the current flat review item or " \
-                  "word.")),
-
-            "reviewCurrentAccessibleHandler" : input_bindings.Handler(
-                Script._reviewCurrentAccessible,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  The flat review object is
-                # typically something like a pushbutton, a label, or
-                # some other GUI widget.  The 'speaks' means it will
-                # speak the text associated with the object.
-                #
-                _("Speaks the current flat review object.")),
-
-            "reviewNextItemHandler" : input_bindings.Handler(
-                Script._reviewNextItem,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Next will go forwards
-                # in the window until you reach the end (i.e., it will
-                # wrap across lines if necessary).
-                #
-                _("Moves flat review to the next item or word.")),
-
-            "reviewBelowHandler" : input_bindings.Handler(
-                Script._reviewBelow,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Below in this case means
-                # geographically below, as if you drew a vertical line
-                # downward on the screen.
-                #
-                _("Moves flat review to the word below the current word.")),
-
-            "reviewPreviousCharacterHandler" : input_bindings.Handler(
-                Script._reviewPreviousCharacter,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Previous will go backwards
-                # in the window until you reach the top (i.e., it will
-                # wrap across lines if necessary).
-                #
-                _("Moves flat review to the previous character.")),
-
-            "reviewEndOfLineHandler" : input_bindings.Handler(
-                Script._reviewEndOfLine,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.
-                #
-                _("Moves flat review to the end of the line.")),
-
-            "reviewCurrentCharacterHandler" : input_bindings.Handler(
-                Script._reviewCurrentCharacter,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Previous will go backwards
-                # in the window until you reach the top (i.e., it will
-                # wrap across lines if necessary).  The 'speaks' in
-                # this case will be the spoken language form of the
-                # character currently being reviewed.
-                #
-                _("Speaks the current flat review character.")),
-
-            "reviewSpellCurrentCharacterHandler" : input_bindings.Handler(
-                Script._reviewSpellCurrentCharacter,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Previous will go backwards
-                # in the window until you reach the top (i.e., it will
-                # wrap across lines if necessary).  This command will
-                # cause Orca to speak a phonetic representation of the
-                # character currently being reviewed, saying "Alpha"
-                # for "a", "Bravo" for "b" and so on.
-                #
-                _("Phonetically speaks the current flat review character.")),
-
-            "reviewNextCharacterHandler" : input_bindings.Handler(
-                Script._reviewNextCharacter,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Next will go forwards
-                # in the window until you reach the end (i.e., it will
-                # wrap across lines if necessary).
-                #
-                _("Moves flat review to the next character.")),
-
             "toggleTableCellReadModeHandler" : input_bindings.Handler(
                 Script._toggleTableCellReadMode,
                 # Translators: when users are navigating a table, they
@@ -535,37 +174,6 @@
                 _("Pans the braille display to the right."),
                 False), # Do not enable learn mode for this action
 
-            "reviewBottomLeftHandler" : input_bindings.Handler(
-                Script._reviewBottomLeft,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  The bottom left is the bottom
-                # left of the window currently being reviewed.
-                #
-                _("Moves flat review to the bottom left.")),
-
-            "goBrailleHomeHandler" : input_bindings.Handler(
-                Script._goBrailleHome,
-                # Translators: the 'flat review' feature of Orca
-                # allows the blind user to explore the text in a
-                # window in a 2D fashion.  That is, Orca treats all
-                # the text from all objects in a window (e.g.,
-                # buttons, labels, etc.) as a sequence of words in a
-                # sequence of lines.  The flat review feature allows
-                # the user to explore this text by the {previous,next}
-                # {line,word,character}.  Flat review is modal, and
-                # the user can be exploring the window without changing
-                # which object in the window which has focus.  The
-                # feature used here will return the flat review to the
-                # object with focus.
-                #
-                _("Returns to object with keyboard focus.")),
-
             "enterLearnModeHandler" : input_bindings.Handler(
                 Script._enterLearnMode,
                 # Translators: Orca has a "Learn Mode" that will allow
@@ -788,141 +396,11 @@
     #                                                                  #
     ####################################################################
 
-    def _leftClickReviewItem(self, inputEvent=None, modifiers=None):
-        """The leftClickReviewItem handler.
-        """
-        log.debug("_leftClickReviewItem: %s" % inputEvent)
-
-    def _rightClickReviewItem(self, inputEvent=None, modifiers=None):
-        """The rightClickReviewItem handler.
-        """
-        log.debug("_rightClickReviewItem: %s" % inputEvent)
-
     def _sayAll(self, inputEvent=None, modifiers=None):
         """The sayAll handler.
         """
         log.debug("_sayAll: %s" % inputEvent)
 
-    def _showFindGUI(self, inputEvent=None, modifiers=None):
-        """The showFindGUI handler.
-        """
-        log.debug("_showFindGUI: %s" % inputEvent)
-
-    def _findNext(self, inputEvent=None, modifiers=None):
-        """The findNext handler.
-        """
-        log.debug("_findNext: %s" % inputEvent)
-
-    def _findPrevious(self, inputEvent=None, modifiers=None):
-        """The findPrevious handler.
-        """
-        log.debug("_findPrevious: %s" % inputEvent)
-
-    def _toggleFlatReviewMode(self, inputEvent=None, modifiers=None):
-        """The toggleFlatReviewMode handler.
-        """
-        log.debug("_toggleFlatReviewMode: %s" % inputEvent)
-
-    def _reviewPreviousLine(self, inputEvent=None, modifiers=None):
-        """The reviewPreviousLine handler.
-        """
-        log.debug("_reviewPreviousLine: %s" % inputEvent)
-
-    def _reviewHome(self, inputEvent=None, modifiers=None):
-        """The reviewHome handler.
-        """
-        log.debug("_reviewHome: %s" % inputEvent)
-
-    def _reviewCurrentLine(self, inputEvent=None, modifiers=None):
-        """The reviewCurrentLine handler.
-        """
-        log.debug("_reviewCurrentLine: %s" % inputEvent)
-
-    def _reviewSpellCurrentLine(self, inputEvent=None, modifiers=None):
-        """The reviewSpellCurrentLine handler.
-        """
-        log.debug("_reviewSpellCurrentLine: %s" % inputEvent)
-
-    def _reviewPhoneticCurrentLine(self, inputEvent=None, modifiers=None):
-        """The reviewPhoneticCurrentLine handler.
-        """
-        log.debug("_reviewPhoneticCurrentLine: %s" % inputEvent)
-
-    def _reviewNextLine(self, inputEvent=None, modifiers=None):
-        """The reviewNextLine handler.
-        """
-        log.debug("_reviewNextLine: %s" % inputEvent)
-
-    def _reviewEnd(self, inputEvent=None, modifiers=None):
-        """The reviewEnd handler.
-        """
-        log.debug("_reviewEnd: %s" % inputEvent)
-
-    def _reviewPreviousItem(self, inputEvent=None, modifiers=None):
-        """The reviewPreviousItem handler.
-        """
-        log.debug("_reviewPreviousItem: %s" % inputEvent)
-
-    def _reviewAbove(self, inputEvent=None, modifiers=None):
-        """The reviewAbove handler.
-        """
-        log.debug("_reviewAbove: %s" % inputEvent)
-
-    def _reviewCurrentItem(self, inputEvent=None, modifiers=None):
-        """The reviewCurrentItem handler.
-        """
-        log.debug("_reviewCurrentItem: %s" % inputEvent)
-
-    def _reviewSpellCurrentItem(self, inputEvent=None, modifiers=None):
-        """The reviewSpellCurrentItem handler.
-        """
-        log.debug("_reviewSpellCurrentItem: %s" % inputEvent)
-
-    def _reviewPhoneticCurrentItem(self, inputEvent=None, modifiers=None):
-        """The reviewPhoneticCurrentItem handler.
-        """
-        log.debug("_reviewPhoneticCurrentItem: %s" % inputEvent)
-
-    def _reviewCurrentAccessible(self, inputEvent=None, modifiers=None):
-        """The reviewCurrentAccessible handler.
-        """
-        log.debug("_reviewCurrentAccessible: %s" % inputEvent)
-
-    def _reviewNextItem(self, inputEvent=None, modifiers=None):
-        """The reviewNextItem handler.
-        """
-        log.debug("_reviewNextItem: %s" % inputEvent)
-
-    def _reviewBelow(self, inputEvent=None, modifiers=None):
-        """The reviewBelow handler.
-        """
-        log.debug("_reviewBelow: %s" % inputEvent)
-
-    def _reviewPreviousCharacter(self, inputEvent=None, modifiers=None):
-        """The reviewPreviousCharacter handler.
-        """
-        log.debug("_reviewPreviousCharacter: %s" % inputEvent)
-
-    def _reviewEndOfLine(self, inputEvent=None, modifiers=None):
-        """The reviewEndOfLine handler.
-        """
-        log.debug("_reviewEndOfLine: %s" % inputEvent)
-
-    def _reviewCurrentCharacter(self, inputEvent=None, modifiers=None):
-        """The reviewCurrentCharacter handler.
-        """
-        log.debug("_reviewCurrentCharacter: %s" % inputEvent)
-
-    def _reviewSpellCurrentCharacter(self, inputEvent=None, modifiers=None):
-        """The reviewSpellCurrentCharacter handler.
-        """
-        log.debug("_reviewSpellCurrentCharacter: %s" % inputEvent)
-
-    def _reviewNextCharacter(self, inputEvent=None, modifiers=None):
-        """The reviewNextCharacter handler.
-        """
-        log.debug("_reviewNextCharacter: %s" % inputEvent)
-
     def _toggleTableCellReadMode(self, inputEvent=None, modifiers=None):
         """The toggleTableCellReadMode handler.
         """
@@ -948,16 +426,6 @@
         """
         log.debug("_panBrailleRight: %s" % inputEvent)
 
-    def _reviewBottomLeft(self, inputEvent=None, modifiers=None):
-        """The reviewBottomLeft handler.
-        """
-        log.debug("_reviewBottomLeft: %s" % inputEvent)
-
-    def _goBrailleHome(self, inputEvent=None, modifiers=None):
-        """The goBrailleHome handler.
-        """
-        log.debug("_goBrailleHome: %s" % inputEvent)
-
     def _enterLearnMode(self, inputEvent=None, modifiers=None):
         """The enterLearnMode handler.
         """

Modified: branches/phase2/src/orca/default_bindings.py
==============================================================================
--- branches/phase2/src/orca/default_bindings.py	(original)
+++ branches/phase2/src/orca/default_bindings.py	Sun Sep 14 22:10:43 2008
@@ -140,446 +140,6 @@
         "toggleMouseReviewHandler"),
 ]
 
-# Desktop flat review keys
-#
-desktopFlatReviewKeys = [
-    input_bindings.KeyBinding(
-        "KP_Divide",
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "leftClickReviewItemHandler"),
-    
-    input_bindings.KeyBinding(
-        "KP_Multiply",
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "rightClickReviewItemHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Subtract",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "toggleFlatReviewModeHandler"),
-        
-    input_bindings.KeyBinding(
-        "KP_7",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Home",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_7",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewHomeHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Home",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewHomeHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_8",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentLineHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_8",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentLineHandler", 2),
-
-    input_bindings.KeyBinding(
-        "KP_8",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPhoneticCurrentLineHandler", 3),
-
-    input_bindings.KeyBinding(
-        "KP_Up",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentLineHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_Up",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentLineHandler", 2),
-
-    input_bindings.KeyBinding(
-        "KP_Up",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPhoneticCurrentLineHandler", 3),
-
-    input_bindings.KeyBinding(
-        "KP_9",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Page_Up",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_9",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewEndHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Page_Up",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewEndHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_4",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousItemHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Left",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousItemHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_4",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewAboveHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Left",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewAboveHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_5",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentItemHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_5",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentItemHandler", 2),
-
-    input_bindings.KeyBinding(
-        "KP_5",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPhoneticCurrentItemHandler", 3),
-
-    input_bindings.KeyBinding(
-        "KP_Begin",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentItemHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_Begin",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentItemHandler", 2),
-    
-    input_bindings.KeyBinding(
-        "KP_Begin",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPhoneticCurrentItemHandler", 3),
-
-    input_bindings.KeyBinding(
-        "KP_5",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewCurrentAccessibleHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Begin",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewCurrentAccessibleHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_6",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextItemHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Right",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextItemHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_6",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewBelowHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Right",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewBelowHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_1",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_End",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewPreviousCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_1",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewEndOfLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_End",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewEndOfLineHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_2",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentCharacterHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_2",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentCharacterHandler", 2),
-
-    input_bindings.KeyBinding(
-        "KP_Down",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewCurrentCharacterHandler", 1),
-
-    input_bindings.KeyBinding(
-        "KP_Down",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewSpellCurrentCharacterHandler", 2),
-
-    input_bindings.KeyBinding(
-        "KP_3",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Page_Down",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "reviewNextCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Delete",
-        input_event.defaultModifierMask,
-        input_event.NO_MODIFIER_MASK,
-        "findHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Delete",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "findNextHandler"),
-
-    input_bindings.KeyBinding(
-        "KP_Delete",
-        input_event.defaultModifierMask,
-        input_event.ORCA_SHIFT_MODIFIER_MASK,
-        "findPreviousHandler"),
-]
-
-# Laptop flat review keys
-#
-laptopFlatReviewKeys = [
-    input_bindings.KeyBinding(
-        "7",
-        input_event.ORCA_MODIFIER_MASK,
-        input_event.ORCA_MODIFIER_MASK,
-        "leftClickReviewItemHandler"),
-
-    input_bindings.KeyBinding(
-        "8",
-        input_event.ORCA_MODIFIER_MASK,
-        input_event.ORCA_MODIFIER_MASK,
-        "rightClickReviewItemHandler"),
-
-    input_bindings.KeyBinding(
-        "p",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "toggleFlatReviewModeHandler"),
-
-    input_bindings.KeyBinding(
-        "u",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewPreviousLineHandler"),
-
-    input_bindings.KeyBinding(
-        "u",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewHomeHandler"),
-
-    input_bindings.KeyBinding(
-        "i",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewCurrentLineHandler", 1),
-
-    input_bindings.KeyBinding(
-        "i",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewSpellCurrentLineHandler", 2),
-
-    input_bindings.KeyBinding(
-        "i",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewPhoneticCurrentLineHandler", 3),
-
-    input_bindings.KeyBinding(
-        "o",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewNextLineHandler"),
-
-    input_bindings.KeyBinding(
-        "o",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewEndHandler"),
-
-    input_bindings.KeyBinding(
-        "j",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewPreviousItemHandler"),
-
-    input_bindings.KeyBinding(
-        "j",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewAboveHandler"),
-
-    input_bindings.KeyBinding(
-        "k",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewCurrentItemHandler", 1),
-
-    input_bindings.KeyBinding(
-        "k",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewSpellCurrentItemHandler", 2),
-
-    input_bindings.KeyBinding(
-        "k",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewPhoneticCurrentItemHandler", 3),
-
-    input_bindings.KeyBinding(
-        "k",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewCurrentAccessibleHandler"),
-
-    input_bindings.KeyBinding(
-        "l",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewNextItemHandler"),
-
-    input_bindings.KeyBinding(
-        "l",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewBelowHandler"),
-
-    input_bindings.KeyBinding(
-        "m",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewPreviousCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "m",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "reviewEndOfLineHandler"),
-
-    input_bindings.KeyBinding(
-        "comma",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewCurrentCharacterHandler", 1),
-
-    input_bindings.KeyBinding(
-        "comma",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewSpellCurrentCharacterHandler", 2),
-
-    input_bindings.KeyBinding(
-        "period",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "reviewNextCharacterHandler"),
-
-    input_bindings.KeyBinding(
-        "bracketleft",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "findHandler"),
-
-    input_bindings.KeyBinding(
-        "bracketright",
-        input_event.defaultModifierMask,
-        input_event.ORCA_MODIFIER_MASK,
-        "findNextHandler"),
-
-    input_bindings.KeyBinding(
-        "bracketright",
-        input_event.defaultModifierMask,
-        input_event.ORCA_CTRL_MODIFIER_MASK,
-        "findPreviousHandler"),
-]
-
 desktopSayAllKeys = [
     input_bindings.KeyBinding(
         "KP_Add",
@@ -597,8 +157,8 @@
 ]
 
 commonKeys = generalKeys + unboundKeys
-desktopKeys = commonKeys + desktopFlatReviewKeys + desktopSayAllKeys
-laptopKeys = commonKeys + laptopFlatReviewKeys + laptopSayAllKeys
+desktopKeys = commonKeys + desktopSayAllKeys
+laptopKeys = commonKeys + laptopSayAllKeys
 
 import brlapi
 brailleKeys = [
@@ -619,36 +179,6 @@
         input_event.NO_MODIFIER_MASK,
         input_event.NO_MODIFIER_MASK,
         "panBrailleRightHandler"),
-
-    input_bindings.BrailleBinding(
-        brlapi.KEY_CMD_LNUP,
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "reviewAboveHandler"),
-
-    input_bindings.BrailleBinding(
-        brlapi.KEY_CMD_LNDN,
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "reviewBelowHandler"),
-
-    input_bindings.BrailleBinding(
-        brlapi.KEY_CMD_TOP_LEFT,
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "reviewHomeHandler"),
-
-    input_bindings.BrailleBinding(
-        brlapi.KEY_CMD_BOT_LEFT,
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "reviewBottomLeftHandler"),
-
-    input_bindings.BrailleBinding(
-        brlapi.KEY_CMD_HOME,
-        input_event.NO_MODIFIER_MASK,
-        input_event.NO_MODIFIER_MASK,
-        "goBrailleHomeHandler"),
 ]
 
 if __name__ == "__main__":

Added: branches/phase2/src/orca/plugins/flat_review.py
==============================================================================
--- (empty file)
+++ branches/phase2/src/orca/plugins/flat_review.py	Sun Sep 14 22:10:43 2008
@@ -0,0 +1,1101 @@
+# Copyright 2008 Sun Microsystems Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., Franklin Street, Fifth Floor,
+# Boston MA  02110-1301 USA.
+
+"""A Plugin for providing flat review operations.
+"""
+
+__id__        = "$Id$"
+__copyright__ = "Copyright (c) 2008 Sun Microsystems Inc."
+__license__   = "LGPL"
+
+import logging
+log = logging.getLogger('orca.plugins.flat_review')
+
+import orca.input_bindings as input_bindings
+import orca.input_event as input_event
+import orca.plugin as plugin
+
+from orca.orca_i18n import _ # for gettext support
+
+# Desktop flat review keys
+#
+desktopKeys = [
+    input_bindings.KeyBinding(
+        "KP_Divide",
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "leftClickReviewItemHandler"),
+    
+    input_bindings.KeyBinding(
+        "KP_Multiply",
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "rightClickReviewItemHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Subtract",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "toggleFlatReviewModeHandler"),
+        
+    input_bindings.KeyBinding(
+        "KP_7",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Home",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_7",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewHomeHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Home",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewHomeHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_8",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentLineHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_8",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentLineHandler", 2),
+
+    input_bindings.KeyBinding(
+        "KP_8",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPhoneticCurrentLineHandler", 3),
+
+    input_bindings.KeyBinding(
+        "KP_Up",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentLineHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_Up",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentLineHandler", 2),
+
+    input_bindings.KeyBinding(
+        "KP_Up",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPhoneticCurrentLineHandler", 3),
+
+    input_bindings.KeyBinding(
+        "KP_9",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Page_Up",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_9",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewEndHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Page_Up",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewEndHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_4",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousItemHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Left",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousItemHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_4",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewAboveHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Left",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewAboveHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_5",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentItemHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_5",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentItemHandler", 2),
+
+    input_bindings.KeyBinding(
+        "KP_5",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPhoneticCurrentItemHandler", 3),
+
+    input_bindings.KeyBinding(
+        "KP_Begin",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentItemHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_Begin",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentItemHandler", 2),
+    
+    input_bindings.KeyBinding(
+        "KP_Begin",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPhoneticCurrentItemHandler", 3),
+
+    input_bindings.KeyBinding(
+        "KP_5",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewCurrentAccessibleHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Begin",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewCurrentAccessibleHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_6",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextItemHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Right",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextItemHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_6",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewBelowHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Right",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewBelowHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_1",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_End",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewPreviousCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_1",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewEndOfLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_End",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewEndOfLineHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_2",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentCharacterHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_2",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentCharacterHandler", 2),
+
+    input_bindings.KeyBinding(
+        "KP_Down",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewCurrentCharacterHandler", 1),
+
+    input_bindings.KeyBinding(
+        "KP_Down",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewSpellCurrentCharacterHandler", 2),
+
+    input_bindings.KeyBinding(
+        "KP_3",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Page_Down",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "reviewNextCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Delete",
+        input_event.defaultModifierMask,
+        input_event.NO_MODIFIER_MASK,
+        "findHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Delete",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "findNextHandler"),
+
+    input_bindings.KeyBinding(
+        "KP_Delete",
+        input_event.defaultModifierMask,
+        input_event.ORCA_SHIFT_MODIFIER_MASK,
+        "findPreviousHandler"),
+]
+
+# Laptop flat review keys
+#
+laptopKeys = [
+    input_bindings.KeyBinding(
+        "7",
+        input_event.ORCA_MODIFIER_MASK,
+        input_event.ORCA_MODIFIER_MASK,
+        "leftClickReviewItemHandler"),
+
+    input_bindings.KeyBinding(
+        "8",
+        input_event.ORCA_MODIFIER_MASK,
+        input_event.ORCA_MODIFIER_MASK,
+        "rightClickReviewItemHandler"),
+
+    input_bindings.KeyBinding(
+        "p",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "toggleFlatReviewModeHandler"),
+
+    input_bindings.KeyBinding(
+        "u",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewPreviousLineHandler"),
+
+    input_bindings.KeyBinding(
+        "u",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewHomeHandler"),
+
+    input_bindings.KeyBinding(
+        "i",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewCurrentLineHandler", 1),
+
+    input_bindings.KeyBinding(
+        "i",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewSpellCurrentLineHandler", 2),
+
+    input_bindings.KeyBinding(
+        "i",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewPhoneticCurrentLineHandler", 3),
+
+    input_bindings.KeyBinding(
+        "o",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewNextLineHandler"),
+
+    input_bindings.KeyBinding(
+        "o",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewEndHandler"),
+
+    input_bindings.KeyBinding(
+        "j",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewPreviousItemHandler"),
+
+    input_bindings.KeyBinding(
+        "j",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewAboveHandler"),
+
+    input_bindings.KeyBinding(
+        "k",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewCurrentItemHandler", 1),
+
+    input_bindings.KeyBinding(
+        "k",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewSpellCurrentItemHandler", 2),
+
+    input_bindings.KeyBinding(
+        "k",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewPhoneticCurrentItemHandler", 3),
+
+    input_bindings.KeyBinding(
+        "k",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewCurrentAccessibleHandler"),
+
+    input_bindings.KeyBinding(
+        "l",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewNextItemHandler"),
+
+    input_bindings.KeyBinding(
+        "l",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewBelowHandler"),
+
+    input_bindings.KeyBinding(
+        "m",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewPreviousCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "m",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "reviewEndOfLineHandler"),
+
+    input_bindings.KeyBinding(
+        "comma",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewCurrentCharacterHandler", 1),
+
+    input_bindings.KeyBinding(
+        "comma",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewSpellCurrentCharacterHandler", 2),
+
+    input_bindings.KeyBinding(
+        "period",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "reviewNextCharacterHandler"),
+
+    input_bindings.KeyBinding(
+        "bracketleft",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "findHandler"),
+
+    input_bindings.KeyBinding(
+        "bracketright",
+        input_event.defaultModifierMask,
+        input_event.ORCA_MODIFIER_MASK,
+        "findNextHandler"),
+
+    input_bindings.KeyBinding(
+        "bracketright",
+        input_event.defaultModifierMask,
+        input_event.ORCA_CTRL_MODIFIER_MASK,
+        "findPreviousHandler"),
+]
+
+import brlapi
+brailleKeys = [
+    input_bindings.BrailleBinding(
+        brlapi.KEY_CMD_LNUP,
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "reviewAboveHandler"),
+
+    input_bindings.BrailleBinding(
+        brlapi.KEY_CMD_LNDN,
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "reviewBelowHandler"),
+
+    input_bindings.BrailleBinding(
+        brlapi.KEY_CMD_TOP_LEFT,
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "reviewHomeHandler"),
+
+    input_bindings.BrailleBinding(
+        brlapi.KEY_CMD_BOT_LEFT,
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "reviewBottomLeftHandler"),
+
+    input_bindings.BrailleBinding(
+        brlapi.KEY_CMD_HOME,
+        input_event.NO_MODIFIER_MASK,
+        input_event.NO_MODIFIER_MASK,
+        "goBrailleHomeHandler"),
+]
+
+keys = desktopKeys
+
+class Plugin(plugin.Plugin):
+    """A plugin for handling flat review analysis of a window.
+    """
+    def __init__(self, owner):
+        """Creates a Plugin for the given script.
+        This method should not be called by anyone except the
+        owner.
+
+        Arguments:
+        - owner: the Script owning this Plugin
+        """
+        plugin.Plugin.__init__(self, owner)
+
+    def _createInputEventHandlers(self):
+        """Defines InputEventHandler fields for this script that can be
+        called by the key and braille bindings.
+        """
+        handlers = plugin.Plugin._createInputEventHandlers(self)
+        handlers.update({
+            "leftClickReviewItemHandler" : input_bindings.Handler(
+                Plugin._leftClickReviewItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  A left click means to generate
+                # a left mouse button click on the current item.
+                #
+                _("Performs left click on current flat review item.")),
+
+            "rightClickReviewItemHandler" : input_bindings.Handler(
+                Plugin._rightClickReviewItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  A right click means to generate
+                # a right mouse button click on the current item.
+                #
+                _("Performs right click on current flat review item.")),
+
+            "toggleFlatReviewModeHandler" : input_bindings.Handler(
+                Plugin._toggleFlatReviewMode,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.
+                #
+                _("Enters and exits flat review mode.")),
+
+            "reviewPreviousLineHandler" : input_bindings.Handler(
+                Plugin._reviewPreviousLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.
+                #
+                _("Moves flat review to the beginning of the previous line.")),
+
+            "reviewHomeHandler" : input_bindings.Handler(
+                Plugin._reviewHome,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  The home position is the
+                # beginning of the content in the window.
+                #
+                _("Moves flat review to the home position.")),
+
+            "reviewCurrentLineHandler" : input_bindings.Handler(
+                Plugin._reviewCurrentLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  This particular command will
+                # cause Orca to speak the current line.
+                #
+                _("Speaks the current flat review line.")),
+
+            "reviewSpellCurrentLineHandler" : input_bindings.Handler(
+                Plugin._reviewSpellCurrentLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}. This particular command will
+                # cause Orca to spell the current line.
+                #
+                _("Spells the current flat review line.")),
+
+            "reviewPhoneticCurrentLineHandler" : input_bindings.Handler(
+                Plugin._reviewPhoneticCurrentLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}. This particular command will
+                # cause Orca to "phonetically spell" the current line,
+                # saying "Alpha" for "a", "Bravo" for "b" and so on.
+                #
+                _("Phonetically spells the current flat review line.")),
+
+            "reviewNextLineHandler" : input_bindings.Handler(
+                Plugin._reviewNextLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.
+                #
+                _("Moves flat review to the beginning of the next line.")),
+
+            "reviewEndHandler" : input_bindings.Handler(
+                Plugin._reviewEnd,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  The end position is the last
+                # bit of information in the window.
+                #
+                _("Moves flat review to the end position.")),
+
+            "reviewPreviousItemHandler" : input_bindings.Handler(
+                Plugin._reviewPreviousItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Previous will go backwards
+                # in the window until you reach the top (i.e., it will
+                # wrap across lines if necessary).
+                #
+                _("Moves flat review to the previous item or word.")),
+
+            "reviewAboveHandler" : input_bindings.Handler(
+                Plugin._reviewAbove,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Above in this case means
+                # geographically above, as if you drew a vertical line
+                # in the window.
+                #
+                _("Moves flat review to the word above the current word.")),
+
+            "reviewCurrentItemHandler" : input_bindings.Handler(
+                Plugin._reviewCurrentItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  This command will speak the
+                # current word or item.
+                #
+                _("Speaks the current flat review item or word.")),
+
+            "reviewSpellCurrentItemHandler" : input_bindings.Handler(
+                Plugin._reviewSpellCurrentItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  This command will spell out
+                # the current word or item letter by letter.
+                #
+                _("Spells the current flat review item or word.")),
+
+            "reviewPhoneticCurrentItemHandler" : input_bindings.Handler(
+                Plugin._reviewPhoneticCurrentItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  This command will spell out
+                # the current word or item phonetically, saying "Alpha"
+                # for "a", "Bravo" for "b" and so on.
+                #
+                _("Phonetically spells the current flat review item or " \
+                  "word.")),
+
+            "reviewCurrentAccessibleHandler" : input_bindings.Handler(
+                Plugin._reviewCurrentAccessible,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  The flat review object is
+                # typically something like a pushbutton, a label, or
+                # some other GUI widget.  The 'speaks' means it will
+                # speak the text associated with the object.
+                #
+                _("Speaks the current flat review object.")),
+
+            "reviewNextItemHandler" : input_bindings.Handler(
+                Plugin._reviewNextItem,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Next will go forwards
+                # in the window until you reach the end (i.e., it will
+                # wrap across lines if necessary).
+                #
+                _("Moves flat review to the next item or word.")),
+
+            "reviewBelowHandler" : input_bindings.Handler(
+                Plugin._reviewBelow,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Below in this case means
+                # geographically below, as if you drew a vertical line
+                # downward on the screen.
+                #
+                _("Moves flat review to the word below the current word.")),
+
+            "reviewPreviousCharacterHandler" : input_bindings.Handler(
+                Plugin._reviewPreviousCharacter,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Previous will go backwards
+                # in the window until you reach the top (i.e., it will
+                # wrap across lines if necessary).
+                #
+                _("Moves flat review to the previous character.")),
+
+            "reviewEndOfLineHandler" : input_bindings.Handler(
+                Plugin._reviewEndOfLine,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.
+                #
+                _("Moves flat review to the end of the line.")),
+
+            "reviewCurrentCharacterHandler" : input_bindings.Handler(
+                Plugin._reviewCurrentCharacter,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Previous will go backwards
+                # in the window until you reach the top (i.e., it will
+                # wrap across lines if necessary).  The 'speaks' in
+                # this case will be the spoken language form of the
+                # character currently being reviewed.
+                #
+                _("Speaks the current flat review character.")),
+
+            "reviewSpellCurrentCharacterHandler" : input_bindings.Handler(
+                Plugin._reviewSpellCurrentCharacter,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Previous will go backwards
+                # in the window until you reach the top (i.e., it will
+                # wrap across lines if necessary).  This command will
+                # cause Orca to speak a phonetic representation of the
+                # character currently being reviewed, saying "Alpha"
+                # for "a", "Bravo" for "b" and so on.
+                #
+                _("Phonetically speaks the current flat review character.")),
+
+            "reviewNextCharacterHandler" : input_bindings.Handler(
+                Plugin._reviewNextCharacter,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Next will go forwards
+                # in the window until you reach the end (i.e., it will
+                # wrap across lines if necessary).
+                #
+                _("Moves flat review to the next character.")),
+            "reviewBottomLeftHandler" : input_bindings.Handler(
+                Plugin._reviewBottomLeft,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  The bottom left is the bottom
+                # left of the window currently being reviewed.
+                #
+                _("Moves flat review to the bottom left.")),
+
+            "findHandler" : input_bindings.Handler(
+                Plugin._showFindGUI,
+                # Translators: the Orca "Find" dialog allows a user to
+                # search for text in a window and then move focus to
+                # that text.  For example, they may want to find the
+                # "OK" button.
+                #
+                _("Opens the Orca Find dialog.")),
+
+            "findNextHandler" : input_bindings.Handler(
+                Plugin._findNext,
+                # Translators: the Orca "Find" dialog allows a user to
+                # search for text in a window and then move focus to
+                # that text.  For example, they may want to find the
+                # "OK" button.  This string is used for finding the
+                # next occurence of a string.
+                #
+                _("Searches for the next instance of a string.")),
+
+            "findPreviousHandler" : input_bindings.Handler(
+                Plugin._findPrevious,
+                # Translators: the Orca "Find" dialog allows a user to
+                # search for text in a window and then move focus to
+                # that text.  For example, they may want to find the
+                # "OK" button.  This string is used for finding the
+                # previous occurence of a string.
+                #
+                _("Searches for the previous instance of a string.")),
+
+            "goBrailleHomeHandler" : input_bindings.Handler(
+                Plugin._goBrailleHome,
+                # Translators: the 'flat review' feature of Orca
+                # allows the blind user to explore the text in a
+                # window in a 2D fashion.  That is, Orca treats all
+                # the text from all objects in a window (e.g.,
+                # buttons, labels, etc.) as a sequence of words in a
+                # sequence of lines.  The flat review feature allows
+                # the user to explore this text by the {previous,next}
+                # {line,word,character}.  Flat review is modal, and
+                # the user can be exploring the window without changing
+                # which object in the window which has focus.  The
+                # feature used here will return the flat review to the
+                # object with focus.
+                #
+                _("Returns to object with keyboard focus.")),
+        })
+        return handlers
+
+    def _createKeyBindings(self, handlers):
+        """Defines the key bindings for this script.
+
+        Returns an instance of input_bindings.KeyBindings.
+        """
+        bindings = plugin.Plugin._createKeyBindings(self, handlers)
+        bindings.extend(keys)
+        return bindings
+
+    def _createBrailleBindings(self, handlers):
+        """Defines the braille bindings for this script.
+
+        Returns an instance of input_bindings.BrailleBindings.
+        """
+        bindings = plugin.Plugin._createBrailleBindings(self, handlers)
+        bindings.extend(brailleKeys)
+        return bindings
+
+    def _leftClickReviewItem(self, inputEvent=None, modifiers=None):
+        """The leftClickReviewItem handler.
+        """
+        log.debug("_leftClickReviewItem: %s" % inputEvent)
+
+    def _rightClickReviewItem(self, inputEvent=None, modifiers=None):
+        """The rightClickReviewItem handler.
+        """
+        log.debug("_rightClickReviewItem: %s" % inputEvent)
+
+    def _toggleFlatReviewMode(self, inputEvent=None, modifiers=None):
+        """The toggleFlatReviewMode handler.
+        """
+        log.debug("_toggleFlatReviewMode: %s" % inputEvent)
+
+    def _reviewPreviousLine(self, inputEvent=None, modifiers=None):
+        """The reviewPreviousLine handler.
+        """
+        log.debug("_reviewPreviousLine: %s" % inputEvent)
+
+    def _reviewHome(self, inputEvent=None, modifiers=None):
+        """The reviewHome handler.
+        """
+        log.debug("_reviewHome: %s" % inputEvent)
+
+    def _reviewCurrentLine(self, inputEvent=None, modifiers=None):
+        """The reviewCurrentLine handler.
+        """
+        log.debug("_reviewCurrentLine: %s" % inputEvent)
+
+    def _reviewSpellCurrentLine(self, inputEvent=None, modifiers=None):
+        """The reviewSpellCurrentLine handler.
+        """
+        log.debug("_reviewSpellCurrentLine: %s" % inputEvent)
+
+    def _reviewPhoneticCurrentLine(self, inputEvent=None, modifiers=None):
+        """The reviewPhoneticCurrentLine handler.
+        """
+        log.debug("_reviewPhoneticCurrentLine: %s" % inputEvent)
+
+    def _reviewNextLine(self, inputEvent=None, modifiers=None):
+        """The reviewNextLine handler.
+        """
+        log.debug("_reviewNextLine: %s" % inputEvent)
+
+    def _reviewEnd(self, inputEvent=None, modifiers=None):
+        """The reviewEnd handler.
+        """
+        log.debug("_reviewEnd: %s" % inputEvent)
+
+    def _reviewPreviousItem(self, inputEvent=None, modifiers=None):
+        """The reviewPreviousItem handler.
+        """
+        log.debug("_reviewPreviousItem: %s" % inputEvent)
+
+    def _reviewAbove(self, inputEvent=None, modifiers=None):
+        """The reviewAbove handler.
+        """
+        log.debug("_reviewAbove: %s" % inputEvent)
+
+    def _reviewCurrentItem(self, inputEvent=None, modifiers=None):
+        """The reviewCurrentItem handler.
+        """
+        log.debug("_reviewCurrentItem: %s" % inputEvent)
+
+    def _reviewSpellCurrentItem(self, inputEvent=None, modifiers=None):
+        """The reviewSpellCurrentItem handler.
+        """
+        log.debug("_reviewSpellCurrentItem: %s" % inputEvent)
+
+    def _reviewPhoneticCurrentItem(self, inputEvent=None, modifiers=None):
+        """The reviewPhoneticCurrentItem handler.
+        """
+        log.debug("_reviewPhoneticCurrentItem: %s" % inputEvent)
+
+    def _reviewCurrentAccessible(self, inputEvent=None, modifiers=None):
+        """The reviewCurrentAccessible handler.
+        """
+        log.debug("_reviewCurrentAccessible: %s" % inputEvent)
+
+    def _reviewNextItem(self, inputEvent=None, modifiers=None):
+        """The reviewNextItem handler.
+        """
+        log.debug("_reviewNextItem: %s" % inputEvent)
+
+    def _reviewBelow(self, inputEvent=None, modifiers=None):
+        """The reviewBelow handler.
+        """
+        log.debug("_reviewBelow: %s" % inputEvent)
+
+    def _reviewPreviousCharacter(self, inputEvent=None, modifiers=None):
+        """The reviewPreviousCharacter handler.
+        """
+        log.debug("_reviewPreviousCharacter: %s" % inputEvent)
+
+    def _reviewEndOfLine(self, inputEvent=None, modifiers=None):
+        """The reviewEndOfLine handler.
+        """
+        log.debug("_reviewEndOfLine: %s" % inputEvent)
+
+    def _reviewCurrentCharacter(self, inputEvent=None, modifiers=None):
+        """The reviewCurrentCharacter handler.
+        """
+        log.debug("_reviewCurrentCharacter: %s" % inputEvent)
+
+    def _reviewSpellCurrentCharacter(self, inputEvent=None, modifiers=None):
+        """The reviewSpellCurrentCharacter handler.
+        """
+        log.debug("_reviewSpellCurrentCharacter: %s" % inputEvent)
+
+    def _reviewNextCharacter(self, inputEvent=None, modifiers=None):
+        """The reviewNextCharacter handler.
+        """
+        log.debug("_reviewNextCharacter: %s" % inputEvent)
+
+    def _reviewBottomLeft(self, inputEvent=None, modifiers=None):
+        """The reviewBottomLeft handler.
+        """
+        log.debug("_reviewBottomLeft: %s" % inputEvent)
+
+    def _showFindGUI(self, inputEvent=None, modifiers=None):
+        """The showFindGUI handler.
+        """
+        log.debug("_showFindGUI: %s" % inputEvent)
+
+    def _findNext(self, inputEvent=None, modifiers=None):
+        """The findNext handler.
+        """
+        log.debug("_findNext: %s" % inputEvent)
+
+    def _findPrevious(self, inputEvent=None, modifiers=None):
+        """The findPrevious handler.
+        """
+        log.debug("_findPrevious: %s" % inputEvent)
+
+    def _goBrailleHome(self, inputEvent=None, modifiers=None):
+        """The goBrailleHome handler.
+        """
+        log.debug("_goBrailleHome: %s" % inputEvent)
+
+if __name__ == "__main__":
+    logging.basicConfig(format="%(name)s %(message)s")
+    log.setLevel(logging.DEBUG)
+
+    import orca.script
+    scrypt = orca.script.Script(None)
+    plugin = Plugin(scrypt)
+    print scrypt
+    print plugin
+
+    plugin.processObjectEvent(None)
+
+    plugin.activate()
+    try:
+        plugin.processObjectEvent(None)
+    except:
+        # Expected since no event was passed in
+        #
+        pass



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