Slint Accessibility HowTo.

Slint is accessible to visually impaired users, with speech and with a
braille device, from installation to usage in a console and in graphical
environments.

The main software used to provide speech are espeakup with espeak on the
console, orca with espeak-ng, speech-dispatcher and at-spi in
graphical environments.

brltty is used for braille, both on the console and in graphical
environments, orca communicating with brlapi in the latter case.

A. Installation.

Briefly, to start the installation:

1) Download the ISO image
2) Use it to make a bootable DVD or USB stick
These first steps are detailed in this document:
 http://slackware.uk/slint/x86_64/slint-14.2.1/README.installation

3) The machine is ready to boot off that media and when you hear a
  'beep' or an arpeggio.

Installation is provided in following languages:
English (USA)
Dutch
French
German
Greek
Italian
Norwegian
Portuguese (Brazil)
Portuguese (Portugal)
Russian
Spanish (Latin America)
Swedish
Turkish
Ukrainian

You can navigate in the languages list with the arrow keys, initially
the cursor is on English (USA)

However choosing the language at this step is optional, this can also be
done and changed at the beginning of installation when you will have
speech and braille.

If you need to include additional kernel parameters, in the boot command
line,  before pressing Enter but after having optionally chosen the
language do what follows (the procedure differs whether in UEFI or
Legacy mode):

In UEFI mode (you heard an arpeggio):
Press the e key
Press the down arrow three times
Press the End key
Press the space bar
Type the kernel parameter (like e.g. speakup.synth=apollo)
Be aware that the US keyboard map will be in use when typing.
Press Ctrl+X to boot (do not press Enter!)

In Legacy or BIOS mode (you heard just one beep):
Press the Tab key
Press the space bar
Enter the kernel parameter
Be aware that the US keyboard map will be in use when typing.
Press Enter to boot.

You can include in the boot command line a kernel parameter to configure
the speakup driver for your hardware synthesizer if need be, as in the
example above.

You can also include in the boot command line the settings for your
Braille device, in this form:
brltty=<driver code>,<device>,<text table>
For instance to install with a Papenmeier device connected through USB
with a French text table type:
 brltty=pm,usb:,fr_FR

Also if your braille device is connected through USB it should always be
recognized, maybe just the text table won't be the good one if you
didn't enter the settings at first.

In any case, as there is no timeout, booting will only begin when you
press [Enter].

Speech and Braille are available at the beginning of installation.

If you choose to keep speech, the system will be configured so that
speech be available at log in, using espeakup unless you use a hard
synthesizer.  

brltty will always be started, so it will be available on the console,
and in graphical environments if orca is used.

B. Settings of the installed system

From Slint version 14.2.1 onward the first regular user created during
installation will have speech and braille already enabled in the
installed system, if speech was used during installation. Other users
will need to check or make additional settings, as indicated below.

To enable braille:
a) make /etc/rc.d/rc.brltty executable typing as root:
chmod 755 /etc/rc.d/rc.brltty
b) make yourself member of the braille group, typing as root:
usermod -G braille -a username
In the command above, replace username with your login name.

Then edit as root the file /etc/brltty.conf to include your settings.

To enable speech at the system level type as root:
login-chooser
and choose one of the login modes that speak: text, lightdm or gdm

To enable speech in graphical environments as regular user type as this
user:
orca-on

C. Usage

Bear in mind that when you start the system it won't boot immediately:
currently there is a 1O seconds time out by default to let you possibly
choose which system to boot and input command line parameters. but
pressing Enter after the "beep" sound will start the boot sequence.

In case of UEFI firmware there is no beep. Just wait 30 seconds or so
after booting then type Enter, as in this case there is no timeout.

At start up, you will get a braille output early, then speech just
before login.

During installation you choose to start Slint initially in text mode or
in graphical mode. This can be changed later.

In text mode, after having logged in typing your credentials (username
then password) the whole screen is used by the virtual terminal where
you type the commands and that displays their output.

In this mode you use initially in the virtual terminal number 1, called
tty1. You can switch to another one typing e.g. Alt+F2 for tty2. To go
back to tty1 press Alt+F1. By default 6 virtual terminals are available,
that you may dedicate to specific applications, like editing a text in
tty1 and listening music in tty3.

Whenever you start a new tty you have to log in again.

Initially the console screen reader in use is epeakup, you can switch to
fenrir or speechd-up typing 'switch-on fenrir' or 'switch-on speechd-up'


In graphical mode each application runs in its own window. You first log
in in a specific window called a login or display manager, then the
whole graphical environment is displayed.

You can set the mode (text or graphical) and the display manager just
typing as root this command: 
login-chooser
The command is self explanatory.
Among the login managers, only text, gdm (the default in graphical mode)
and lightdm have speech enabled. 

After log in you can choose among the provided graphical environments
typing as regular user this command:
session-chooser
This command is also self explanatory, just typing it will display the
available choices.
The default graphical environment is MATE, which is the most accessible.
Be aware that neither KDE nor TWM are accessible.

You can start in text mode then at any time launch the graphical
environment chosen with "session-chooser", just typing as regular user:
startx

In gdm, the focus is initially in the User field. Type your user. or
login name then type Enter and type your password.

You can access other features of gdm through keyboard shortcuts. In
English:
Alt+A: Actions (shutdown or reboot)
Alt+E: Session menu
Alt+L: change the language, for the next session and possibly further
session, possibly also for gdm itself.
Alt+T: Theme.
You can use the Tab key to navigate among input fields, and the up and
down keys to menus.

In lightdm, pressing F4 toggle the sound on or off. Initially the cursor
is in the password field. Press Tab leads to the "login push button",
then to the user's list or "combo box". In this list pressing space
shows the currently selected user. Use the arrow keys to choose another
one then type the corresponding password. Instead, choosing "Other..."
adds a field where you can type the login name of a non listed user.
Still in lightdm, F10 brings up a menu allowing to reboot or shutdown,
and Alt+F4 brings up directly an UI with shutdown or cancel buttons.

Once in a graphical environment, you can toggle between it and a
console. Let's say you want to use tty2 (tty1 being busy):
Press Ctrl+Alt+F2, then login.
Press Ctrl+Alt+F7 to go back to the graphical environment.

To know how to use Orca, including its specific key bindings, type:
man orca
In short, once in a graphical environment, in desktop mode:
Insert+Space: launch the orca Configuration dialog.
Insert+S: toggle speech on and off.

The same general key bindings are used in all graphical environments,
with a few exceptions, Mod1 being generally the left Alt key:
Mod1+F1: panel's application menu.
Mod1+F2: pop up a 'run..." dialog, but in Fluxbox (starts lxterminal).
Also in Fluxbox, Mod1+F3 restarts Fluxbox.
Mod1+F4: closes the raised window.

The panel's application menu has the same layout in all accessible
graphical environments shipped but MATE. From top to bottom:
Terminal emulator: mate-terminal in MATE elsewhere lxterminal by default
File manager: Caja in MATE elsewhere PCManfm by default
Web browser: Firefox by default
Mail client: Thunderbird by default
Preferences
Slint Dashboard (non accessible yet as it's a Qt4 app)
Applications sorted by category
Run dialog
Logout dialog (also allows shut down and reboot)

You can use arrow keys to navigate in the menu.

In MATE, the top panel includes on its left from left to right the menus
(Applications, then Places, then System) then launchers for
mate-terminal, caja (file manager), Firefox, Thunderbird and the geany
text editor.On its right still from left to right a notification area,
a screen locker, a logout and a halt or reboot buttons.
The bottom panel has from left to right a windows list, a "show destktop"
plugin, then a workspace switcher.

Still in Mate, partially sighted users can use the compiz window instead
or marco which is the default.

As a regular user, type:
gsettings set org.mate.session.required-components windowmanager compiz
To go back to marco:
gsettings set org.mate.session.required-components windowmanager marco

This setting will take effect at next start of a Mate session.

Or to make the change just for the current session type:
compiz --replace &
and to go back to marco:
marco --replace &

The replacement will be effective immediately

This setting is also available graphically from mate-tweak, in the
Windows category.

You can access specific Compiz settings just typing:
ccsm &

Documentation, including  about accessibility features, can be displayed
from Slint just typing 'slint-doc'

You can configure speech-dispatcher typing as regular user:
spd-conf
Important: when following line will be displayed:
Default audio output method [pulse] :
after : type alsa then press Enter, else you will lose speech!
This is because speech-dispatcher in Slint includes only an alsa plugin,
not a pulseaudio one.

You can configure brltty editing as root this file: /etc/brltty.conf

D. Links.

https://help.gnome.org/users/orca/stable/index.html
Slint mailing list:
https://www.freelists.org/list/slint

Didier Spaier, Paris
<didier~at~slint~dot~fr>
Last edited: 22 April 2019 

