Gli script di Jaws 01. Cosa sono.

Programmiamoli da Soli!

Personalizzare Jaws.

Gli script, in genere, sono delle sequenze di testo, contenenti delle istruzioni che servono ad un programma per agevolarne l’uso all’utente. Tali istruzioni, una volta eseguite, restituiscono quello che all’utente interessa, e che il programma non produce in modo automatico.

Nel caso del programma di lettura dello schermo, Jaws per Windows, gli script sono una grande opportunità che gli ideatori del software hanno lasciato per poter ampliare l’uso del programma di
Screen-Reader
, (LettoreDiSchermo), che può così essere integrato, ed adattato alle singole necessità di ciascun utente, senza che sia necessaria una particolare competenza nel campo informatico.

Tramite gli script, ad esempio, si può intervenire in tutti quei casi in cui, nell’uso di un qualsiasi software applicativo, le normali funzioni per leggere quel che è presente a video non ci forniscono tutte le informazioni necessarie. In questi casi, di norma, saremmo costretti dapprima ad entrare in modalità esplorazione dello schermo, e da lì eseguire manualmente una serie di comandi di spostamento e di lettura, più o meno lunghi ed elaborati, per ottenere le informazioni che lo Screen-Reader non fornisce direttamente.

Tutta questa serie di operazioni, qualora ci fosse l’esigenza di ripeterle spesso, possono essere inserite in uno script da noi realizzato, ed eseguite automaticamente in un solo gesto, tramite la pressione di una combinazione di tasti apposita che esegue quello stesso script.

In generale, ciascuno di noi ha un proprio modo personale di usare il PC, e ci sono molte configurazioni e situazioni possibili, tra diverse versioni dei software di sintesi vocale e del sistema operativo. Per questo, saper usare gli script offre la possibilità di personalizzare l’uso di Jaws, rendendo più semplice, più veloce e, forse, anche più divertente, il quotidiano utilizzo dei personal computer.

Compatibilità delle informazioni.

A tutte le nozioni espresse in queste pagine si è tentato di dare un carattere che possa risultare il più generale possibile. Nonostante ciò, gli esempi di cui si è dotata la trattazione hanno dovuto per forza entrare nel dettaglio, e quindi non sono compatibili con tutte le versioni del programma di sintesi vocale.

In particolare, i primi due capitoli, esercizi compresi, sono percorribili anche con versioni più vecchie di Jaws. Dal terzo capitolo in avanti, in particolare gli esempi rendono indispensabile disporre di Jaws almeno a partire dalla versione 16, essendo poi comunque compatibili fino alla versione 2020.

Termini in inglese ed altre convenzioni.

I termini e le istruzioni usati per far funzionare gli script sono in inglese, con i nomi che spesso sono composti da due o più parole messe l’una accanto all’altra, ciascuna con le iniziali in maiuscolo per rendere comprensibile la lettura. Il loro nome indica anche molto chiaramente quale sia il compito che svolgono, purché si riesca a comprendere l’inglese almeno nei suoi termini tecnici. In realtà, quello della lingua è un ostacolo oggi più facile da superare, vista la grande diffusione dei traduttori on line, ma è indubbio che, almeno all’inizio, questo è un particolare cui prestare un poco di attenzione in più.

Per questo, lungi dal voler in questa sede tenere lezioni di lingua inglese, per aiutare chi non ne mastica proprio, ci si limiterà a dare sempre una traduzione posta tra parentesi tonde, letterale oppure adattata al contesto informatico, nella prima occorrenza di ogni termine inglese, dandola poi per scontata ed acquisita nelle successive occasioni in cui lo si incontrerà nuovamente. Le uniche due eccezioni sono e rimarranno le due parole principali da cui siamo partiti, Script e Jaws, che ci limitiamo a considerarli dei termini scontati da usare così come sono. Si lascia dunque alla curiosità personale di ciascuno l’onere di andare a verificare cosa significhino letteralmente.

In generale, quando si incontreranno nuove combinazioni di tasti o concetti particolari, nelle prime occorrenze questi risulteranno evidenziati tra virgolette. Quando in seguito saranno posti normalmente nel testo, lo saranno comunque con le iniziali maiuscole.

Sempre parlando di tasti, quando nel testo di queste pagine troverete scritto
TastoJaws
, questo può essere sia il tasto
BloccaMaiuscole
oppure il tasto
Insert
, a seconda di quale avete impostato come
Layout Tastiera
di Jaws, poiché le funzioni legate a questi due tasti sono sempre disponibili in entrambi gli abbinamenti.

***

Creare una scelta rapida.

I menu a scomparsa, che sono presenti nella maggior parte degli applicativi, spesso hanno delle combinazioni di tasti che servono per attivarne velocemente i comandi in essi contenuti, denominate
Scelte rapide da tastiera.

Tali combinazioni, di solito, riguardano già i comandi d’uso più comune, che quindi possiamo utilizzare così come sono. Può capitare, tuttavia, che alcuni comandi che a noi interessano non ne siano dotati, ed è proprio in casi come questo che gli script per Jaws forniscono alcuni utili strumenti.

Sul piano pratico, le azioni per creare una Scelta rapida tramite uno script possono essere quelle elencate di seguito:

  1. Riprodurre la combinazione di tasti che visualizza il menu di cui attivare il comando.
  2. Simulare la pressione di un carattere, poiché molto spesso i singoli comandi hanno un proprio
    tasto caldo
    , che li fa eseguire o selezionare.
  3. Nel caso che il
    Tasto caldo
    sia l’unico di quel tipo tra i comandi del menu aperto, il comando sarà eseguito direttamente, oppure si dovrà ripetere la pressione del carattere fino a selezionare il comando desiderato, per poi simulare la pressione del tasto Invio.
  4. Può anche capitare che il comando da eseguire non abbia un proprio carattere di selezione rapida. In questi casi, una volta visualizzato il menu, si dovranno eseguire degli spostamenti verso il basso o verso l’alto, simulando la pressione dei tasti freccia, per poi confermare con Invio una volta raggiunta la voce di menu desiderata.

Nel caso della nostra prima esercitazione pratica, ci serviremo di Microsoft Wordpad, se non altro perché un applicativo a disposizione di tutti. In particolare, creeremo una scelta rapida per eseguire il comando
Salva con nome
nel menu
File
, il quale si visualizza con la combinazione
Alt+F
. Siccome questo comando è dotato di un tasto caldo univoco in quel menu, la lettera
S
, le azioni principali da compiere per eseguirlo corrispondono ai primi due punti elencati in precedenza.

Ora, prima di tutto, prendiamo in esame lo strumento tramite il quale inizieremo il nostro lavoro.

L’Editor di Script.

Come detto all’inizio, i file in cui sono contenuti gli script per JAWS sono dei semplici file di testo, che si potrebbero aprire e modificare anche con un qualsiasi editor testuale. Il software di sintesi vocale, tuttavia, mette a disposizione un programma apposito, denominato
Editor di Script
, che ci guida passo passo nella creazione del nostro codice, consentendo di non commettere errori ed impostando nel modo migliore il lavoro da svolgere.

Il metodo più rapido per attivare l’Editor di Script è quello di richiamarlo dall’interno del programma rispetto al quale si vuole creare lo script. In questo caso, aprite Microsoft Wordpad, premendo dapprima il pulsante
Start
, poi digitando
Wordpad
nella casella di ricerca di Windows, e quindi Invio.

Da dentro questo applicativo, una volta comparsa la sua schermata principale, per richiamare l’Editor di Script di JAWS, sarà sufficiente premere la combinazione
TastoJaws+0
, oppure premere
TastoJaws+F2
e cliccare sulla voce
Editor di Script.

In entrambi i casi, comparirà la finestra dell’Editor di Script di JAWS, con caricato un file che avrà un nome riconducibile all’applicazione attiva al momento di premere i tasti di richiamo dell’Editor, e completato dall’estensione
JSS.

Nel nostro caso, l’Editor si aprirà caricando il file
Wordpad.JSS
, così come pronunciato da JAWS, e come si potrà ricontrollare agendo sul comando di lettura del titolo della finestra,
TastoJaws+T.

Questa applicazione è già dotata di propri script, e quindi la prima riga del file
Wordpad.JSS
dovrebbe avere l’aspetto seguente:


; Copyright 1995-2015 Freedom Scientific, Inc.

L’ambiente di lavoro dell’Editor di Script è totalmente accessibile, con una finestra multi linea dove ci si può spostare in tutte le direzioni con i classici tasti di movimento.

I comandi sono raccolti in una serie di menu, attivabili con la pressione del tasto
Alt
seguito da una lettera, con le singole voci dotate di scelte rapide, almeno nelle funzioni principali.

Tra i menu, accanto ai classici
File,
Modifica,
Visualizza
, c’è anche il menu
Script
, il quale, così come si può intuire, comprende gran parte dei comandi di cui si farà uso in questa guida.

Esercizio 1.2.2. Lo script SalvaConNome.

Siete quindi dentro alla finestra principale dell’Editor di JAWS, con aperto il file script dell’applicativo prescelto,
Wordpad.JSS
. Andate alla fine del file aperto, premendo la combinazione
Control+Fine
, quindi premete il tasto Invio per creare una riga vuota, predisponendovi così ad iniziare il lavoro.

Il comando per creare uno script è
Nuovo Script
dal menu Script, attivabile con la combinazione
Alt+S
, seguita dalla pressione del tasto Invio, oppure direttamente con la scelta rapida
Control+E.

Si aprirà quindi la finestra Nuovo Script, nella quale si dovranno eseguire questi passaggi:

  1. All’ingresso il cursore si trova nel campo
    Nome Script
    , dove dovete digitare un nome a vostro piacimento, che potrete ovviamente scrivere anche in italiano; nel nostro caso, uniamo le tre parole del comando,
    SalvaConNome
    , che dovrete scrivere senza virgolette e senza spazi, anche perché la procedura non ve lo consente, emettendo inoltre un segnale d’errore. Fate però attenzione a scrivere in maiuscolo le iniziali delle singole parole, così la sintesi vi leggerà poi il nome nel modo più corretto.
  2. Premete una volta il tasto Tab per spostarvi alla casella di controllo denominata
    Può essere assegnato al tasto
    ; qui premete una volta la barra spazio per attivare l’opzione, e consentire appunto più avanti di poter indicare quale tasto o combinazione di tasti si potrà usare per eseguire lo script.
  3. Premete ancora Tab per passare al campo
    Sommario
    ; qui sarà possibile scrivere un testo che poi sarà letto da JAWS quando si ripete la pressione dei tasti di attivazione dello script nell’Aiuto Tastiera di JAWS; anche in questo caso potete scrivere un testo a vostro piacimento, che potrebbe essere qualcosa come
    "Esegue Salva con nome nel menu File."
    . In questo caso si tratta di un testo libero, dove potreste usare tutti i tipi di carattere, ma va chiarito che le virgolette non sono necessarie.
  4. Con una nuova pressione di Tab vi sposterete al campo
    Descrizione
    ; qui il testo da inserire è pure in questo caso libero, anche se rivolto ad una spiegazione più dettagliata dello script; sarà letto sempre durante la fase di Aiuto Tastiera, ma premendo due volte velocemente i tasti di attivazione dello script. In questo caso, potreste scrivere un testo come il seguente:
    "Visualizza il menu File e ne attiva il comando Salva con nome simulando la pressione della lettera S.".
  5. Un altro Tab e si sarà nel campo
    Categoria
    ; qui sarà possibile selezionare con le frecce una delle categorie predefinite, oppure digitarne una a piacere. In questo caso, selezionate una di quelle già presenti,
    "Script".
  6. Un ultimo Tab e si sarà nel campo
    Assegna a
    , dove si dovrà premere soltanto un tasto o una combinazione di tasti a piacere. Se tale combinazione fosse già utilizzata dal programma per cui si crea lo script, o dalle altre funzioni di JAWS, la pressione vi sarà impedita, oppure vi sarà chiesta la conferma a sovrascrivere l’eventuale assegnazione precedente. Nel nostro caso, premete il tasto funzione
    F12
    , che è lo standard Microsoft Office per questo tipo di comando. Se fate degli errori, spostatevi avanti ed indietro con Tab per tornare allo stesso campo, e ripetete l’operazione finché non si memorizza il tasto desiderato. Una volta raggiunto lo scopo, fate attenzione a non premere nessun altro tasto al di fuori del tasto Tab, neppure quelli di lettura di Jaws, altrimenti sarebbero questi ultimi ad essere memorizzati per l’attivazione dello script.
  7. A questo punto sono stati compilati tutti i campi necessari, quindi si potrà premere direttamente il tasto Invio per confermare quanto inserito, oppure con una pressione di Tab si andrà sul tasto
    Ok
    , il quale potrà comunque essere poi confermato con Invio.

Completiamo il codice.

Una volta creato lo script, si tornerà nell’area di testo principale dell’Editor di Script.

Qui, il programma avrà già scritto per noi due speciali righe di codice, sulla base dei dati che abbiamo prima specificato nei vari campi della finestra di dialogo.

