openstenoproject / plover

Open source stenotype engine
http://opensteno.org/plover
GNU General Public License v2.0
2.35k stars 281 forks source link

Gemini PR Serial broken in versions of Ubuntu newer than 10.04 LTS #1

Closed balshetzer closed 12 years ago

balshetzer commented 12 years ago

Plover 2.1.2 works properly in Ubuntu 10.04 LTS, but newer versions, including newer versions of Ubuntu 10 and Ubuntu 11.10 Classic, give the following error when Plover is run in the terminal and the "P" icon is pressed when protocol is set to Gemini PR:

Xlib.protocol.request.QueryExtension Exception in thread Thread-1: Traceback (most recent call last):   File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner     self.run()   File "/usr/local/lib/python2.7/dist-packages/plover/machine/geminipr.py", line 38, in run     raw = self.serial_port.read(BYTES_PER_STROKE)   File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 439, in read     if self.fd is None: raise portNotOpenError AttributeError: 'Serial' object has no attribute 'fd'

Sidewinder X4 protocol works without any problems in all Ubuntu versions tested, but Gemini PR protocol seems only to work on Ubuntu 10.04.

(Mirabai's note: I'd noticed this bug several months ago, when my new computer, which I'd updated to a newer version of Ubuntu 10, stopped working with the PR protocol, even though my old computer, running Ubuntu 10.04 LTS, worked fine with Plover 2.1.2 in both Gemini and Sidewinder modes. I thought that possibly I'd screwed up some port settings on my new computer while trying to get Bluetooth working with an unpairable steno machine, but I just uninstalled Wubi and reinstalled with Ubuntu 11.10 Classic on my new computer, and I got the same result; Sidewinder protocol works fine, but Gemini PR gives the same error as above.)


Imported from Launchpad using lp2gh.

balshetzer commented 12 years ago

(by joshua-harlan-lifton) Fix committed in commit #56. This was a problem with the way Plover handles configuration files that should have serial port settings, but don't. I added some extra verification of the serial port.