Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Gestire il mixer via tasti FN
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
mouser
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1418
Location: Milano

PostPosted: Sat Feb 26, 2005 7:34 am    Post subject: Reply with quote

codadilupo wrote:

le nostre (mia e di shev) sono questa

Coda

hmmm, la mia tastierina da casa e' come la vostra, pero' non ho il mouse ed e' ancora una "troglodita" tastiera usb...... i tasti multimediali pero' sono uguali! Nel caso si faccia il programmino, visto che non sono molto buono con il python, se posso dare una mano nel testing (e magari posso fare una bella interfaccina in gtk :wink: )

mouser :wink:
_________________
Della serie: "Informatica for dummies":

Io: "Premi il tasto Invio" - Risp: "Ma il tasto Invio è quello con scritto Enter sopra?"
Io: "Scrivi T maiuscolo" - Risp: "Questa tastiera non ha le lettere maiuscole..."
Back to top
View user's profile Send private message
bandreabis
Advocate
Advocate


Joined: 18 Feb 2005
Posts: 2089
Location: イタリアのロヂで

PostPosted: Wed Aug 09, 2006 7:59 pm    Post subject: Reply with quote

dove salvo osdvol.py? Devo renderlo eseguibile?
Back to top
View user's profile Send private message
mouser
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1418
Location: Milano

PostPosted: Thu Aug 10, 2006 7:21 am    Post subject: Reply with quote

bandreabis wrote:
dove salvo osdvol.py? Devo renderlo eseguibile?

Ovunque vuoi, l'importante è che poi ~/.xbindkeysrc abbia il path corretto.
Si, devi renderlo eseguibile se vuoi lanciarlo semplicemente richiamando il nome, altrimenti invece di
Code:
$ ./osdvol.py

lo dovrai lanciare con
Code:
$ python osdvol.py


Ciriciao
mouser :wink:
_________________
Della serie: "Informatica for dummies":

Io: "Premi il tasto Invio" - Risp: "Ma il tasto Invio è quello con scritto Enter sopra?"
Io: "Scrivi T maiuscolo" - Risp: "Questa tastiera non ha le lettere maiuscole..."
Back to top
View user's profile Send private message
mouser
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1418
Location: Milano

PostPosted: Thu Aug 10, 2006 8:51 am    Post subject: Reply with quote

Mi sono permesso di stravolgere il lavoro dei Sideralis Bros. :lol:

Ne e' venuto fuori bosdvol.... la *b* iniziale sta a significare che, non conoscendo il python, ho riscritto tutto in bash, mantenendo le funzionalita' e modificando una piccolissima cosa grafica.

Ora, utilizzando bosdvol, oltre a tutto quello che potevate fare con osdvol, nel momento in cui aumentate/diminuite il volume vedrete una simpaticissima barra progressiva in basso al centro dello schermo. Inoltre ho modificato il font in modo da utilizzarne uno standard (per esempio quello che usa Fede mi dava problemi perchè non trovava il font ^.^)

Spero che possa essere di aiuto a qualcuno e magari di spunto a qualcun'altro.

(ah, anche il file di appoggio che utilizza il programma è lo stesso con la stessa sintassi, quindi potete decidere volta per volta quale dei due tool usare mantendeno entrambi aggiornati al sistema 8) )

Per ottenere lo script:
Code:
$ wget http://mouser.altervista.org/software/gentoo/bosdvol


La spiegazione di come usarlo, configurarlo ecc, non la posto (usate pure quella di fedeliallalinea, è perfetta)

e qui il codice :wink:

Code:
#!/bin/bash
#
# Conversione in bash e modifica per visualizzare una barra di scorrimento
# di osdvol.py di Sideralis
#
# Matteo <mouser> Cappadonna, 2006
# matteo.cappadonna(at)gmail.com
#---
# osdvol.py permette tramite l'ausilio di setmixer
# http://packages.debian.org/testing/sound/setmixer.html
# il controllo del volume sonoro.
# osdvol.py e' ideato per lavorare preferibilmente coi tasti
# funzione adeguati sulle tastiere multimediali e portatili.
# osdvol.py supporta:
# - creazione automatica del file di configurazione ~/.setmixer
# - aumento,diminuzione e mute/unmute del volume
# - mantenimento delle impostazioni del volume passando dallo stato di
#   mute a quello di unmute e viceversa
# - possibilita' di variare il volume nello stato di mute per riottenerlo
#   modificato tornando unmute
# - stampa a schermo dello stato sonoro tramite xosd http://www.ignavus.net
#
#  Questo programma e' liberamente modificabile.
#  Sideralis Programs
#  Federico e Riccardo Galli
#  http://www.sideralis.net

function help () {
        echo
        echo "usage: bosdvol (+|-|mute)"
        echo "  +     Aumenta il volume"
        echo "  -     Diminuisce il volume"
        echo "  mute  Attiva/Disattiva il muto"
        echo
}