Il cursore sarà posto in una riga vuota al centro tra queste due righe di codice, che singolarmente chiameremo d’ora in poi anche
Istruzioni.

Nel dettaglio, la prima di queste sarà:


Script SalvaConNome ()

L’altra invece conterrà la parola chiave:


EndScript

Che significa
FineScript.

Nel file aperto, queste due istruzioni risulteranno separate tra loro da tre righe vuote. Voi vi troverete come detto con il cursore al centro di questo spazio, e provate a muovervi con le frecce in modo da controllare che il codice presente nello script corrisponda a quanto indicato.

nella prima riga in alto, che rappresenta la riga d’intestazione dello script, potrete notare come l’Editor abbia aggiunto in automatico il prefisso
Script
, al titolo che voi avete inserito nella schermata precedente, proprio per indicare che si tratta di uno script da attivare con una combinazione di tasti. A fine riga c’è anche una coppia di parentesi tonde, aperta e chiusa, anch’esse aggiunte dall’Editor, che in questo caso stanno solo ad indicare la fine della riga d’intestazione dello script.

Ora, resta da dire soltanto che l’altra riga di codice,
EndScript
, creata dall’Editor, sta a significare la fine del codice relativo al nostro script. In altre parole, quando si premerà la combinazione di tasti che attiva lo script, Jaws eseguirà le istruzioni contenute tra le due righe citate, l’intestazione dello script e la sua istruzione di fine, in modo sequenziale, dalla prima all’ultima.

Il livello di punteggiatura della sintesi.

Per chi usasse solo la sintesi vocale, si consiglia almeno agli inizi di impostare il livello di punteggiatura su
Tutta
, per avere la certezza che Jaws ci legga ogni carattere presente nel codice. Per chi volesse modificare tale impostazione, una semplice via può essere premere
TastoJaws+F2
, ed eseguire queste azioni:

  1. Selezionare
    Impostazioni veloci
    , oppure
    Impostazioni rapide
    , premendo l’iniziale
    I
    , e Invio.
  2. Premere Tab e portarsi su
    Punteggiatura
    , premendo l’iniziale
    P
    , finché non ci si posizioni sulla voce desiderata.
  3. Modificare l’impostazione premendo la barra spazio, e poi Invio.

Istruzioni tra parentesi graffe.

Nel caso del nostro primo script, come anticipato, le azioni principali da far eseguire sono soltanto due, e per il momento saranno due anche le istruzioni da inserirvi. Questo breve codice ci offre comunque l’occasione di dare un’informazione importante: dentro agli script, per Jaws, tutto quello che viene racchiuso tra una coppia di parentesi graffe,
{
e
}
, viene considerato da Jaws come se lo aveste digitato direttamente dalla tastiera all’applicazione, senza quindi passare per il controllo di Jaws.

Per questo, nel nostro caso, portatevi nella riga centrale delle tre vuote poste tra l’intestazione dello script e l’istruzione di chiusura, e digitate, dentro ad una coppia di parentesi graffe, la combinazione che visualizza il menu File, scrivendo la riga seguente:


{Alt+F}

Quindi, a fine riga, premete Invio per ricreare una riga vuota, e poi inserite come seconda istruzione la lettera che corrisponde al tasto caldo del comando Salva con nome, sempre tra parentesi graffe:


{S}

Con questa seconda istruzione abbiamo immesso tutto il codice che per il momento ci serve a far funzionare il nostro script. Prima di proseguire con il nostro lavoro, una precisazione importante: si può inserire tra parentesi graffe un solo elemento alla volta, come una combinazione tasti, anche se composta da più elementi, uniti dal segno
+
, oppure un singolo carattere, come nel nostro esempio la lettera
S
. Se il testo posto tra parentesi graffe non viene riconosciuto da Jaws come un tasto o una combinazione di tasti valida, oppure è presente più di un carattere, o anche solo uno spazio dopo al singolo carattere digitato, il testo viene ignorato da Jaws.

Capiremo più avanti come fare per specificare stringhe più lunghe come se fossero immesse dalla tastiera.

Ricapitolando, se tutto è stato fatto correttamente, il nostro primo script ora dovrebbe avere l’aspetto seguente:


Script SalvaConNome ()
{Alt+F}
{S}
EndScript

Compilare uno script.

Fino a questo momento, noi abbiamo scritto del codice in forma testuale in un file di testo, ma il computer, per poter eseguire il nostro script, ha bisogno di trasformare queste parole in un linguaggio che lo stesso computer sia in grado di elaborare rapidamente, in un formato
binario
. Per avviare questa trasformazione, che in termine tecnico si chiama
Compilazione
, si deve semplicemente salvare il file aperto nell’Editor di Script, tramite appunto il comando
"Salva"
nel menu File, che si attiva con
Alt+F, lettera S
, oppure con la scelta rapida
Control+S
. Una volta premuto il comando, qualora siano impostati i livelli di prolissità standard, Jaws dovrebbe dire
"Compilazione completata"
, pronunciando poi il nome del file script,
Wordpad.JSS.

In queste pagine, quando vi sarà chiesto di
salvare e compilare
, ove non specificato, s’intenderà di dover premere
Control+S
. Per completare l’argomento, va detto che esiste anche un altro comando del menu File,
Salvare senza compilare
, che conviene casomai richiamare con la scelta rapida
Control+W
, il quale consente appunto di non sottoporre a compilazione il file script sorgente, pur salvandone le eventuali modifiche apportate.

A questo punto è necessaria un’importante precisazione: quando si crea uno script, questa azione di salvataggio non si limita ad agire sul file script che lo contiene, che ha estensione .JSS. In realtà, la compilazione inizializza e poi aggiorna di volta in volta altri file, con lo stesso nome ma con estensione diversa.

Nel caso degli script per Microsoft Wordpad, premendo
Control+S
sono stati creati altri tre file, tutti che hanno in comune il nome base
Wordpad
, e con le estensioni seguenti:

  1. JSD
    , il file documentazione, che contiene, oltre al nome, il Sommario, la Descrizione e la Categoria immessi al momento di creare gli script.
  2. JKM
    , il file tasti, che contiene le scelte rapide in grado di attivare gli script.
  3. JSB
    , il file compilato vero e proprio, quello che dialoga con il sistema operativo.

Tutti e tre questi file, assieme al file sorgente con estensione JSS, vengono di norma salvati nella cartella delle
Impostazioni personali
di JAWS. Questa si può raggiungere tramite il collegamento tra le
Utility
, (Utilità), cui ci si arriva partendo dall’elenco dei programmi, e cliccando sulla voce che indica la versione di Jaws in Uso. Ad esempio, se avete a disposizione la versione 2020, bisogna cliccare una dietro l’altra le seguenti voci:

  • JAWS 2020.
  • strumenti.
  • Utility – JAWS 2020.
  • Impostazioni personali.

Ovviamente, qualora disponiate di Jaws in una diversa versione, dovrete cercare la voce con il numero della vostra versione al posto di 2020.

Come detto prima, se la compilazione ha avuto un esito positivo, avete finito con il vostro script, e potrete così tornare a Wordpad per provarlo.

Quando sarete in questa condizione, premete la scelta rapida impostata in fase di creazione dello script, il tasto funzione F12. Se tutto va bene, vi comparirà la schermata di dialogo Salva con nome.

Se volete, entrate nell’
Aiuto Tastiera
, tramite la combinazione
TastoJaws+1
, e provate a:

  1. Premere il tasto F12 una volta, per sentire una descrizione corta della sua funzione, la quale è ciò che avete inserito nel campo
    Sommario
    durante la creazione dello script;
  2. Premere F12 due volte velocemente, per ascoltare le note informative nella loro versione più lunga, che invece corrisponde a quanto si è digitato nel campo
    Descrizione.

***

Script e Funzioni.

Uno script, come quello appena realizzato, è il singolo frammento di codice che parte dall’intestazione, la riga con il nome dello script preceduto dal tipo di elemento, sino alla riga con l’istruzione che ne segna la fine. I file script, invece, come ad esempio Wordpad.JSS, in cui abbiamo lavorato sinora, hanno il compito di raccogliere in un unico contenitore tutti i singoli script, creati per l’applicazione da cui il file prende nome.

In realtà, di questi frammenti di codice, come sono stati definiti, ve ne sono due diversi tipi, ben distinti tra loro:

  1. Gli script veri e propri, che sono attivati da una combinazione di tasti, così com’è avvenuto nel caso del nostro primo script SalvaConNome.
  2. Tutti gli altri, che si chiamano invece
    Funzioni
    , le quali sono attivate direttamente dagli script o da altre funzioni, senza appunto nessuna combinazione tasti diretta.

Per questa caratteristica, di non avere dei propri tasti di attivazione, le funzioni sono, si dice,
chiamate
dagli script o dalle altre funzioni. Infatti, proprio
"Inserisci chiamata a funzione"
è il comando che attiva la procedura guidata per aggiungere una funzione nell’Editor di Script. Almeno all’inizio, si cercherà di citare i riferimenti alle funzioni usando questa formula, più che altro per far capire la particolarità di questi elementi di codice.

Le Funzioni, a loro volta, si dividono in almeno tre grandi categorie:

  1. Funzioni Integrate
    , quelle che costituiscono la componente fondamentale del pacchetto software acquistato con Jaws, che andrebbero lasciate così come sono.
  2. Funzioni Evento
    , anch’esse fornite con Jaws, cui non è possibile cambiare nome, ma di cui possono essere utilizzate delle versioni, anche vuote, da poter personalizzare ed inserire nei propri script.
  3. Funzioni Definite dall’Utente
    , che ciascuno di noi può creare con il nome ed i contenuti dettati dalle proprie necessità o preferenze.

Per il momento ci occuperemo soltanto delle Funzioni Integrate, aggiungendone una al nostro primo script, al fine di migliorarne l’efficacia.

Sospendere l’esecuzione dello script.

Lo script
SalvaConNome ()
, nel corso del collaudo effettuato, dovrebbe aver svolto regolarmente il suo compito. Se così non fosse, ciò sarebbe probabilmente dovuto al fatto che nello script le due istruzioni tra parentesi graffe non potevano essere eseguite immediatamente una dietro l’altra.

In casi come questo, possiamo servirci della funzione integrata
Pause
, (MettiInPausa), la quale sospende temporaneamente il funzionamento dello script nell’attesa che l’applicazione corrente, o il sistema operativo, concluda il proprio lavoro.

Anche se non si può definire con esattezza il tempo per il quale Jaws darà la precedenza agli altri programmi, è possibile che tale utilizzo rallenti un po’ il lavoro dei nostri script, nell’ordine di centesimi o decimi di secondo. Il suo apporto è comunque utile, a volte persino indispensabile, per garantire una buona efficacia dei nostri elementi di codice.

Tornando al nostro script, tale funzione andrà materialmente inserita tra le due istruzioni che compongono l’iniziale contenuto dello stesso script, quella che visualizza il menu e la successiva che ne attiva una sua voce. In tal modo, sarà fornito il tempo necessario all’applicativo per far aprire il menu, per poi successivamente attivarne il comando relativo.

Esercizio 1.3.2. La seconda versione di SalvaConNome ().

Per applicare quanto sin qui appreso, proveremo ora ad inserire la chiamata a funzione
Pause ()
nel nostro primo script,
SalvaConNome ()
, cui potrete tornare se avete ancora aperto l’Editor di Script.

Se così non fosse, ritornate a Wordpad, dove potrete richiamare l’Editor di Script con il comando
TastoJaws+0
della tastiera estesa.

Una volta caricatosi il file script,
Wordpad.JSS
, andate alla fine del codice tramite la combinazione
Control+Fine
, quindi risalite di qualche riga fino a tornare all’altezza dell’istruzione:


{Alt+F}

Andate a fine riga e premete Invio per creare una riga vuota. Ora, per iniziare ad inserire delle chiamate a funzione negli script, agite nel modo seguente:

  1. Attivate il comando citato in precedenza,
    "Inserisci chiamata a funzione"
    nel menu Script, premendo
    Alt+S quindi la lettera F
    , oppure direttamente la scelta rapida
    Control+I.
  2. Sarà visualizzata la schermata
    "Inserisci Funzione"
    , ed il cursore sarà posto in un campo dove poter iniziare a scrivere il nome della funzione da aggiungere allo script. Come detto, dobbiamo inserire la chiamata a funzione
    Pause
    . A tale scopo iniziate a digitare le lettere che compongono questa istruzione, prima la
    P
    , poi la
    A
    , e così via.
  3. Ad ogni pressione di una lettera, non importa siano maiuscole o minuscole, Jaws potrebbe leggervi la prima funzione che contiene tutte le lettere inserite, assieme a delle brevi note sul compito della funzione, il più delle volte in inglese; quando sentirete casomai leggere la parola Pause, premete una volta il tasto Tab ed il cursore si posizionerà sul lungo elenco delle chiamate a funzione, selezionando in teoria quella da voi prescelta. Qualora così non fosse, ne sareste comunque nelle vicinanze, e si potrà salire o scendere con le frecce per selezionare esattamente l’istruzione desiderata.
  4. Per concludere l’inserimento, vi sono più metodi, ma in questa fase limitatevi a cliccare sul pulsante
    Fine
    , azione che si può compiere sia premendo Tab fino al pulsante omonimo, quindi premendo su Invio, oppure con la scelta rapida
    Alt+F.

