Table of Contents

Introducing the Braille keyboard

Before you can start typing, you have to first discover the buttons for each braille dot. For iPhone and iPod there are two fixed layouts and one adjustable layout. In tutorial mode you get a bit more guidance, you can later turn it off in the settings.

Smart layout

In the smart layout you decide how to place the dots. You need to enter each dot position in order from one to six. MBraille remembers the position of each dot, but you can always reprogram the dots if you have forgotton. Reinitialize the Smart layout with a long swipe with one finger.

Note that in the smart layout the dot positions are not entirely fixed, but allow for your hand positions to drift, still keeping the input accurate.

Smart layout also works in the MBraille third party keyboard.

Away layout

If you are holding the phone in your hands, keep the home button to the right. With the screen facing away from you, the keys for braille dots are simple rectangles, covering the whole screen.

In tutorial mode you can explore the button placements by sliding one finger across the screen. The full screen area is covered by the buttons and you'll hear each button announced by voiceover as your finger crosses over from one button to the next. You will hear each braille dot as you explore the keyboard layout. Once you are ready to start typing type L (dots 1 2 3) followed by W (dots 2 4 5 6). You can later turn this off from the settings by disabling the tutorial mode.

As the buttons corresponding to the braille dots cover the whole screen, so you have some room to adopt to a layout that suits you.

Piano layout

In piano layout the keys are arranged horizontally, like piano keys, or keys on a Perkins brailler. iPad supports both landscape and portrait orientation, so you can pick the one that fits you best. Otherwise it behaves like Away layout.

Note, for iPad it is advisable to turn off Multitasking Gestures from the iPad settings.

Using the keyboard

The braille key input begins when one finger goes down and ends when all fingers are lifted. You can tap all the dots simultaneously, or in sequence as long as at least one finger remains on the screen. iPhone has the small restriction that it does not distinguish 6 simultaneous touches, so the contraction for the word "for" requires some finger gymnastics. For example you can put down fingers on dots 1 2 3 4 5, lift any of the previous fingers and then hit dot 6 and finally lift all fingers. The order of hitting the dots does not matter. By default contracted Braille is used, but it can be turned off from settings. To quickly turn contractions on and off while entering text, hold down dot 6 with one finger and flick up or down with another finger.

Swipe gestures

MBraille swipe gestures work best when they are short and fast. Only gesture requiring a long swipe is the one finger swipe to reinitialize the smart layout. If you are accidentally reinitializing the smart layout, or have trouble dismissing the keyboard, try with shorter and faster swipes.

One finger swipes

Swipe right towards the home button to enter a space. Swipe down to enter a newline. Both space and newline trigger the expansion of contractions in the preceding word. Swipe left to delete the previous character. Swipe up (in away mode towards the volume buttons) to hear what you have written.

Two finger swipes

Two finger swipe left to delete last word.

Two finger swipe right for undo. You can undo cutting and deletions, including clear buffer

Two finger swipe up to hear number of characters and words in the text.

Three finger swipes

Swipe right with three fingers to go to menu

Swipe down with three fingers to erase your current writing. Alternatively you can shake your phone to do the same.


If you switch to another application from MBraille, the current text is automatically copied to the clipboard. You can then paste the text in the other application. When in home screen, you can double tap the home button to open the app switcher and select MBraille to get back.

To copy just a given block of text from MBraille to another application, mark and copy your block as described in the next topic and then immediately press the home button.

Editing text

You can do simple editing with MBraille, preview what you have written and move text around by selecting, cutting and pasting. You can even paste text from other applications to MBraille for editing.

All editing gestures work on the same principle. You use one hand to press and hold one or more braille dots to select the gesture. You then swipe up, down, left or right with other hand to activate the selected gesture.

When editing existing words or entering punctuation, it is often more convenient to use uncontracted Braille. To quickly toggle contractions on and off while entering text, hold down dot 6 with one finger and flick up or down with another finger.

Previewing text

Hold down braille dot 3 with one finger. Use another finger to slide or flick left or right to have VoiceOver read your text word by word. Swipe up to read sentence at a time. Swipe down to drill down to the words in the sentence last read. Swipe down again to drill down to the characters in the last word. The preview mode ends when you release dot 3.

Moving the insertion point

Navigate in the text using the preview function. Once you have found your spot, tap dot 1 while still holding dot 3. Alternatively you can in MBraille settings activate the mode where the preview cursor and the input cursor move in concert.

You can move to beginning of text by holding dots 1 and 3 and swiping left.

