Index: src/orca/default.py
===================================================================
--- src/orca/default.py	(revision 3842)
+++ src/orca/default.py	(working copy)
@@ -4409,6 +4409,7 @@
         # the Braille display as an input device.
         #
         if not isinstance(inputEvent, input_event.BrailleEvent):
+            speech.stop()
             if (not lineString) \
                or (not len(lineString)) \
                or (lineString == "\n"):
@@ -4564,6 +4565,7 @@
         # the Braille display as an input device.
         #
         if not isinstance(inputEvent, input_event.BrailleEvent):
+            speech.stop()
             if (not wordString) \
                or (not len(wordString)) \
                or (wordString == "\n"):
Index: src/orca/orca.py
===================================================================
--- src/orca/orca.py	(revision 3842)
+++ src/orca/orca.py	(working copy)
@@ -577,7 +577,8 @@
     lastInputEvent = orca_state.lastNonModifierKeyEvent
 
     if inputEvent.type == pyatspi.KEY_RELEASED_EVENT:
-        pass
+        orca_state.lastInputEventReleased = True
+        return
     elif not isinstance(inputEvent, KeyboardEvent):
         orca_state.clickCount = 0
     elif not isinstance(lastInputEvent, KeyboardEvent):
@@ -587,13 +588,17 @@
         orca_state.clickCount = 1
     elif (inputEvent.time - lastInputEvent.time) < \
            settings.doubleClickTimeout:
-        # Cap the possible number of clicks at 3.
+        # Cap the possible number of clicks at 3 and be sure we
+        # actually clicked (as indicated by the key having been
+        # released first).
         #
-        if orca_state.clickCount < 3:
+        if orca_state.clickCount < 3 and orca_state.lastInputEventReleased:
             orca_state.clickCount += 1
     else:
         orca_state.clickCount = 1
 
+    orca_state.lastInputEventReleased = False
+
 def _processKeyCaptured(event):
     """Called when a new key event arrives and orca_state.capturingKeys=True.
     (used for key bindings redefinition)
Index: src/orca/orca_state.py
===================================================================
--- src/orca/orca_state.py	(revision 3842)
+++ src/orca/orca_state.py	(working copy)
@@ -65,6 +65,8 @@
 #
 lastInputEvent = None
 
+lastInputEventReleased = False
+
 # The last timestamp from a device event. Used to set focus for the Orca
 # configuration GUI.
 #