In ogni caso, si tornerà alla finestra dell’Editor, dove la funzione appena scelta sarà inserita all’interno dello script, aggiungendovi la coppia di parentesi aperta e chiusa, ed il cursore sarà posizionato a fine riga.

Lo script dovrebbe ora avere l’aspetto seguente:


Script SalvaConNome ()
{Alt+F}
Pause ()
{S}
EndScript

Ora, completate la modifica salvando, e quindi compilando lo script, tramite
Control+S.

tornate a Wordpad, e riattivate il comando premendo F12. Se prima si erano verificati dei problemi, controllate che si siano risolti, altrimenti fate attenzione a cosa Jaws vi pronuncia dopo aver premuto il tasto funzione. Sulla base delle impostazioni di prolissità, oltre al titolo della schermata
Salva con nome
, potreste sentire qualcosa come:

"Menu, sto lasciando il menu."

In ogni caso, lasciate aperto l’Editor, perché apporteremo subito un’ulteriore modifica al nostro script.

***

Spegnere e riaccendere la sintesi vocale.

Per impedire che i nostri script pronuncino informazioni non necessarie, che ci distraggano o che comunque rallentino il lavoro, è opportuno spegnere la voce di Jaws per il tempo in cui essa non sia indispensabile. Ovviamente, nei casi in cui si ricorre a tale istruzione, è obbligatorio accertarsi che all’interno dello stesso script, prima della sua conclusione, sia posto anche un’istruzione che riaccenda la sintesi, pena il fatto che JAWS smetta di parlare e si perda così la possibilità di interagire col PC.

Nel dettaglio, le funzioni da inserire sono
SpeechOff
, (SpegniParola), per interrompere temporaneamente la sintesi, e
SpeechOn
, (AccendiParola), per riattivarla.

Esercizio 1.4.1. La terza versione di SalvaConNome ().

Dovremmo avere ancora aperto l’Editor di Script, con caricato il file script Wordpad.JSS. Se così non fosse, aprite di nuovo Wordpad e richiamate da lì l’Editor di Jaws, con
TastoJaws+0.

Portatevi all’inizio dello script SalvaConNome, e precisamente nella prima riga vuota sotto all’intestazione. Ora, premete Invio per crearne un’altra, quindi seguite i passi qui riportati:

  1. Attivate il comando
    "Inserisci chiamata a Funzione"
    , tramite la scelta rapida
    Control+I.
  2. Nella schermata
    "Inserisci Funzione"
    , iniziate a digitare il nome della prima funzione nominata in precedenza,
    SpeechOff
    , quella che serve a spegnere la sintesi.
  3. Quando la sentirete pronunciare, premete una volta il tasto Tab; fate attenzione perché questa funzione si trova appena prima della sua funzione contraria che, appunto, differisce dalla prima solo per terminare con il suffisso
    on
    anziché
    off
    . In ogni caso, quando siete certi di averla selezionata, chiudete l’immissione con Alt+F.
  4. Tornati all’Editor, scorrete le righe verso il basso fino ad arrivare alla seconda istruzione con le parentesi graffe,
    {S}
    , portandovi a fine riga e premendo Invio per creare una riga vuota.
  5. Premete
    Control+I
    per inserire una nuova chiamata a funzione. Appena entrati nella schermata, dovreste essere posizionati sull’ultima funzione inserita. Da qui, senza digitare nulla, premete il tasto Tab una volta per portarvi nell’elenco delle funzioni, e scendete di una riga per selezionare il nostro attuale obiettivo,
    SpeechOn
    ; quando siete certi di averla selezionata, premete Alt+F per chiudere l’inserimento.

Se avete seguito tutti i passi descritti, il nostro script dovrebbe contenere ora almeno le seguenti istruzioni:


Script SalvaConNome ()
SpeechOff ()
{Alt+F}
Pause ()
{S}
SpeechOn ()
EndScript

***

I commenti nel codice.

