DISPOSITIVI DI INPUT
[Rif. libro di Foley, van Dam & C, capitolo 4]
Dispositivi fisici: proprieta' fisiche dei dispositivi di input.
Dispositivi logici: un dispositivo logico e' caratterizzato
dall'interfaccia ad alto livello con il programma utente.
Esempio: in C l'istruzione "printf" e' un dispositivo logico,
il nostro dispositivo fisico puo' essere una stampante,
un terminare, un file su disco.
Dispositivi fisici di input
- tastiera: permette all'utente di introdurre stringhe di caratteri
- dispositivo puntatore (mouse, trackball...): permettono all'utente
di indicare una posizione sullo schermo ed in genere hanno uno o piu'
pulsanti per permettere all'utente di inviare segnali o interrupt
al computer.
- tavoletta (data tablet): tavola grafica sulla quale mediante
una penna e' possibile fornire una posizione assoluta.
Dispositivi logici
Classificazione dei dispositivi fisici in termini
del tipo dei dati che vengono restituiti dal dispositivo:
- STRING: dispositivo logico che fornisce stringhe
di caratteri ASCII. In genere implementato mediante tastiera.
- LOCATOR: fornisce una posizione sullo schermo.
In genere implementato mediante mouse, trackball, joystick, etc.
Anche la tastiera puo' essere usata come dispositivo locator
(usando cursori).
- PICK: fornisce l'identificatore di un oggetto.
In genere implementato mediante gli stessi dispositivi fisici
del locator (cambia l'interfaccia col programma utente)
- CHOICE:
permette all'utente di selezionare un'opzione in un insieme
predefinito di opzioni.
In genere si usano un insieme di pulsanti della tastiera,
oppure dispositivi puntatore quali mouse e trackball.
- DIAL (VALUATOR) fornisce input di tipo scalare.
In genere, tastoiera o controlli tipo potenziometri
(e quindi dispositivi puntatore per operare su questi).
Task di interazione
Task di interazione: operazione di inserimento di una unita'
di informazione da parte dell'utente.
I task di interazione sono indivisibili
Ogni task di interazione puo' essere caratterizzato da diverse tecniche
di interazione che corrispondono ai vari dispositivi logici
I task di interazione (detti anche task di interazione di base)
possono essere classificati in:
- 1. POSITION (posizionamento)
- 2. SELECT (selezione)
- 3. TEXT (testo)
- 4. QUANTIFY (quantificazione)
1. POSITION task
Consiste nello specificare una posizione (x,y) [o (x,y,z)]
al programma applicativo.
Dispositivo logico: LOCATOR.
Tecniche di interazione:
- input da dispositivo di posizionamento
- input da tastiera
Alcuni problemi:
- Risoluzione: dipende dal tipo di tecnica
- Griglia: per aiutare il posizionamento e' possibile sovrapporre
una griglia sull'area di lavoro
- Feedback:
Esistono due tipi di task di posizionamento: spaziale e linguistico.
Nel task spaziale, l'utente conosce le relazioni spaziali tra la
posizione specificata e gli altri oggetti.
Nel task linguistico, l'utente conosce le coordinate della
posizione.
2. SELECTION task
Permette di selezionare un elemento in un insieme di scelte
(comandi, attributi, classi di oggetti, istanze di oggetti).
- Tecniche di selezione per insiemi di dimensione variabile
(in genere si tratta di insiemi di istanze di oggetti):
- Selezione per nome:
l'utente digita il nome della scelta. Utile feedback per
visualizzare l'oggetto selezionato.
Dispositivo logico: STRING
- Selezione per posizionamento:
l'utente seleziona l'oggetto mediante posizionamento di un
puntatore.
Dispositivo logico: PICK
- Tecniche di selezione per insiemi di scelte formati da
un numero fissato (o quasi) di oggetti:
Metodo piu' comune mediante menu'.
Dispositivo logico: CHOICE
TEST task
Riguarda l'inserimento di stringhe di testo a cui l'applicazione
non associa alcun significato speciale (es: word processor).
Nota: non comprende la scrittura di comandi.
Tecniche di inserimento:
- tastiera
- riconoscimento di caratteri (l'utente scrive i caratteri su
un dispositivo a posizionamento continuo, es. tavoletta grafica)
Dispositivo logico: STRING
QUANTIFY task
Specifica di un valore numerico compreso fra un valore minimo ed un
valore massimo.
Tecniche di interazione:
- linguistica: l'utente conosce il valore specifico
- spaziale: l'utente cerca di aumentare o diminuire un
valore di partenza
Dispositivo logico: DIAL
Esempio di task di interazione composto:
uso di una finestra di dialogo, necessita' di selezionare piu'
elementi in un insieme di scelte (non mituamente escludentisi)
Misura e trigger nei dispositivi di input
Due entita' permettono di descrivere come un dispositivo fornisce
input al programma applicativo:
- misura: e' il dato fornito dal dispositivo al
programma utente
- trigger: e' un input fisico che l'utente puo' usare
per fornire un segnale al computer
Esempi:
- dispositivo STRING (tastiera):
misura = stringa, trigger = tasto "return" o "enter"
- dispositivo LOCATOR (mouse):
misura = posizione, trigger = pulsante del dipositivo
- dispositivo PICK (mouse) misura = identificatore di oggetto,
trigger = pulsante del dipositivo
Modalita' di input
Possiamo ottenere la misura di un dispositivo in tre modi diversi
(detti modalita' di input):
- 1. REQUEST mode
- 2. SAMPLE mode
- 3. EVENT mode
Ogni modalita' e' definita dalla relazione fra il processo di
misura e il trigger.
Funzionamento:
- L'inizializzazione di un dispositivo di input inizia il processo
di misura
- La misura rilevata e' posta in un buffer, che puo' essere
disponibile o meno al programma utente
1. REQUEST mode
La misura del dipositivo non e' restituita al programma utente
finche' non e' attivato un trigger sul dispositivo stesso.
Modalita' standard per input non grafico.
Esempio:
scanf in C.
il programma attende fino a che l'utente non preme un tasto particolare
(enter)
Diagramma modalita' request:
2. SAMPLE mode
Fornisce input immediato. Non appena si incontra la chiamata di
funzione corrispondente nel programma utente viene restituita
la misura.
Nessuna necessita' di trigger.
Al momento della chiamata, l'utente deve gia' aver posizionato il mouse
o inserito la stringa da tastiera.
Diagramma modalita' sample:
EVENT mode
Quando un dispositivo di input e' attivato in questa modalita',
programma e dispositivo operano simultaneamente.
I dati inseriti nel dispositivo sono posti in una coda di eventi.
Tutti i dispositivi di inout che operano in modalita' event
inseriscono i dati (detti eventi) in un'unica coda di eventi.
Eventi sono identificati secondo:
- device fisico
- workstation
- classe logica
Diagramma modalita' event: