#Timeout for bluetooth\r
BLUETOOTH_TIMEOUT = 0.2\r
\r
-def brl_auto_id(): \r
+def brl_auto_id():\r
"""send auto id command to braille display"""\r
return struct.pack('bbbbb',STX,AUTOID,0x50,0x50,ETX)\r
#device will respond with a message that allows identification of the display\r
\r
a = 0x50|(d2 & 0x0F)\r
b = 0x50|(d2 >> 4)\r
- #write length to stream \r
+ #write length to stream\r
ret.append(struct.pack('BB',b,a))\r
#fill dummy bytes (left,vertical)\r
ret.append(struct.pack('BB',0x30,0x30)*nv)\r
ret.append(struct.pack('BBBB',0x30,0x30,0x30,0x30)*nlk)\r
- #swap dot bits \r
+ #swap dot bits\r
for d in data:\r
d2 = 0\r
if(d & 1): d2|=128\r
a = 0x30|(d2 & 0x0F)\r
b = 0x30|(d2 >> 4)\r
ret.append(struct.pack('BB',b,a))\r
- #fill dummy bytes on (right) \r
+ #fill dummy bytes on (right)\r
ret.append(struct.pack('BBBB',0x30,0x30,0x30,0x30)*nrk)\r
- #ETX \r
+ #ETX\r
ret.append(struct.pack('B',ETX))\r
return "".join(ret)\r
\r
-def brl_poll(dev): \r
+def brl_poll(dev):\r
"""read sequence from braille display"""\r
q = dev.inWaiting()\r
status = []\r
d=dev.read(1)\r
return "".join(status)\r
\r
-def brl_decode_trio(keys): \r
+def brl_decode_trio(keys):\r
"""decode routing keys on Trio"""\r
if(keys[0:3]=='KP_' ): #KEYSTATE CHANGED EVENT on Trio, not Braille keys\r
keys = keys[3:]\r
\r
def brl_decode_keys_A(data,start,voffset):\r
"""decode routing keys non Trio devices"""\r
- n = start #key index iterator \r
+ n = start #key index iterator\r
j= []\r
shift = 0\r
for i in xrange(0,len(data)): #byte index\r
if(a & 2): j.append(n+5-shift)\r
if(a & 4): j.append(n+6-shift)\r
if(a & 8): j.append(n+7-shift)\r
- n+=8 \r
+ n+=8\r
return j\r
\r
def brl_decode_key_names_repeat(driver):\r
elif(key == 8): return 'dn2' + rest\r
elif(key == 2): return 'left2' + rest\r
elif(key == 6): return 'right2' + rest\r
- else: return '' \r
+ else: return ''\r
\r
class BrailleDisplayDriver(braille.BrailleDisplayDriver, ScriptableObject):\r
"""papenmeier braille display driver.\r
except:\r
log.debugWarning("connectUSB failed")\r
\r
- def __init__(self): \r
+ def __init__(self):\r
"""initialize driver"""\r
super(BrailleDisplayDriver, self).__init__()\r
self.numCells = 0\r
#no response, assume a Trio is connected\r
self._baud = 115200\r
self._dev.set_baud_rate(self._baud)\r
- self._dev.purge() \r
+ self._dev.purge()\r
self._dev.read(self._dev.inWaiting())\r
self.numCells = 40\r
self._proto = 'B'\r
\r
#start keycheck timer\r
self.startTimer()\r
- self.initmapping() \r
+ self.initmapping()\r
\r
def startTimer(self):\r
"""start timers used by this driver"""\r
#the keycheck timer polls the braille display for keypresses\r
self._bluetoothTimer = wx.PyTimer(self.connectBluetooth)\r
self._bluetoothTimer.Start(BLUETOOTH_INTERVAL)\r
- #the bluetooth timer tries to reconnect if the bluetooth connection is lost \r
+ #the bluetooth timer tries to reconnect if the bluetooth connection is lost\r
\r
def stopTimer(self):\r
"""stop all timers"""\r
else:\r
self._keynamesrepeat = {16: 'left2', 17: 'right2', 18: 'left', 19: 'right', 20: 'dn', 21: 'dn2', 22: 'up', 23: 'up2'}\r
x = self.numCells * 2\r
- self._keynames = {16: 'left2', 17: 'right2', 18: 'left', 19: 'right', 20: 'dn', 21: 'dn2', 22: 'up', 23: 'up2', x+38: 'r1', x+39: 'r1', 30: 'l2', 31: 'l1'} \r
+ self._keynames = {16: 'left2', 17: 'right2', 18: 'left', 19: 'right', 20: 'dn', 21: 'dn2', 22: 'up', 23: 'up2', x+38: 'r1', x+39: 'r1', 30: 'l2', 31: 'l1'}\r
\r
def terminate(self):\r
"""free resources used by this driver"""\r
self._dev=None\r
if(self._brxnvda): self._brxnvda.brxnvda_close()\r
except:\r
- self._dev=None \r
+ self._dev=None\r
\r
def display(self, cells):\r
"""write to braille display"""\r
if(gesture.id == 'r1'): gesture.id = next(self._r1next)\r
if(len(gesture.id)): inputCore.manager.executeGesture(gesture)\r
\r
- def _handleKeyPresses(self): \r
+ def _handleKeyPresses(self):\r
"""handles key presses and performs a gesture"""\r
try:\r
if(self._brxnvda):\r
globalCommands.commands.script_braille_routeTo(gesture)\r
globalCommands.commands.script_reportFormatting(gesture)\r
\r
- script_upperRouting.__doc__ = _("Route to and report formatting") \r
+ script_upperRouting.__doc__ = _("Route to and report formatting")\r
\r
#global gestures\r
gestureMap = inputCore.GlobalGestureMap({\r
self.id = "route"\r
if(decodedkeys[0] % 2 == 1):\r
self.id="upperRouting"\r
- #other keys \r
+ #other keys\r
elif(len(decodedkeys) > 0 and len(decodedkeys) >= len(driver.decodedkeys)):\r
driver.decodedkeys.extend(decodedkeys)\r
\r