[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
I sistemi standard di interazione per non vedenti con un elaboratore sono di due tipi, che si integrano convenientemente assieme: il terminale braille e la lettura automatica di ciò che appare sullo schermo. Il terminale braille è un'unità che si collega generalmente a una porta seriale o parallela e richiede la presenza di un programma in grado di leggere ciò che appare sullo schermo normale; il sistema di lettura automatica richiede naturalmente un programma simile.
Un sistema di lettura automatico è apparentemente un problema semplice da risolvere; in pratica le cose non sono così, perché deve anche essere in grado di individuare la struttura del testo (si pensi a un'organizzazione in più colonne). Il sistema che sembra essere più efficace per la lettura sonora del testo è Emacspeach, che comunque qui non viene descritto. Si vedano eventualmente i riferimenti bibliografici alla fine del capitolo.
Qualunque sistema di lettura per non vedenti (braille o audio), deve avere un modo per accedere a ciò che appare sullo schermo. Esistono evidentemente due modi: ciò che appare sullo schermo è controllato direttamente dal programma di lettura, oppure questo programma deve interagire con il sistema operativo per ottenere una copia dello schermo.
Un programma che controlla ciò che si deve leggere potrebbe essere una shell, oppure una sorta di navigatore ipertestuale, che eventualmente incorpori anche delle funzionalità per la creazione e la modifica dei documenti (dovrebbe essere questo il caso di Emacspeach).
Nel caso di GNU/Linux si accede a una copia di ciò che appare sullo schermo della console attiva attraverso il file di dispositivo /dev/vcsa
o /dev/vcsa0
. In particolare questi file di dispositivo consentono di ottenere informazioni anche sugli attributi del testo, cosa che permette di localizzare il cursore, per esempio; esistono infatti anche i file di dispositivo /dev/vcs*
che consentono di ottenere una pura copia testuale delle console virtuali.
Questi file di dispositivo sono normalmente inaccessibili a utenti diversi dall'amministratore; pertanto, per consentire una lettura a programmi con privilegi limitati, occorre intervenire nei permessi. Supponendo di dover creare da zero il file di dispositivo /dev/vcsa0
, probabilmente si dovrebbe agire come segue:
#
mknod /dev/vcsa0 c 7 128
[Invio]
#
chown root.tty /dev/vcsa0
[Invio]
#
chmod 660 /dev/vcsa0
[Invio]
In pratica, si arriva alla fine a dare i permessi di lettura e scrittura anche al gruppo, supponendo che il programma che deve utilizzarlo funzioni, in questo caso, con i privilegi del gruppo tty (SGID-tty). Ciò consente di mantenere un minimo di riservatezza, nonostante il problema contingente da risolvere.
Volendo verificare che il file di dispositivo /dev/vcsa0
consente di accedere al contenuto dello schermo della console virtuale attuale, si può inviarne una copia in una console inattiva o comunque non utilizzata. Per esempio:
#
cat /dev/vcsa0 > /dev/tty12
[Invio]
Manda una copia alla 12-esima console virtuale e si può verificare facilmente con la combinazione di tasti [Alt+F12].
Il terminale braille è solitamente un componente da collocare al di sotto della tastiera normale, attraverso il quale è possibile leggere una riga di testo, senza allontanare troppo le dita dalla tastiera stessa.
Vicino alla barra contenente le celle braille, devono essere disponibili alcuni tasti per il controllo del terminale stesso, per poter navigare sulla superficie di quello che appare sullo schermo. Infatti, di solito di dispone di una sola riga di celle braille, ma anche se potessero essere disponibili più di una, non sarebbero mai quante le righe che si vedono su uno schermo normale; inoltre, anche la quantità di celle è limitata, per cui diventa necessario poter spostare la «visualizzazione» braille anche in orizzontale.
La figura 374.2 mostra in particolare un dettaglio delle celle di un terminale braille a otto punti.
Brltty (1) è un programma in grado di comunicare con un terminale braille, allo scopo di inviargli ciò che accade sullo schermo della console virtuale attiva di un sistema GNU/Linux.
Il funzionamento del programma è relativamente semplice: si tratta di un demone, brltty, da avviare e fermare automaticamente attraverso la procedura di inizializzazione del sistema, che comunica con il terminale braille seguendo la configurazione relativa al terminale stesso e la configurazione della conversione braille.
In pratica, Brltty deve conoscere il tipo di terminale braille utilizzato e deve disporre di una tabella di conversione adatta per quanto riguarda la codifica usata e l'alfabeto braille dell'utilizzatore.
Brltty è accompagnato da una serie di file di libreria, per l'adattamento alle caratteristiche del terminale braille e per la conversione finale della codifica in braille. Questi file dovrebbero essere collocati nella directory /etc/brltty/
.
Il file di configurazione in cui occorre intervenire dovrebbe essere /etc/brltty.conf
, il cui contenuto potrebbe apparire come nell'esempio seguente:
braille-device /dev/ttyS0 braille-driver ec dot-translation text.us.tbl
Si comprende intuitivamente il significato delle direttive: il terminale viene connesso alla prima porta seriale, corrispondente al file di dispositivo /dev/ttyS0
; il terminale braille viene gestito attraverso un protocollo definito dalla sigla ec; la trasformazione della codifica in braille avviene secondo il modello denominato text.us.tbl, che in pratica è un file contenuto nella directory /etc/brltty/
, facente riferimento a un adattamento per la lingua inglese.
Tabella 374.1. Sigle attraverso le quali si abbinano le librerie di controllo del terminale braille.
Sigla | Terminale corrispondente |
al | Alva (ABT3xx/Delphi) |
b1 | BrailleLite 18 |
b4 | BrailleLite 40 |
cb | Tieman CombiBraille |
ec | EcoBraille |
eu | EuroBraille |
md | MDV braille |
pm | Papenmeier |
ts | TSI (PowerBraille/Navigator) |
va | BAUM Vario |
Brltty è anche in grado di gestire terminali parlanti. Eventualmente, si può usare la direttiva speech-driver per il controllo della sintesi vocale. Di solito, la funzionalità è disabilitata, con la direttiva seguente:
speech-driver no
Tabella 374.2. Sigle relative alla gestione della sintesi vocale.
Come già spiegato in precedenza, anche Brltty deve poter accedere a una copia della console virtuale corrente. Ciò avviene precisamente attraverso il file di dispositivo /dev/vcsa0
, che in alcuni sistemi GNU/Linux potrebbe anche essere assente, perché equivalente a /dev/vcsa
. Si riepilogano nuovamente i passi necessari a creare il file e ad attribuirgli i permessi necessari per il funzionamento corretto con Brltty.
#
mknod /dev/vcsa0 c 7 128
[Invio]
#
chown root.root /dev/vcsa0
[Invio]
#
chmod 600 /dev/vcsa0
[Invio]
In questo caso, si presume che il demone brltty sia avviato attraverso la procedura di inizializzazione del sistema, in modo tale da funzionare con tutti i privilegi dell'utente root. Diversamente, occorre cambiare strategia per quanto riguarda i permessi e la proprietà del file di dispositivo.
BRLTTY - official home
BRLSPEAK: a braille and speech mini-distribution of GNU/Linux
Blind + Linux = BLINUX
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome sistemi_di_interazione_per_non_vedenti.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]