if [ ${#1} -eq 0 ]; then
        help
        exit
fi

MUTE=`cat $HOME/.setmixer | head -1`
VOLUME=`cat $HOME/.setmixer | tail -1`

XOSDOPT="--font=8x13 --shadow=1 --pos=bottom --align=center --color=lightgreen --delay=1 --offset="

case $1 in
  '+'|'-')
        # Incremento o decremento il volume
        if [ $1 = '+' ]; then
                VOLUME=`expr $VOLUME + 3`
        else
                VOLUME=`expr $VOLUME - 3`
        fi

        # Salva i valori nel file ~/.setmixer
        echo $MUTE > $HOME/.setmixer
        echo $VOLUME >> $HOME/.setmixer

        # Imposta il volume con setmixer
        if [ $MUTE -eq 0 ]; then
                setmixer vol $VOLUME
        fi

        # Visualizza la scritta e la barra
        if [ $MUTE -eq 1 ]; then
                TEXT="Mute ON - Volume $VOLUME%"
        else
                TEXT="Volume $VOLUME%"
        fi
        echo $TEXT | osd_cat $XOSDOPT"50" &
        echo $TEXT | osd_cat $XOSDOPT"40" --barmode=percentage --percentage=$VOLUME &
        ;;

  'mute')
        # Modifico il valore del mute ed il suono
        if [ $MUTE -eq 0 ]; then
                MUTE=1
                setmixer vol 0
        else
                MUTE=0
                setmixer vol $VOLUME
        fi

        # Salva i valori nel file ~/.setmixer
        echo $MUTE > $HOME/.setmixer
        echo $VOLUME >> $HOME/.setmixer

        if [ $MUTE -eq 0 ]; then
                TEXT="Mute OFF"
        else
                TEXT="Mute ON"
        fi
        echo $TEXT | osd_cat $XOSDOPT"40" &
        ;;

  *)
        help
        ;;
esac


Ciriciao
mouser :wink:
_________________
Della serie: "Informatica for dummies":

Io: "Premi il tasto Invio" - Risp: "Ma il tasto Invio è quello con scritto Enter sopra?"
Io: "Scrivi T maiuscolo" - Risp: "Questa tastiera non ha le lettere maiuscole..."
Back to top
View user's profile Send private message
bandreabis
Advocate
Advocate


Joined: 18 Feb 2005
Posts: 2089
Location: イタリアのロヂで

PostPosted: Thu Aug 10, 2006 10:57 pm    Post subject: Reply with quote

Niente, non riesco nè con uno nè con l'altro.
Sono tornato a hotkeys ma ho i soliti problemi di unmute dopo riavvio, della lucina Mute che non si accende.

Andrea
Back to top
View user's profile Send private message
bandreabis
Advocate
Advocate


Joined: 18 Feb 2005
Posts: 2089
Location: イタリアのロヂで

PostPosted: Thu Aug 17, 2006 7:46 pm    Post subject: Reply with quote

Beh, ho usato hotkeys per associare i tasti a osdvol.py e funziona anche lui, ma non risolve il problema del riavvio con il muto attivo.

Andrea
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1412
Location: <ud|me|ts> - Italy

PostPosted: Thu Apr 12, 2007 4:32 pm    Post subject: Reply with quote

un altro problema è il tempo di permanenza dell'output di osd_cat sullo schermo, infatti avrete notato che premendo i tasti a distanza troppo brevi le scritte si sovrappongono.
una possibile soluzione potrebbe essere uccidere il demone osd_cat ad ogni premuta del tasto...così si potrebbe anche allungare i tempi di output sullo schermo, devo solo trovare il posto giusto dove metterlo nello script....
_________________
LP
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1412
Location: <ud|me|ts> - Italy

PostPosted: Sat Apr 14, 2007 10:31 am    Post subject: Reply with quote

alla fine, prendendo un pezzo di qua ed un pezzo di la, ho creato il mio script per gestire il volume con i tasti Fn e l'acpid (acpi4asus), la guida dalla quale ho preso spunto è questa.
Ho creato i file degli eventi:
Code:
lucapost@jarod ~ $ cat ~/.asus_acpi/events/mute
event=hotkey.*32[[:space:]].*
action=~/.asus_acpi/volume state

Code:
lucapost@jarod ~ $ cat ~/.asus_acpi/events/volup
event=hotkey.*30[[:space:]].*
action=~/.asus_acpi/volume +

Code:
lucapost@jarod ~ $ cat ~/.asus_acpi/events/voldowm
event=hotkey.*31[[:space:]].*
action=~/.asus_acpi/volume -

e lo script ~/.asus_acpi/volume :
Code:
#!/bin/sh
PERC=`amixer get PCM | tail -1 | cut -d'[' -f2 | cut -d']' -f1 |sed s/'%'//`
XOSDOPT="--font=-misc-*-bold-*-*-*-26-*-*-*-*-*-*-* --pos=bottom --align=center --color=green --delay=1"

killall osd_cat &> /dev/null

if [ "$1" = "state" ] ; then

   amixer -q set Headphone toggle

else

   amixer set PCM 1%$1
   osd_cat $XOSDOPT -b percentage -T "VOLUME ${PERC}%" -P ${PERC} &

fi



Lampeggia un pò troppo veloce, ma risolve quello che secondo me è il problema dei tempi morti.
Come posso evitare questo lampeggiamento dovuto al kill di osd_cat? mi piacerebbe ottenere un effetto della gestione del volume come quello dell'osd di mplayer senza lampeggi....qualcumo sa aiutarmi?

/edit: l'ho semplificato un po! 8)
_________________
LP
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum