
A dispetto di quanto possa sembrare, Swipe e Pinch non sono i nomi di due personaggi dei cartoni animati, bensì si riferiscono a due particolari movimenti effettuati con le dita su una periferica che supporta più tocchi contemporaneamente.
Pinch è il gesto di allargare o avvicinare due dita, è stato reso famoso da vari filmati che ritraggono schermi multitouch ed è stato portato a conoscenza delle masse grazie all’iTouch e all’iPhone. Si usa in genere per lo zoom di un’immagine o di un testo.
Swipe è invece una gesture che viene usata soprattutto sui portatili e comporta l’uso di tre dita spostate velocemente verso destra o verso sinistra. Di solito questo movimento è accostato allo scorrimento di una galleria di foto o della cronologia del browser.
Entrambi i movimenti sono implementati sul touchpad dei MacBook Air di Apple e recentemente anche Synaptics ha aggiunto qualcosa di simile nei driver per Windows.
Su Linux non c’è ancora nulla del genere che si possa definire stabile, ma possiamo lo stesso provare a giocare con pinch e swipe tramite un piccolo hack.
Requisiti
Premessa: i passaggi che verranno descritti si riferiscono ad Ubuntu Hardy Heron 8.04 ma con qualche adattamento possono essere usati anche su altre distribuzioni.
- Perl
- Modulo
Time::Hires
per perl - Modulo
X11:GUITest
per perl - Opzione
SHMConfig
abilitata inxorg.conf
Se si possiede Ubuntu i primi due punti sono facili da soddisfare
sudo apt-get install perl
Per il terzo punto dobbiamo scaricare il pacchetto X11::GUITest, scompattarlo e compilarlo con i comandi
perl Makefile.PL
make
sudo make install
Se l’installazione non dovesse andare a buon fine, la colpa è probabilmente di qualche libreria mancante, basterà guardare tra i messaggi di errore per scovare quelle necessarie.
Inoltre, nel caso di Ubuntu, lo script di compilazione non riesce a trovare la libreria libXtst.so nonostante sia già stata installata. Per ovviare al problema
sudo ln -s /usr/lib/libXtst.so.6 /usr/lib/libXtst.so
Per il quarto punto apriamo xorg.conf
e aggiungiamo la stringa
Option "SHMConfig" "on"
all’interno della sezione del touchpad.
Iniziamo a divertirci
Adesso ci serve lo script che ci permetterà di usare le gesture
che è tratto da questo articolo sul network di sviluppatori di IBM.
Una volta scompattato l’archivio basterà lanciare
perl gestureListener.pl
per iniziare a giocare con swipe e pinch e provare gli effetti sulle applicazioni che ci interessano.
In breve, il programmino non fa altro che usare i dati passati da synclient per associare a determinati valori un’evento specifico, nel nostro caso una combinazione di tasti. In particolare per swipe la combinazione è Alt+freccia destra o sinistra
, per pinch Ctrl ++ o --
.
Modificando lo script si può cambiare il comportamento associato alle gesture. Qui invoco l’aiuto di neon o di chiunque altro possa riuscire nell’impresa.
Stacchiamo tutto!
Durante l’esecuzione dello script ogni altro tipo di tocco viene disabilitato, quindi bisogna spostarsi tra le applicazioni sulle quali ci interessa provare i movimenti del touchpad tramite la tastiera.
Per terminare lo script è sufficiente un Control+C
e per tornare ad usare normalmente il touchpad lanciamo da terminale
synclient TouchPadOff=0
Ho sperimentato con moderata soddisfazione le gesture su Firefox e Eye of Gnome, il visualizzatore di immagini predefinito in Ubuntu. In ogni caso i risultati variano a seconda del proprio hardware e del programma scelto per le prove.