Pinch e Swipe su Linux

Pinch e Swipe non sono una scadente imitazione di Itchy e Scratchy

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.

  1. Perl
  2. Modulo Time::Hires per perl
  3. Modulo X11:GUITest per perl
  4. Opzione SHMConfig abilitata in xorg.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

Scarica lo script

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.

Crediti immagine: redaktusse (+maggie)

Scrolling a due dita su Linux anche se non si possiede un Mac

Close up of a touchpad with a locking button o...
Image via Wikipedia

Chiunque abbia avuto sotto mano un Mac si sarà reso conto di come sia differente la gestione del touchpad sui portatili della mela rispetto ad una classica installazione Windows o Linux. Questa differenza è data essenzialmente dall’hardware e i rispettivi driver.

Tra le caratteristiche più invidiate c’è sicuramente lo scrolling a due dita.

Forse non tutti stanno che questa possibilità non è esclusiva dei Mac, ma è concessa anche a chi non possiede un notebook Apple. Infatti i driver synaptics per Linux sin dal 2006 permettono di sfruttare tale peculiarità, compatibilmente con l’hardware del proprio PC.

Per attivare lo scrolling a due dita bisogna effettuare due passaggi

  • Agire sul file di configurazione xorg.conf
  • Installare gsynaptics e modificare i parametri tramite interfaccia grafica

In realtà il tutto è anche gestibile solamente da linea di comando o andando a modificare xorg.conf, tuttavia la GUI evita di andare a ricordare i lunghi nomi delle voci da variare ed i loro rispettivi valori.

Modifica di xorg.conf

Innanzitutto bisogna attivare la funzione di modifica on the fly delle impostazioni del touchpad nel file di configurazione del server grafico

gksudo gedit /etc/X11/xorg.conf

La stringa che dà il via libera all’accesso della memoria condivisa della periferica

Option          "SHMConfig"             "on"

deve essere inserita all’interno della sezione del touchpad, che in genere comincia con

Section "InputDevice"
Identifier    "Synaptics Touchpad"

La voce da aggiungere potrebbe tuttavia essere già presente.

Sempre nella stessa sezione mettiamo anche queste altre due linee

Option          "VertTwoFingerScroll"   "1"
Option          "HorizTwoFingerScroll"  "1"

che abilitano proprio lo scrolling a due dita, sia orizzontale che verticale.

Sarà necessario poi riavviare la sessione di X.

Installazione e uso di gsynaptics

Per Ubuntu c’è un pacchetto pronto per essere installato

Scarica gsynaptics per Ubuntu Hardy o Ubuntu Intrepid

Per tutti gli altri il codice sorgente è disponibile a questo indirizzo.

Il programma è raggiungibile con il comando gsynaptics o dal menu Sistema->Preferenze->Touchpad.

Le opzioni da segnare sono marcate in rosso
Le opzioni da segnare sono marcate in rosso

Una volta avviato basterà mettere una spunta alle prime due opzioni presenti nella scheda Scrolling ( dovrebbero già esser selezionate ), come evidenziato in figura, e provare a vedere se il proprio touchpad riconosce i tocchi multipli. Il mio notebook ha circa 3 anni e mezzo e non ho avuto difficoltà.

E’ sufficiente mettere due dita sopra il pad, preferibilmente nella zona centrale, e trascinarle verso il basso o verso l’alto. Il tutto funziona anche per lo spostamento in orizzontale, ma il movimento dovrà essere compiuto da destra verso sinistra e viceversa.

La velocità dello scroll è regolabile a piacimento e dipende dalle abitudini di ognuno. All’inizio non è facile gestire questa modalità di scrolling, ma dopo un po’ di pratica ci si prende la mano.

Il programma ovviamente permette di cambiare i parametri di molte altre opzioni, potete sfruttare l’occasione per trovare la configurazione più adatta alle vostre esigenze anche per altri aspetti che riguardano il touchpad.

ATTENZIONE: se il touchpad al riavvio non dovesse più rispondere ai comandi, bisogna andare su Sistema->Preferenze->Sessioni e togliere la spunta alla voce Touchpad. Al successivo riavvio vengono ripristinati i valori di default e tutto dovrebbe tornare alla normalità.