You can move to end of text by holding dots 1 and 3 and swiping right.

Selecting, cutting, copying and pasting text

Navigate in the text using the preview function. Once you have found your spot, press down dot 2 while still holding dot 3. With dots 2 and 3 held, moving around with flicks selects the text that is passed over. VoiceOver announces the selected text as you move. To hear the full selection, swipe up with two fingers while still holding dots 2 and 3.

To copy the selected text, tap dot 5 with dots 2 and 3 still held down. To cut the selected test, tap dot 4.

To paste text at the insertion point, hold down dot 2 and flick down with another finger. Hold down dot 2 and flick up to hear what currently is in the clipboard. You can paste text you copied with MBraille copy or cut function, or text that you copied from another application.

To quickly extend the selection to beginning or end of text, hold down dots 1,2,3 and swipe left or right.


Hold dots 4,5,6 and swipe up or down to enter search mode.

The swipe direction determines the search direction: down for forward, up for backwards.

Type your search string and swipe down for newline, at which point the string you entered is searched from current point to direction chosen. If found, the cursor is placed at beginning of match and line number and sentence it is in is announced.

Swipe down again to find the next match. The search automatically wraps around at end or beginning. If it wraps you will hear an announcement.

To get out of search mode hold dots 4,5,6 again and swipe up or down again. The input cursor is left at the position of last match.


You can configure spelling aids in the MBraille settings.

You have 3 options for spelling in settings:

  1. Check spelling after each word, beeps on misspelled word. This is the master switch, if it is not on, you will not get spelling.
  2. Only check spelling during preview by word. This modifies the spelling behavior so that you will not be interrupted by beeps when writing.
  3. Spell out the suggested word. This affects how the proposed corrections are announced.

So the first switch in settings is the master switch for enabling / disabling spelling.

Correcting spelling mistakes

When MBraille detects a spelling mistake, it can also suggests a list of possible corrections.

You can select a suggestion with a gesture:

When you hear a beep for a mistake while typing or previewing, you can immediately pick a suggestion from a list by holding down dot 1 and swiping up or down. The first choice in the list is the mistyped word, in case you wish to keep it. As soon as you lift your fingers, the correction is done and you can resume typing.

If in the settings you have selected to automatically spell out the suggestions, you'll hear each suggestion similar to hello below.

"hello, h,e,l,l,o"

Regardless of the setting, you can force spelling out a suggestion by holding dot 1 and swiping right. That will also report the number of suggestions, like

hello, h,e,l,l,o, 4 of 14

User spelling dictionary

You can add the word you wrote to spelling dictionary by holding dot 1 for the first suggestion, which is the word that caused the beep, and swiping left. You will be asked for a confirmation to add the word to the spelling dictionary.

.dict dot command will list the words in your user dictionary, allowing you to remove words.

Dot commands from the keyboard

After composing your message, you can perform various commands through the braille keyboard by starting a line with a period followed by the command and possible arguments, followed by a newline.

So you first type your message as you would otherwise. Then you can send it away using a dot command at the end of the message. .mail, .sms, .tweet or .fb, without having to go back to the menu. You can also create a calendar event with .cal command.

The dot commands you enter in MBraille are saved, so you can browse and re-execute old commands. For example, if you keep texting the same handful of persons, it is convenient not having to type the command again.

At the beginning of line, hold dot 4 and swipe up to go back in history, down to go forward. When you lift your finger from dot 4, it is as if you had typed again the old command. Just swipe down for newline to play it again.

You can also search from the command history. Type a dot followed by a space and the search keyword. Then hold dot 4 and swipe up. Only those dot commands are retrieved that have the search keyword.


You can send tweets directly from the braille keyboard. To send a tweet, first type your message, then add a newline (swipe down), then enter .tweet at the beginning of line. So period, followed by the word "tweet" at the beginning of line. Then swipe down again and the text from preceding lines is tweeted.

You can send a direct message by adding the recipient's twitter name after the tweet command, separated by a space.

Sending mail

Rather that going to mail screen via menu, a dot command can also be used. The advantage of a dot command is that you can type the subject and recipient names in Braille. So you first type your mail message, then add the dot command.


.mail "Hello there" Jack

Follow this with a newline and the send mail form is brought up with the Subject set to "Hello there" and To: pre-filled with the email address for Jack. Subject needs to be quoted if it contains spaces. Recipient emails are looked up from contacts by their first or last name. You can add multiple recipients.

.mail "Hello there" Jack Jill

