#A part of NonVisual Desktop Access (NVDA)\r
#This file is covered by the GNU General Public License.\r
#See the file COPYING for more details.\r
-#Copyright (C) 2012 NV Access Limited\r
+#Copyright (C) 2012-2013 NV Access Limited\r
\r
import os\r
import time\r
import braille\r
import inputCore\r
from logHandler import log\r
+import brailleInput\r
\r
TIMEOUT = 0.2\r
BAUD_RATE = 115200\r
20: "down",\r
}\r
FIRST_ROUTING_KEY = 80\r
+DOT1_KEY = 2\r
+DOT8_KEY = 9\r
+SPACE_KEY = 10\r
\r
def _getPorts():\r
# USB.\r
},\r
})\r
\r
-class InputGesture(braille.BrailleDisplayGesture):\r
+class InputGesture(braille.BrailleDisplayGesture, brailleInput.BrailleInputGesture):\r
\r
source = BrailleDisplayDriver.name\r
\r
self.keyCodes = set(keys)\r
\r
self.keyNames = names = set()\r
+ isBrailleInput = True\r
for key in self.keyCodes:\r
+ if isBrailleInput:\r
+ if DOT1_KEY <= key <= DOT8_KEY:\r
+ self.dots |= 1 << (key - DOT1_KEY)\r
+ elif key == SPACE_KEY:\r
+ self.space = True\r
+ else:\r
+ # This is not braille input.\r
+ isBrailleInput = False\r
+ self.dots = 0\r
+ self.space = False\r
if key >= FIRST_ROUTING_KEY:\r
names.add("routing")\r
self.routingIndex = key - FIRST_ROUTING_KEY\r