Gesti Flicks
Windows Vista include un set di otto gesti di scorrimento di base. I tasti di scorrimento sono movimenti rapidi e lineari della penna associati a azioni e comandi di scorrimento.
Dettagli di Flick
La funzionalità di scorrimento fornisce all'utente un nuovo modo di interagire con il Tablet PC consentendo azioni comuni da eseguire facendo gesti rapidi con la penna. Le sequenze di scorrimento coesistono e non interrompono le normali azioni dell'utente, ad esempio i tocco sinistro e destro, lo scorrimento e l'input penna.
Un flick è un gesto di penna unidirezionale che richiede all'utente di contattare il digitalizzatore in un movimento rapido. Un tocco è caratterizzato da alta velocità e un alto grado di dritta. Un tocco viene identificato dalla direzione. Le flick possono essere fatte in otto direzioni corrispondenti alle direzioni cardinali e secondarie della bussola.
Un'azione o 'azione flick è l'azione o il collegamento eseguito in risposta a un tocco. Le operazioni di flick vengono mappate alle azioni. La figura seguente mostra un diagramma di otto sequenze di penna che corrispondono alle azioni di spostamento rapido.
Quando l'utente sposta la penna sul digitalizzatore di un Tablet PC, l'hardware genera pacchetti di penna che vengono indirizzati al sottosistema di input penna della piattaforma Tablet PC. In genere, se la penna viene usata come sostituto del mouse, il sottosistema di input penna accetta questi pacchetti di penna e li invia, possibilmente con modifiche, a User32, il componente Windows responsabile dell'elaborazione dell'input del mouse. Se la penna viene usata su una superficie di input penna, viene eseguito il rendering dell'input penna anziché i pacchetti del mouse generati.
La routine di rilevamento flick viene implementata nel sottosistema di input penna. Il rilevamento Flick inizia con la penna verso il basso e continua fino a quando:
la sequenza di pacchetti ricevuti non deve essere un tocco o
si verifica la pen-up.
Mentre si verifica il rilevamento flick, i pacchetti penna vengono mantenuti e non inviati al sistema. Questa operazione deve essere eseguita perché l'invio di pacchetti può interferire con l'azione di flick eseguita. Ad esempio, l'invio di pacchetti durante un scorrere che esegue il mapping a un'azione di copia ignora ciò che è stato selezionato, ovvero non ci sarebbe nulla da copiare al momento dell'invio dell'azione.
Durante il flusso dei pacchetti nel sottosistema di input penna, la routine di rilevamento flick calcola le metriche sulla lunghezza, la velocità, il tempo e la curvatura del movimento eseguito. Con ogni pacchetto che arriva, la routine di rilevamento aggiorna ognuna di queste metriche. Non appena una delle metriche non rientra in ciò che costituirebbe un tocco, termina il rilevamento flick e i pacchetti vengono inviati.
Dove vengono rilevati flick
I movimenti di scorrimento sono resi possibili dal fatto che i trascinamenti vengono in genere eseguiti piuttosto lentamente. L'utente deve prima avere come destinazione il punto iniziale del trascinamento, eseguire il trascinamento e quindi puntare al punto finale. Normalmente questo richiederà troppo tempo per qualificarsi come un flick. Tuttavia, sulle superfici di input penna rapidi tratti che si qualificano come flick si verificano frequentemente; attraversare un 't' è un esempio comune. Di conseguenza, per impostazione predefinita, il rilevamento del tocco viene disattivato sulle superfici di input penna e attivato a livello di sistema.
Problemi di messa a fuoco
Una volta rilevato un tocco, inizia una sequenza di eventi che porta infine al sistema che esegue una determinata azione in risposta al tocco che si è verificato. Prima di tutto, la routine di rilevamento all'interno del sottosistema di input penna determina la finestra a cui deve essere inviato il tocco. Si tratta in genere della finestra con stato attivo, ma esistono eccezioni. Per gli scorrimenti, il tocco viene inviato alla finestra su cui si è verificato il tocco. Si noti che questa non è necessariamente la finestra con lo stato attivo. Quando un tocco viene inviato a una finestra che non ha lo stato attivo, lo stato attivo non cambia in tale finestra.
Azioni Flick
Dopo aver determinato la finestra di destinazione, tale finestra può gestire il tocco stesso a seconda del comportamento predefinito o programmato dell'evento. Le applicazioni possono rispondere all'azione più appropriata in base all'applicazione e alla direzione e alla posizione del tocco. Ad esempio, in un'applicazione di mapping, i scorrere verso l'alto e verso il basso potrebbero eseguire lo zoom avanti o indietro anziché scorrere verticalmente, come previsto dal comportamento predefinito.
Per segnalare a un'applicazione che si è verificato un tocco, viene inviato un messaggio di finestra. Questo messaggio della finestra contiene sia il punto iniziale del tocco che la direzione del tocco. Se l'applicazione gestisce questo messaggio di finestra, non viene eseguita alcuna ulteriore azione dal sottosistema di input penna.
Dopo aver rilevato un tocco, viene visualizzato un feedback visivo che rappresenta l'azione di scorrere sullo schermo. Questo feedback ha due scopi. Prima di tutto, conferma per l'utente che il tocco è riuscito. In secondo luogo, ricorda all'utente l'azione eseguita, aiutando l'utente a connettere la direzione del tocco con l'azione associata.
Il feedback flick è costituito da due parti; icona che rappresenta l'azione e un'etichetta contenente il nome dell'azione. L'etichetta viene visualizzata sotto l'icona. Il feedback viene visualizzato immediatamente dopo il rilevamento del tocco. Anche se le applicazioni possono personalizzare il proprio comportamento in risposta alle operazioni di flick gestendo il messaggio della finestra di flick, l'applicazione non può disabilitare o modificare il feedback di flick.
È previsto che la maggior parte delle applicazioni non sia compatibile con il tocco e quindi non gestirà il messaggio della finestra descritto in precedenza. Se il messaggio non viene gestito, il sottosistema di input penna eseguirà ulteriori azioni. Prima di tutto, cerca l'azione associata alla direzione del tocco rilevato. Successivamente, verranno eseguiti passaggi (descritti nella tabella seguente) per fare in modo che la finestra di destinazione esegua questa azione. Per molte delle azioni di spostamento questo comporta l'invio di un comando dell'applicazione, ma alcune azioni implementate non lo sono.
Elaborazione dei comandi dell'applicazione
L'applicazione deve rispondere a uno qualsiasi dei comandi dell'applicazione che potrebbero essere potenzialmente assegnati a un movimento di scorrimento. Se un'applicazione non risponde al messaggio WM_TABLET_FLICK, Windows Vista segue inviando la notifica di WM_APPCOMMAND applicabile, seguita da una notifica di WM_KEYDOWN.
Di seguito è riportato un elenco di comandi dell'applicazione che è possibile assegnare ai tasti di scelta rapida, con il messaggio di sequenza di tasti di backup che potrebbe essere inviato.
Comando | Sequenza di tasti di backup |
---|---|
APPCOMMAND_BROWSER_BACKWARD |
Nessuno |
APPCOMMAND_BROWSER_FORWARD |
Nessuno |
APPCOMMAND_COPY |
CTRL+C |
APPCOMMAND_PASTE |
CTRL+V |
APPCOMMAND_UNDO |
CTRL+Z |
APPCOMMAND_DELETE |
Del |
APPCOMMAND_CUT |
CTRL+X |
APPCOMMAND_OPEN |
CTRL+O |
APPCOMMAND_PRINT |
CTRL+P |
APPCOMMAND_SAVE |
CTRL+S |
APPCOMMAND_REDO |
CTRL+Y |
APPCOMMAND_CLOSE |
I comandi di modifica, ad esempio Copia, Incolla, Taglia ed Elimina, possono essere indirizzati a una selezione o all'oggetto che si trova alla base del movimento di scorrimento. Se non è presente alcuna selezione, è possibile usare i dati nella FLICK_POINT Structure per determinare cosa, se presente, l'oggetto potrebbe essere stato la destinazione del comando di modifica.