will send the mail to both Jack and Jill.

For the recipient you don't need to write out the full name, a prefix is enough. You just need to use enough letters to tell the names apart. For example, to send an email to Jill when you have both Jane and Jill in your address book, you would need to type just ji. The name lookup is not case sensitive and you can add as many recipients as you wish. If you have not typed enough letters to tell multiple recipients apart, you will be warned.

To use both first name and last name to specify the recipient, you must separate the names with a period. So if you have in your contacts Jill Jones, and Jill Smith, you need to use the last name to tell the two Jill's apart. You can address an email to Jill Jones by abbreviating her name to jill.j or even just to j.j, if you have no other people in contacts whose first and last name both start with j. Note that if you are using contracted English Braille, to type the period between the first and last name you escape it with dot 4 before it. So a.b would be dots 1 4 256 12. An alternative is to toggle to uncontracted Braille on the fly to enter the arguments.

You can also give an explicit email address instead of a contact name. To type @ sign, switch to uncontracted braille by holding dot 6 and flicking up or down.

SMS text messages


On a line by itself will launch the SMS send screen with the current text pre-pasted.

You can also pre-fill the recipient numbers in the same way as for the .mail command. Just give the first few letters of the recipient name as parameter. For example

.sms Joh

Would pre-fill the number for John. You can also give the full telephone number as an argument.

If your recipient has multiple telephones, you will be asked which one to use in a selection list. To directly pick the first mobile or iPhone number from the list, you can prefix your recipient name with "m:" as follows:

.sms m:john

Dialing a number or contact

.dial name or number

Calls given contact or number. The contact can be abbreviated as for .sms or .mail commands. The call is opened as soon as you swipe down for a new line.

Facetime calls

You can place both Facetime audio and Facetime Video calls with MBraille.

.ft name or number or email

is used for Facetime Audio calls.

.ftv name or number or email

is used for Facetime Video calls.

The contact can be abbreviated as for .sms or .dial commands. The call is opened as soon as you swipe down for a new line.

Adding Calendar entries

You can create a new Calendar item from MBraille with the dot cal command. The current text is added to the calendar entry as notes. The arguments to specify the time follow the .cal command.


.cal title starts [ends] [alert [time]] [location: place]


.cal "Pickup laundry" "2017-06-07 13:00" alert 30 min

Would add a calendar entry for June 7, 2017 at 1 PM, with title "Pickup laundry", and add an alert to the event 30 minutes before.

.cal Paris 2017-08-08

Since there is no time, this is automatically an all day event. As title and date don't have spaces, no quotes are required.

.cal "Piano lesson" "2017-07-07 14:00" "2017-07-07 15:00" alert 1 hour

Adds an event with starting and ending time, with and alert 1 hour before the event.

.cal Meeting 17:30

Schedules an event with title Meeting for 17:30. If now is before 17:30, the meeting is for today, if it is already past 17:30, the date it is automatically set for tomorrow.

.cal Meeting 5pm location: lobby

Schedules a meeting for 5 pm, location being lobby.

Different formats for specifying date are supported. In the USA MM.DD.YY format is understood, outside USA the order is day, month year; DD.MM.YY. For time, 24 hour clock is always supported, but so is "1:00 PM" format.

To avoid typing quotes to give a date-time, following examples go around that, as no spaces are in the date-time.

.cal Coffee 2017-05-16-16:00

.cal Coffee 21/3/14-10am

You can also leave out the year, in which case the current year is used, or the following year if the date has passed.

Adding Reminders

You can create a new Reminder from MBraille with the dot rem command. The current text is added to the reminder entry as notes.


.rem title [due-date]

You can add a an optional due-date.


.rem "Write Thank You Note" 2017-10-30

Typing Speed Test

To practice your typing speed, you can use the .tst command.


.tst seconds


.tst phrase

When you start a test, you'll hear a tone. When you stop a test, you'll hear the same tone as in the start. If you make a mistake when testing with a sample sentence, you'll hear a different tone after a word to signal a typo.


.tst 10

swipe down, you'll hear the starting tone. Type for 10 seconds and you'll hear the same tone to signal 10 seconds have elapsed. Hold dot 3, swipe up to preview by sentence and swipe left to hear your results.

.tst sample text to type

swipe down, you'll hear the starting tone. Type "sample text to type" and end with space or newline. If you make a typo, you'll hear a different tone and need to correct your mistake. Once you have entered the text again without mistakes, you'll hear a tone to signal you are finished. Hold dot 3, swipe up to preview by sentence and swipe left to hear your results.

