LSR Braille

LSR Braille is now part of the main development tree! Downloads here. The original bug report contains older files and development discussions.

Demo

Flash demo (10M streaming) .

Known issues

  • Missing cells skew right padding: Bug Report. Problem can be alleviated by increasing padding if missing cell feature is used.

BrlAPI:

The API and example code for Python bindings to Brltty can be found here.

  • Notes

    • acceptKeyRange, ignoreKeyRange accept a tuple in the form (start command, end command) where start is inclusive, but end is exclusive. This results in acceptKeyRange(KEY_CMD_X, KEY_CMD_X) being undefined. In addition, end cannot be of the form KEY_CMD+1. It must be the next brlapi.KEY_CMD.

TASKS:

  1. Build and install Brltty/BrlAPI. Ensure that Python bindings are created and that XWindows Braille and screen drivers run. (./)

  2. Write a test script that sends text to the XWindows Braille simulator. (./)

  3. Create a new module called BrlAPIDevice.py. This module should match the AEOutput/Base.py module with BrlAPIDevice deriving from object for now. Implement the following methods: init, close, sendString, sendTalk, isActive, sendStop. (./)

  4. Write a test driver outside of LSR to ensure that BrlAPIDevice open, writes to and closes BrlAPI connection properly. (./)
    - connection closing not working properly. closeConnection method not wrapped (./)

  5. Switch base class for object to AEOutput.AEOutput. Install the device module into LSR and associate it to a user. Start LSR and check debug for proper startup. Change base class to AEOutput.Braille and go to next step. (./)

  6. Study Perk tutorial. (./)

  7. Generate a new Perk called BasicBraillePerk and associate it to the user used in step 5. In the Perk.init method, get a reference to the BrlAPIDevice by name. Implement selector and caret events as demonstrated in DefaultPerk. Ensure that text is being displayed in brltty. Test and repeat! (./)

  8. Make the number of cells available on the Braille device a property of a default Braille style and populating that value in the BrlAPIDevice default style instance at startup. (./)

  9. Have options for rendering the caret position on the display in the BasicBraillePerk device settings tab. (./)
    - Implement different cursor styles. (./)

  10. Define input tasks the user can invoke to step forward and backward through a line of text too long for the display. (./)

  11. Implement the AEInput interface. (./)

FEATURE IDEAS

  1. Leave some original text on the braille display which is adjacent to the cursor in the scrolling direction (overlapping text). Currently no additional text is shown (cursor is on first or last cell depending on direction of scrolling). This text could be a percentage of display, a number of cells or possibly a word. (./)

  2. Show ellipsis to indicate additional text on either side of viewport. (./)
    - printed braille (pin 3 in three consecutive cells). (./)
    - continuation symbol (pins 4-5-6, 1-2-3-4-6 in two consecutive cells). (./)
    - additional symbols are just added to list of masks. (./)
    - conform to "signs of omission" rules. Loadable table ?

  3. Implement braille device status cell handling.
  4. Have braille device chooser that loads specific device configuration settings. Advanced settings button ?
  5. Have translation and contraction tables be selectable in settings dialog. LSR would then have to restart and re-establish a connection to brltty.
  6. Implement "touch cursor" functionality. It may require synthesizing left mouse click. Investigate machines with two touch cursors.

    - currently performs caret movement to location for text items and a center mouse click for other accessibles. (./)
    - catching both press and release events falls to brltty drivers. This may prevent modifiers

  7. Give user ability to define broken cells and implement logic to skip to next cell in each case. (./)
    - See Known Issues

  8. Brltty reconnection logic. See Section STARTUP/SHUTDOWN SCENERIOS.

STARTUP/SHUTDOWN SCENERIOS

  1. LSR starts with brltty running.
    • This is the typical situation. LSR is performing fine.
  2. LSR starts with brltty not running.
    • Currently device is being loaded but Perks are not. Perks exit gracefully. Errors are visible at debug level.
    • Future considerations would be to start a timer in an attempt to reconnect.
  3. LSR starts with brltty not running then brltty later starts.
    • Currently nothing happens.
    • Reconnection considered in future release.
  4. Brltty is killed/crashed during normal operation.
  5. User disconnects com line to braille device during normal operation.
    • Need an actual device to test. Contact brltty team about this question
  6. Scenerio 5 followed by reconnecting com line.
    • Reconnection considered in future release.

Brltty mailing list thread.
Brltty API.

To run BrlTTY with the X screen display and no driver:

brltty -A auth=none -b xw -x no -s no

-s no: disable speech

BRAILLE DISPLAY MANUFACTURERS

Links currently not functioning

Albatross
Alva
Baum
BrailleLite
BrailleNote
Braudi
CombiBraille
EcoBraille
Albatross
EuroBraille
HandyTech
IrisLinux
LogText
MDV
MiniBraille
MultiBraille
Papenmeier
TechniBraille
TSI
TTY
VideoBraille
Virtual
VisioBraille
Voyager

Attic/LSR/ScratchPad/Braille (last edited 2013-11-21 22:56:08 by WilliamJonMcCann)