From 385646d47704d7eb403d95568529a8ba9387007f Mon Sep 17 00:00:00 2001 From: rui Batista Date: Sun, 11 Nov 2012 13:01:50 +0000 Subject: [PATCH] Freedoms scientific driver: Support only USB and a general bluetooth port (will use the first display found via bluetooth). --- source/brailleDisplayDrivers/freedomScientific.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/source/brailleDisplayDrivers/freedomScientific.py b/source/brailleDisplayDrivers/freedomScientific.py index 6eade46ea..97fc49a10 100755 --- a/source/brailleDisplayDrivers/freedomScientific.py +++ b/source/brailleDisplayDrivers/freedomScientific.py @@ -120,11 +120,17 @@ class BrailleDisplayDriver(braille.BrailleDisplayDriver,ScriptableObject): @classmethod def getPossiblePorts(cls): ports = OrderedDict([("USB", "USB",)]) - for port in (p for p in hwPortUtils.listComPorts() - if p.get("bluetoothName") in bluetoothNames): - ports[port["port"].encode("MBCS")] = "Bluetooth: %s" % port.get("bluetoothName") + try: + cls._getBluetoothPorts().next() + ports["bluetooth"] = "Bluetooth" + except StopIteration: + pass return ports + @classmethod + def _getBluetoothPorts(cls): + return (p["port"].encode("mbcs") for p in hwPortUtils.listComPorts() if p.get("bluetoothName") in bluetoothNames) + wizWheelActions=[ # Translators: The name of a key on a braille display, that scrolls the display to show previous/next part of a long line. (_("display scroll"),("globalCommands","GlobalCommands","braille_scrollBack"),("globalCommands","GlobalCommands","braille_scrollForward")), @@ -145,9 +151,11 @@ class BrailleDisplayDriver(braille.BrailleDisplayDriver,ScriptableObject): self._messageWindowClassAtom=windll.user32.RegisterClassExW(byref(nvdaFsBrlWndCls)) self._messageWindow=windll.user32.CreateWindowExW(0,self._messageWindowClassAtom,u"nvdaFsBrlWndCls window",0,0,0,0,0,None,None,appInstance,None) if port is None: - portsToTry = self.getPossiblePorts().iterkeys() - else: - portsToTry = (port,) + portsToTry = itertools.chain(["USB"], self._getBluetoothPorts()) + elif port == "bluetooth": + portsToTry = self._getBluetoothPorts() + else: # USB + portsToTry = [port] fbHandle=-1 for port in portsToTry: fbHandle=fbOpen(port,self._messageWindow,nvdaFsBrlWm) -- 2.11.0