.tst wr

is a shorthand for typing:

.tst The razor-toothed piranhas of the genera Serrasalmus and Pygocentrus are the most ferocious freshwater fish in the world. In reality they seldom attack a human.

This is the official phrase used in the Guinness World Records texting attempt, see Records_and_competition for more information.

Using Google

You can do a Google search at any time with dot Google. It will open Safari browser displaying the search results.


.google word1 word2

You can abbreviate the command to .goo


.goo "Albert Einstein"

Note that you can quote search terms, as you can with a regular Google search. If you don't give any parameters, all of your current text is used as search keywords.

Opening the web browser

You can open an arbitrary url in Safari browser with .web command.


.web url


.web dr-carter.com

You don't need to add the http:// in the beginning, but you can, for instance if you are pasting a link. If the url does not seem to make sense, it is passed to Google to ponder upon.

Getting help

To consult help directly from the Braille keyboard, you can give the dot help command.


.help [topic]



Without any arguments takes you to the top of full help.

.help sms

Will give you help for .sms command.

.help help

Will give you this section.

Common topics for .help command are: editing, tweet, facebook, mail, sms, dial, cal, google, web, help, feedback and applications.

File Management & Dropbox support

.open filename

Opens filename.txt from MBraille folder. If you use another suffix than .txt, you need to specify it.


Without filename will let you browse the files in /MBraille folder.
If you don't remember the filename, but remember it at the letter A in it, you can do ".open A" and you'll get a list of all files with letter A in the name.

Swipe left/right or up/down to go through the list, double tap when you have the file you wish to open.
At bottom of screen there is a cancel button if you wish to cancel the action.


Saves the current buffer with the name it was opened with. If a new buffer, the default name is notes.txt

.save filename

Saves the current buffer as filename.txt. It is saved under /MBraille folder which you can see with a file explorer, or when you connect to your PC.

.del filename

Deletes the file, asking for a confirmation. If you leave the filename out, or give partial filename, you will be presented a list of matching filenames.


In the settings you can turn on Dropbox file sync. All the file management commands will then work against the Dropbox files.

At Dropbox, the files will be under applications/MBraille.

Alias command to create text aliases

With alias you can create shorthand forms for arbitrary text. The alias is expanded when you swipe for space or newline.


.alias myname: Harri Pasanen

Now I would need to type just myname and it would be expanded to Harri Pasanen.

You don't need quotes if your expansion does not contain leading or terminating spaces. In the cases you need them, you can do it, like

.alias ans: " Your signature here: "

If you desire newlines in your alias, you denote them with \n (backslash n). For example the following alias mailsig

.alias mailsig: "\nHugs and Kisses,\n\nLuke\n\nSent with MBraille -- http://mpaja.com/mbraille\n"

mailsig would expand to:

Hugs and Kisses,


Sent with MBraille -- http://mpaja.com/mbraille

However, MBraille does not have a backslash in all the Braille tables and editing those long strings with \n is not so convenient. So there is a better way:

.alias myalias

That will take the existing MBraille text buffer and use it as the alias. Note that there is no colon after the alias name, myalias in this case.

Hint: you can create new dot commands based on existing ones, for example:

.alias .sh: .sms harry

You can also add unicode characters, such as emojis to aliases. For example

.alias smi: U+1f600

Will add a grinning face smiley when you type smi and wipe for space. See http://www.unicode.org/emoji/charts/emoji-list.html for a list of emojis.

Note: in English contracted braille dots 56-235 will give you the plus sign.

Listing aliases


Will list you all the aliases you have defined.

Saving and loading

.alias save

Will save the aliases to a file called alias.mb. Aliases defined in this file are automatically loaded at MBraille start.

Note that if you are using Dropbox, your aliases are automatically synced between devices. As alias.mb is a simple text file, you can just open alias.mb in any editor to make modifications, or send a useful alias.mb file to your friends. The file can be transferred from-to MBraille either through iTunes or Dropbox.

You can of course edit alias.mb in MBraille itself, using ".open alias.mb" and .save commands.

The file format is:

myalias1: definition myalias2: another alias definition

Empty lines are ignored, as well as lines starting with # (Note that .alias save overwrites the file and sorts the aliases alphabetically. Comments are lost.)

Instead of colon, you can also use '=' sign to denote the start of definition. The leftmost sign matters. (Not all braille tables have '=', so I chose ':' as the default.)

.alias load