I commenti nel codice degli script sono del testo che si trova prima o a fianco alle normali istruzioni, ma che ha la particolarità di essere posizionato dopo un carattere separatore: il Punto e Virgola,
;
. Queste note servono appunto per dare delle informazioni aggiuntive sulle istruzioni di codice alla destra del separatore, o che si trovano nelle righe successive a quella in cui abbiamo posto i commenti. Jaws, infatti, nell’eseguire gli script, ignora tutto quello che si trova dopo il carattere Punto e Virgola sino a fine riga, creando così uno spazio di libero utilizzo dove possiamo porre ogni informazione utile a capire meglio il codice cui i commenti si riferiscono.

Anche se questi commenti possono sembrare ora una perdita di tempo, man mano che aumenteranno le dimensioni dei vostri script vi accorgerete ben presto invece della loro utilità. Sarà più facile di quanto si pensi, infatti, dimenticarsi il motivo che vi ha spinto a scrivere quella istruzione anziché un’altra, la volta che riaprirete un file script con del codice da voi elaborato anche solo un po’ di tempo prima.

I commenti sono indispensabili, a maggior ragione, per poter scambiare con altre persone i propri script, affinché gli altri possano capire correttamente il loro funzionamento. Per quanto riguarda queste pagine, d’ora in poi ogni riga di codice presente nel corpo degli script, ad eccezione quindi dell’intestazione e dell’istruzione di fine, sarà corredata o preceduta da commenti, sia per spiegare o tradurre dei comandi inseriti, sia per consentirvi di copiare il codice posto a video così com’è, assieme alle necessarie spiegazioni.

Esercizio 1.5.1. La versione definitiva di SalvaConNome ().

Quale esempio pratico, mettiamo di seguito l’ultima versione proposta del nostro script, questa volta completata dei commenti. Tali annotazioni, come detto, sono libere, e quelle che vi proporremo di volta in volta potranno essere ovviamente da voi modificate o integrate.

In ogni caso, questa potrebbe essere la forma definitiva del codice:


Script SalvaConNome ()
SpeechOff (); spegne la sintesi
{Alt+F}; richiama il menu File
Pause (); sospende temporaneamente lo script
{S}; esegue il comando
SpeechOn (); riattiva la sintesi
EndScript

Per concludere la sessione di lavoro, salvate e compilate lo script. Se l’esito della compilazione sarà positivo, chiudete l’Editor di Script, e uscite anche da Wordpad.

***

Riepilogo.

In questo primo capitolo si è parlato di cosa siano gli script, della differenza tra script e funzioni, realizzando un primo script di esempio.

Abbiamo poi spiegato come migliorare la funzionalità degli script mettendo una sospensione temporanea nell’eseguire gli script, oltre a come spegnere e riaccendere la sintesi vocale.

Se c’è qualche concetto che non è del tutto chiaro, potete anche rivolgervi ai recapiti posti alla fine. L’importante è proseguire quando si è compreso bene quanto fin qui esposto, perché le nozioni espresse si daranno man mano per acquisite.

Per questo, ad ogni conclusione di capitolo, sarà proposto questo riepilogo, che avrà come numero di sezione il 10, il quale a sua volta comprenderà tre appendici:

  1. Elementi di Codice personale
    , dove saranno riproposti i nomi, i file script in cui sono inseriti, gli eventuali tasti di attivazione, e comunque una breve descrizione, degli elementi di codice da noi prodotti nel capitolo.
  2. Script, Funzioni e Comandi di Jaws
    , dove si riproporranno invece gli script nativi, le funzioni integrate ed altri comandi del programma di sintesi vocale trattati in questa parte, con la traduzione del nome ed una breve descrizione.
  3. Voci di Glossario
    , dove saranno elencati alcuni termini di particolare importanza, assieme all’eventuale traduzione ed al loro significato.

Nel prossimo capitolo, inizieremo analizzando come gestire gli script in cui si muovono i cursori di Jaws. In particolare, affronteremo il modo in cui convertire i tasti da noi premuti, durante il suo normale utilizzo, in istruzioni che svolgano il proprio compito all’interno dei nostri script.

Il capitolo si concluderà spiegando cosa sono i parametri, come li si possono aggiungere alle funzioni, e come sia possibile ridurre e semplificare la scrittura del codice tramite il loro utilizzo.

Download

Archivio da scaricare, con il codice elaborato sinora

Per ulteriori spiegazioni, scrivere a:

Abramo Volpato

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *