| ~~~~~~~~~~~~~~~~~~~~~~ | |
| Introduction to BRLTTY | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
| .. include:: prologue.rst | |
| You can look up a full listing of all of your braille device's key bindings at: | |
| `<https://brltty.app/doc/KeyBindings/index.html>`_ | |
| With one exception, this document applies to using BRLTTY with any braille device. | |
| The exception is that, when key bindings are given, | |
| it assumes that the braille device has a braille keyboard. | |
| If it doesn't, then, as mentioned above, | |
| you can look up your device's corresponding key bindings online. | |
| Many *chords* (combining a dot key combination with the Space key) are toggles. | |
| Repeatedly pressing any of these key bindings alternately turns the corresponding feature on and off. | |
| Adding the Dot7 key forces the feature to be turned off, | |
| and adding the Dot8 key forces the feature to be turned on. | |
| Useful Key Bindings | |
| =================== | |
| Space + h (dots 125) | |
| Go to the help screen. | |
| It's a toggle, so pressing it again returns to the actual screen. | |
| This screen is only shown on the braille display. | |
| It contains a full listing of all of your braille device's key bindings. | |
| Space + l (dots 123) | |
| Enter learn mode. | |
| It's a toggle, so pressing it again leaves learn mode. | |
| Additionally, if you don't do anything for 10 seconds then learn mode is automatically terminated. | |
| When in learn mode, pressing any key combination shows, on the braille display, what it'll do without actually doing it. | |
| Space + p (dots 1234) | |
| Go to `the preferences menu`_. | |
| It's a toggle, so pressing it again returns to the actual screen. | |
| Adding the Dot8 key saves the current settings. | |
| Adding the Dot7 key restores the settings as of the most recent time that they were saved. | |
| Space + g (dots 1245) | |
| Toggle between computer braille and contracted braille. | |
| Adding the Dot7 key forces computer braille, | |
| and adding the Dot8 key forces contracted braille. | |
| Space + t (dots 2345) | |
| Toggle cursor tracking on/off. | |
| When cursor tracking is on, any motion of the cursor drags the braille display to the new screen location. | |
| Space + i (dots 24) | |
| Toggle the skipping of identical lines on/off. | |
| This feature is especially useful for compressing multiple contiguous blank lines into a single one. | |
| Space + b (dots 12) | |
| Toggle the skipping of blank braille windows on/off. | |
| This feature is especially useful for skipping over the blank ends of short lines when panning. | |
| The Preferences Menu | |
| ==================== | |
| The preferences menu contains a lot of settings that let you customize how BRLTTY behaves. | |
| It's internal to BRLTTY so it doesn't show up on the actual screen - | |
| it's only presented on the braille display. | |
| The Dot Keys | |
| ------------ | |
| The dot keys can be used to navigate the preferences menu: | |
| Dots 1 and 4 | |
| In the same way as they (when combined with the Space key) move the cursor up/down when using a conventional screen reader, | |
| these dot keys move up/down within the current submenu. | |
| In other words, Dot1 moves to the previous item and Dot4 moves to the next item. | |
| Dots 3 and 6 | |
| In a similar way to how they (when combined with the Space key) move the cursor left/right when using a conventional screen reader, | |
| these dot keys select the previous/next possible setting for the current item. | |
| The setting choices wrap, | |
| so Dot3, when the first choice is selected, wraps to the last one, | |
| and Dot6, when the last choice is selected, wraps to the first one. | |
| Dot 2 | |
| Move to the first item. | |
| Dot 5 | |
| Move to the last item. | |
| Dot 7 | |
| Go up one submenu level. | |
| If in the main menu then exit and return to the actual screen. | |
| Dot 8 | |
| Exit and return to the actual screen. | |
| The Routing Keys | |
| ---------------- | |
| The routing keys can be used to change the setting for the current item: | |
| * If the setting is a discrete set of choices, e.g. ``Yes`` or ``No``, | |
| then each successive group of routing keys selects those choices. | |
| For example: | |
| * If there are two choices | |
| then keys 1,3,5,... select the first one | |
| and keys 2,4,6,... select the second one. | |
| * If there are three choices | |
| then keys 1,4,7,... select the first one, | |
| keys 2,5,8,... select the second one, | |
| and keys 3,6,9,... select the third one. | |
| * If the setting is a number then the routing keys behave like a scroll bar. | |
| * The leftmost key selects the lowest possible value. | |
| * The rightmost key selects the highest possible value. | |
| * The inner keys select an evenly distributed value within the range. | |
| Exiting the Preferences Menu | |
| ---------------------------- | |
| These are the ways to exit the preferences menu: | |
| Dot7 | |
| Go up one level when in the main menu. | |
| Dot8 | |
| Exit the preferences menu. | |
| Space + p (dots 1234) | |
| Preferences Menu enter/exit toggle. | |
| Space + p (dots 1234) + Dot8 | |
| Save the current settings. | |
| None of these methods close `Submenus`_. | |
| This means that going back to the preferences menu later resumes at the same place. | |
| The ``Save on Exit`` item is at the top of the main menu. | |
| It specifies whether or not (``Yes`` or ``No``) | |
| the current settings are to be saved when exiting the preferences menu. | |
| If it's set to ``No`` then you can still manually save the current settings with Space + p (dots 1234) + Dot8. | |
| Submenus | |
| -------- | |
| The preferences menu is a tree structure of menus. | |
| The one at the root (or top) is known as the main menu. | |
| If an item ends with an ASCII right arrow (``-->``) | |
| then it's the name of a submenu. | |
| For example:: | |
| Braille Presentation --> | |
| Pressing Dot3, Dot6, or any routing key on this kind of item opens the submenu. | |
| If it's closed then the braille display is placed on the first item. | |
| If it's open then the braille display is placed on the current item. | |
| The first item of each submenu always is | |
| an ASCII left arrow (``<--``), | |
| followed by the word ``Close``, | |
| followed by the name of the submenu. | |
| For example:: | |
| <-- Close Braille Presentation | |
| Pressing Dot3, Dot6, or any routing key on this kind of item closes the submenu. | |
| Another way to leave a submenu is to press Dot7. | |
| Leaving a submenu this way leaves it open. | |
| Additional Notes | |
| ---------------- | |
| The default is that only relevant items are shown. | |
| In the Braille Presentation submenu, for example, | |
| Computer Braille Cell Type is only shown when Braille Variant is set to Computer, | |
| and Expand Current Word is only shown when Braille Variant is set to Contracted. | |
| This can be changed by setting Show All Items (in the Menu Options submenu) to Yes. | |
| Table selection changes are currently not saved along with the other settings. | |
| These include: | |
| * The current text (computer braille) table. | |
| * The current attributes table. | |
| * The current contraction table. | |
| * The current keyboard table. | |
| The Braille Keyboard | |
| ==================== | |
| Dots 7 and 8 | |
| ------------ | |
| Dots 7 and 8 are special because | |
| the Dot7 key is Backspace and the Dot8 key is Enter. | |
| If either of these keys is pressed together with other dot keys then it functions as itself. | |
| If you need to type either just dot 7 or just dot 8 | |
| then combine the corresponding key with the Space key. | |
| So: | |
| Dot7 | |
| Press the Backspace key. | |
| Dot8 | |
| Press the Enter key. | |
| Space + Dot7 | |
| Type dot 7. | |
| Space + Dot8 | |
| Type dot 8. | |
| Typing | |
| ------ | |
| Characters are typed by pressing either the Space key or any combination of the dot keys. | |
| This can be disabled in order to avoid inadvertently typing a character by accidentally pressing keyboard keys. | |
| Space + Dots13 + Dot7 | |
| Disable typing. | |
| Space + Dots13 + Dot8 | |
| Enable typing. | |
| The following typing modes are supported: | |
| Space + Dots46 + Dot7 | |
| Switch to interpreting the characters being typed as regular text. | |
| The dot combination is back-translated through the currently selected text (computer braille) table. | |
| This is the default. | |
| Space + Dots46 + Dot8 | |
| Switch to interpreting the characters being typed as Unicode braille patterns. | |
| Special Keys | |
| ------------ | |
| The special keys on a normal keyboard can be individually pressed as follows: | |
| Space + Dots45 (conventional screen reader binding) | |
| The Forward Tab key. | |
| Space + Dot3 (conventional screen reader binding) | |
| The Cursor Left key. | |
| Space + Dot6 (conventional screen reader binding) | |
| The Cursor Right key. | |
| Space + Dot1 (conventional screen reader binding) | |
| The Cursor Up key. | |
| Space + Dot4 (conventional screen reader binding) | |
| The Cursor Down key. | |
| Space + Dots23 (conventional screen reader binding) | |
| The Page Up key. | |
| Space + Dots56 (conventional screen reader binding) | |
| The Page Down key. | |
| Space + Dot2 | |
| The Home key. | |
| Space + Dot5 | |
| The End key. | |
| Space + Dots35 (low i) | |
| The Insert key. | |
| Space + Dots256 (low d) | |
| The Delete key. | |
| Space + Dots26 (low e) | |
| The Escape key. | |
| Space + a routing key | |
| In most cases, a function key can be pressed by pressing the corresponding routing key along with the Space key. | |
| For example, the ``F1`` key can be pressed by pressing Space + the leftmost routing key. | |
| Modifier Keys | |
| ------------- | |
| A subset of the modifier keys, the most common being Control and Left Alt, have been defined for most braille devices. | |
| Especially for those braille devices for which no modifier keys have been defined, | |
| but also for those for which only some of them have been defined, | |
| a general scheme for supporting sticky modifiers is provided. | |
| The key combinations for these modifiers all consist of Space + Dot8 + one of the other dot keys. | |
| They are as follows: | |
| Space + Dot8 + Dot1 | |
| The GUI (Windows, Command) key. | |
| Space + Dot8 + Dot4 | |
| The Shift key. | |
| Space + Dot8 + Dot2 | |
| The Left Alt (Meta) key. | |
| Space + Dot8 + Dot5 | |
| The Right Alt (AltGr) key. | |
| Space + Dot8 + Dot3 | |
| The Control key. | |
| Space + Dot8 + Dot6 | |
| The Uppercase key. | |
| Space + Dot8 + Dot7 | |
| Unlock and clear all of the modifiers. | |
| This is especially useful when you forget how the various modifiers have been set. | |
| Each modifier can be cycled through these three states: | |
| First Press | |
| Temporarily set the modifier. | |
| It'll only apply to the next typed character. | |
| Second Press | |
| Lock the modifier. | |
| It'll apply to all typed characters until it's cleared. | |
| Third Press | |
| Unlock and clear the modifier. | |
| What does BRLTTY mean? | |
| ====================== | |
| Since people are asking, let's answer it here. | |
| The ``BRL`` part means **braille**. | |
| The ``TTY`` part actually does mean **tty**, which needs a bit of an explanation. | |
| The most important thing to know, though, is that it has nothing at all to do with the ``tty`` devices that deaf people use to communicate over phone lines. | |
| BRLTTY began its life on the Linux platform. | |
| That platform has virtual consoles, which, among other things, | |
| allow multiple, simultaneous login sessions. | |
| These virtual consoles, way back in the early days, emulated serially-connected terminals. | |
| They can still do that, of course, but, these days, they can do a whole lot more. | |
| Serially-connected terminals, especially those that used paper (as opposed to a screen), were commonly known as teletypes (or teletypewriters). | |
| That's where the term ``tty`` comes from. | |
| This may well also be the reason that the devices that deaf people use to communicate over hone lines are called ``ttys``, | |
| i.e. they, too, behave very much like serially-connected terminals. | |
| For a historical perspective regarding the term ``tty``, you might read: | |
| `<https://en.wikipedia.org/wiki/Teleprinter>`_ | |