@classmethod\r
def getPossiblePorts(cls):\r
ports = OrderedDict([("USB", "USB",)])\r
- for port in (p for p in hwPortUtils.listComPorts() \r
- if p.get("bluetoothName") in bluetoothNames):\r
- ports[port["port"].encode("MBCS")] = "Bluetooth: %s" % port.get("bluetoothName")\r
+ try:\r
+ cls._getBluetoothPorts().next()\r
+ ports["bluetooth"] = "Bluetooth"\r
+ except StopIteration:\r
+ pass\r
return ports\r
\r
+ @classmethod\r
+ def _getBluetoothPorts(cls):\r
+ return (p["port"].encode("mbcs") for p in hwPortUtils.listComPorts() if p.get("bluetoothName") in bluetoothNames)\r
+\r
wizWheelActions=[\r
# Translators: The name of a key on a braille display, that scrolls the display to show previous/next part of a long line.\r
(_("display scroll"),("globalCommands","GlobalCommands","braille_scrollBack"),("globalCommands","GlobalCommands","braille_scrollForward")),\r
self._messageWindowClassAtom=windll.user32.RegisterClassExW(byref(nvdaFsBrlWndCls))\r
self._messageWindow=windll.user32.CreateWindowExW(0,self._messageWindowClassAtom,u"nvdaFsBrlWndCls window",0,0,0,0,0,None,None,appInstance,None)\r
if port is None:\r
- portsToTry = self.getPossiblePorts().iterkeys()\r
- else:\r
- portsToTry = (port,)\r
+ portsToTry = itertools.chain(["USB"], self._getBluetoothPorts())\r
+ elif port == "bluetooth":\r
+ portsToTry = self._getBluetoothPorts()\r
+ else: # USB\r
+ portsToTry = [port]\r
fbHandle=-1\r
for port in portsToTry:\r
fbHandle=fbOpen(port,self._messageWindow,nvdaFsBrlWm)\r