Will load alias.mb without having to exit MBraille. This way you can edit your alias.mb on a PC, save to Dropbox MBraille folder and just load it on the phone for testing.

Deleting aliases

To clear an existing alias, just define it to be empty.

.alias mailsig:

would remove the mailsig alias I created earlier.

To get rid of all aliases, you can save an empty alias.mb file and then to .alias load.


Alias expansion happens before any contracted braille expansion. If you include an alias in an alias definition, the alias included will not be expanded. In the alias.mb file, you don't need to prefix the lines with ".alias " command.

Working with third party applications

MBraille can also access the following third party applications using the dot commands. Use .help application name to get app specific help.

In alphabetical order

BlindSquare functions



You can create a new note in Drafts with the .drafts command, or .da for short. For Drafts 4 use .draftsfour, or .daf for short.



If you are in Drafts and want to open up an existing note in MBraille, you can install the following URL action for MBraille.


After your edits, you can return to Drafts with the edited version as a new note with typing period da and swiping down.

To keep editing the same note in Drafts, you need to use clipboard to transfer your changes.


You can create calendar entries with Fantastical using natural language for dates. For Fantastical use .fantastical or .fan for short.





Without arguments tries to parse date from the text and adds calendar entry.

.fan date-time

With date-time adds text as notes for the given date-time entry.

.fan show date-time

Shows the calendar for a given date-time.


If you use InstaBrowser, you can open an arbitrary url in it with .ibr command.


.ibr url


.ibr mpaja.com

You don't need to add the http:// in the beginning, but you can, for instance if you are pasting a link.


You can open NoteMaster with .notemaster command, or .nm for short.


.nm [name]

If you provide a name, an existing note with the given name is opened. If the name contains spaces, you need to quote it. For example: .nm "Sofa Shopping"

Your text written in MBraille is in the clipboard, ready to be pasted to NoteMaster.

Skype call

If you have Skype installed, you can call directly to a skype contact.


.skype skype-id

Opens Skype and calls the given skype id.

You can do a Spotify search with .spotify command, or .spfy for short.


.spotify search-term

Opens Spotify to the search results.

Whatsapp message

If you have Whatsapp installed, you can send a message to a Whatsapp contact.


.whatsapp contact

Opens Whatsapp and automatically fills the receiver and message text from MBraille. .wup is a shortcut for .whatsapp.

If you want to select the contact in Whatsapp itself, but still pass the message text from MBraille, you can launch Whatsapp without the contact argument.

Odds and Ends

Additional Symbols

MBraille supports the following multi cell symbols. If you are using the setting where all characters are announced, the voice feedback is a little confusing, as separate cells are announced in braille ASCII until the word is complete.

UEB symbols supported by MBraille

Symbol Dots
" 6-2356
# 456-1456
$ 4-234
% 46-356
& 4-12346
( 5-126
) 5-345
* 5-35
+ 5-235
- 5-36
... 256-256-256
/ 456-34
< 4-126
= 5-2356
> 4-345
@ 4-1
[ 46-126
\ 456-16
] 46-345
^ 4-26
_ 46-36
{ 456-126
} 456-345
~ 4-35
¢ 4-14
£ 4-123
¥ 4-13456
§ 45-234
© 45-14
« 456-236
® 45-1235
° 45-245
» 456-356
× 5-236
è 46-16-15
é 45-34-15
÷ 5-34
α 46-1
β 46-12
γ 46-1245
δ 46-145
ε 46-15
ζ 46-1356
η 46-156
θ 46-1456
ι 46-24
κ 46-13
λ 46-123
μ 46-134
ν 46-1345
ξ 46-1346
ο 46-135
π 46-1234
ρ 46-1235
σ 46-234
τ 46-2345
υ 46-136
φ 46-124
χ 46-12346
ψ 46-13456
ω 46-2456
—— 5-6-36

For older English Braille MBraille supports

#456-1456hash symbol
'6-236single quote
'356-3single quote
[6-2356open bracket
]2356-3close bracket
$4-234dollar(s) note that in contracted braille this needs to be terminated with dots 56 to distinguish from ble contraction
®45-1235registered trademark
––36-36-36-36double dash
4-35double quote

Self Voicing

With iOS 7 you can use the Braille keyboard without VoiceOver turned on. MBraille will detect that VoiceOver is not running and automatically use self voicing.

Self voicing brings additional features:

Self voicing specific commands

The Voice language is automatically changed following the .lang command.

You can also set the voice separately without changing the braille table with ".set voice" command.


.set voice [lang-code]

