A volte, per una vetrina o semplicemente per stare a guardare, si vorrebbe che il ‘Cubo’ ruotasse, e magari facesse anche qualcos’altro, per conto suo.
Tra le varie possibilità credo che la migliore sia quella di uno script che mandi delle sequenze di tasti.
In tal modo sarà possibile non solo far girare il ‘cubo’, ma fargli fare qualsiasi cosa che farebbe tramite scorciatoia da tastiera.
Qui mostrerò come farlo ruotare, lasciando a ciascuno il divertimento di provare altre combinazioni di tasti.
Il tutto su Ubuntu, ma dovrebbe essere semplice trasferirlo su altri O.S..

Per iniziare ci ccorrono due prorammi:

xautomation (per inviare le sequenze di tasti)
xbindkeys (per fermare la rotazione premendo il tasto ‘esc’).

Si trovano nelle repositories di Ubuntu. Quindi installiamoli.
Fatto questo abbiamo bisogno di due script (eseguibili).

Ecco il primo:

#Esci
“killall rotazione & killall xbindkeys”
m:0x10 + c:9
Mod2 + Escape

Lo scriviamo con un editor di testo e lo salviamo col nome ‘.xbindkeysrc‘ nella nostra home directory (ricordarsi del punto iniziale) e rendiamolo eseguibile.
Servirà per fermare la rotazione col tasto ‘esc’.

Ecco il secondo script:

#!/bin/bash
xbindkeys &
while [ 1 ]
do
num=$RANDOM;
slp=30.$num;
let “num %= 8”;
if [ “$num” = “1” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “2” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “3” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
sleep 0.5;
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “4” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Up” “keyup Control_L” “keyup Alt_L”
sleep $slp;
xte “key Space”
xte “keydown Control_L” “keydown Alt_L” “key Down” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “5” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Down” “keyup Control_L” “keyup Alt_L”
sleep $slp;
xte “keydown Control_L” “keydown Alt_L” “key Up” “keyup Control_L” “keyup Alt_L”
else
xte “keydown Control_L” “keydown Alt_L” “key Left” “keyup Control_L” “keyup Alt_L”
fi
sleep $slp;
done

Lo salviamo col nome ‘rotazione’ in /usr/bin e lo rendiamo eseguibile.
Questo è lo script che manda le combinazioni di tasti. Come si vede le combinazioni usate sono ‘ctr+alt+left’, ‘crl+alt+right’, ‘ctrl+alt+up’ e ‘ctrl+alt+down’.
Nessuno vieta di provarne altre.
All’inizio trovate le due righe:
slp=30.$num;
let “num %= 8”;

La seconda riga indica il valore massimo della serie di numeri scelti a caso. A seconda del numero casuale (compreso tra 1 e 8 in questo caso) prodotto, verrà eseguito il comando corrispondente.
La prima riga indica il numero di secondi utilizzati per una pausa (comando sleep &slp).

Lo script funziona indifferentemente sia per Beryl, che per Compiz (Quinn o Freedesktop).

Provatelo e divertitevi con combinazioni diverse di tasti.

Tags: Linux Beryl CompizHowTo Xgl Random

Annunci