No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit f983df6 Oct 8, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
libs Soft Braille Keyboard Aug 3, 2016
res drop unneeded strings. Dec 28, 2016
scripts commit. Oct 7, 2018
src/com/dalton/braillekeyboard commit. Oct 7, 2018
third_party commit. Oct 7, 2018
AUTHORS commit. Oct 7, 2018
AndroidManifest.xml Bump version Dec 28, 2016 commit. Oct 7, 2018
LICENSE Initial commit Aug 3, 2016
README Soft Braille Keyboard Aug 3, 2016
SoftBrailleKeyboard.apk Bump version Dec 28, 2016
TODO Soft Braille Keyboard Aug 3, 2016
build.xml Soft Braille Keyboard Aug 3, 2016
ic_launcher-web.png Soft Braille Keyboard Aug 3, 2016
proguard-project.txt Soft Braille Keyboard Aug 3, 2016 Soft Braille Keyboard Aug 3, 2016



This is an Android input method which displays a virtual on screen
Braille keyboard for use by a blind person. This facilitates much
faster and more comfortable input for the blind on Android with a
variety of powerful editing commands and support for a number of
different languages.

Please see for more details on the project.

If you are interested in becoming involved with any development or have questions please
contact Daniel Dalton <>

Please see the TODO file in this directory for a list of things that
need attention.

This application is licensed under the Apache License, Version 2.0 (the "License");
You may obtain a copy of the License at


You can checkout sbk as follows:
git clone

To build the app you will need a few things. 
* Checkout Android Brailleback
git clone
* See brailleback/README for setup instructions. Follow these and make
sure you can at least ant build the service and client packages
each. Don't worry if brailleback isn't building we do not use this.
Note: The liblouis and brltty patches wouldn't apply for me in the
brailleback project. Solution was to manually enter the path to each
file for each patch when applying.
* Update the soft braille keyboard to use the right
target and point to the required libraries:
cd /path/to/soft-braille-keyboard
android update project -p ./ --target <target_id> --library /path/to/brailleback/braille/service/
android update project -p ./ --target <target_id> --library /path/to/brailleback/braille/client/
* ant debug
* If this all goes fine you should do the following:
  - Checkout latest liblouis somewhere else and copy the pl-pl-comp8.ctb
  file into the
  - Copy *.utb *.ctb to this same directory from sbk/patches:
  cd /path/to/sbk_checkout
  cp patches/*.utb /path/to/brailleback/braille/service/jni/liblouiswrapper/liblouis/tables/
  cp patches/*.ctb /path/to/brailleback/braille/service/jni/liblouiswrapper/liblouis/tables/
  cd /path/to/brailleback/braille/service/jni/liblouiswrapper/liblouis/
  patch -p 0 < /path/to/sbk/patches/tablechanges.patch
  cd /path/to/brailleback
  patch -p 0 < /path/to/sbk/patches/tablelist-brailleback.patch
    Update the TranslatorClient:
    patch -p 1 < /path/to/soft-braille-keyboard/patches/TranslatorClient.patch
  And finally update the Braille service to use the newly included
  tables. If you make any changes to the liblouis tables or add
  additional tables you should do this last step:
  cd braille/service

If this all works fine it is time to configure eclipse:
1. Open eclipse. 
2. File -> import -> existing android code 
3. Browse and import the service package. 
4. Select just the service package and finish.
5. File -> import -> existing android code 
6. Browse and import the client package. 
7. Select just the client package and
8. File -> import -> existing android code 
9. Browse to the Soft braille keyboard package and import it. 
10. Click finish. 
11. The projects should now build right click on the sbk project and
select run as -. android application 


- add the new table in the
- Update brailleback/braille/service/res/xml/tables.xml.
- Run brailleback/braille/service/tables/mktranslationtables from the
brailleback/braille/service dir.
- Update sbk/res/values/arrays.xml to also include the id of the newly
defined table you created for the braille service.
- Clean build everything in eclipse or whatever and test.
- create the diffs:
  + cd /path/to/brailleback
  git diff braille/service/res/xml/tablelist.xml >/path/to/sbk/patches/tablelist-brailleback.patch
  + Copy the new table into the patches dir for now, so others can use
  it or otherwise get it included in liblouis and update the readme to
  include this like the pl-comp8 table.
- If you modify an existing table
  + run mktranslationtables as described.
  + Create the tablelist.xml diff as above if you changed that file. 
  + cd /path/to/brailleback/braille/service/jni/liblouiswrapper/liblouis/
  + git diff tables/ >/path/to/sbk/patches/tablechanges.patch