Where lang-code is the two letter language code, such as en,es,fr,de,pt,... etc.

To select a specific English accent, you can use the following voice names

.set voice daniel

British English.

.set voice allison

US English

.set voice moira

Irish English.

.set voice tessa

South-African English

.set voice karen

Australian English

You can also specify the voice using the BCP 47 language tag, for example

.set voice fr-CA

would set the voice to Canadian French.

To specify the voice rate and volume, you can use the commands.

.set speed 1-10

to change the self voicing speed for the currently active language.

.set vol 0-10

to change self voicing volume for the currently active language.

Voice speed and volume are language and dialect specific. So if you are learning a foreign language, it is often easier to understand if the volume is a bit louder and the speed of speech is lower.

Giving feedback

To post to MBraille mailing list, you can give the dot feedback command.


.feedback [subject]


.feedback Thanks for a job well done!

Without any arguments .feedback uses the default Subject: "MBraille feedback."

Change Braille table language

If your phone language does not match the Braille table you would like to use, or if you know Braille in multiple languages, you can change the Braille table on the fly with .lang command.


.lang [language code] [save]


.lang da

Would change the braille table to Danish for the current session.

.lang da save

Saves the language table used, so that MBraille remembers to start with Danish braille after restart.

Gesture to change language

You can quickly toggle between languages by holding dots 1,2,3 and swiping up.

If your phone language not English, by default the braille table, self voicing language and spelling language is changed to English.

If your phone language is English, the language changed to is determined by ".lang code save" command.


Your phone is in English, but you often write in French. Do

.lang fr save

Then by holding dots 1,2,3 and swiping up you can toggle between English and French.

Note that this gesture works both in MBraille App and MBraille Keyboard, but the ".lang code save" command must be given first in the app.

Change MBraille settings

You can controls some MBraille settings with .set command


.set [setting-name] [value]

Available settings in alphabetical order:

.set auto-caps [on|off]

If turned on, the next word after punctuation will be automatically capitalized.

.set clear-clipboard [on|off]

If turned on, putting MBraille to background will automatically clear the MBraille buffer, so that the entered text will only be available in the clipboard.

.set nlclick [on|off]

Turns the newline click sound on or off.

.set sensitivity [value]

Adjust swipe sensitivity, with values between 18 to 50. The smaller the value, the higher the sensitivity. Default value is 28. Warning, if you set it to 18 and your fingers are a bit jittery, you may have trouble changing the value.

.set shake-to-clear [on|off]

Allows you to clear the text by shaking the device. It is on by default.

.set toggle-swipe-dir

Toggles the up and down swipe direction when screen is facing away.


Reports current values.

MBraille as a third party keyboard

If you are running iOS 8.3 or higher, you can use MBraille as a third party keyboard. Configure it from devices Settings, General, Keyboard, Keyboards: Add New Keyboard. Once you see MBraille in list of keyboards, click on it to allow full access.

Using the custom keyboard

You type normally as you would with MBraille proper. To dismiss the keyboard, you can swipe left with 3 fingers. To advance to next keyboard swipe right with 3 fingers.

Normally MBraille keeps the text you type in its own memory and synchronizes it with the edit field when you dismiss the keyboard or advance to next keyboard. If MBraille can deduce that the keyboard should be dismissed on return swipe, it will do that.

Sometimes it is useful to have MBraille to update the edit field after each keystroke. To do that you can toggle the direct input mode by holding dot 6 and swiping right. Then each key you type is automatically echoed to the edit field. (Or each word if contractions is on).

Custom keyboard layouts

On iPad the MBraille custom keyboard does not take up the full screen, but only covers the area occupied by the standard keyboard. This leaves rest of the screen visible to VoiceOver.

For iPhone, there is an option in MBraille settings to restrict the keyboard area to 2/3 of the screen height. This way 1/3 of the screen is left visible for VoiceOver. On iPhone, the piano layout covers only half the screen in landscape while in custom keyboard. This again leaves some of the screen visible to VoiceOver. Note however, that if the orientation is locked to portrait, the piano keyboard does cover the full screen, but is rotated to landscape.

On iPhone you can briefly toggle the keyboard layout to/from piano by holding dot 6 and swiping left.



MBraille would not be there without the team of testers who provided invaluable feedback along the road. In alphabetical order:


Special mention goes to translators.

Design and coding

Copyright 2017-2015 MPaja.com

Software used

Hunspell http://hunspell.sourceforge.net/ Qt http://www.qt.io/