lunedì 4 dicembre 2017

Keybind Audio Function Key Sony Vaio VGN-FS515B, Linux Lubuntu LXDE

Sto installando e configurando Linux Lubuntu sul laptop di mio suocero.
Il laptop è un Sony Vaio VGN-FS515B.

Al momento dell'installazione non ho avuto problemi di sorta.

Quando ho voluto configurare i tasti funzione al controllo del volume ho scoperto che, anche cambiando il comportamento degli stessi da BIOS il sistema non riceveva alcun input, ho provato a visualizzare gli input usando

    xev

ma nulla, le combinazioni di tasti Fn+[tastofunzione] non producono alcun output.

Ho deciso quindi di mappare queste funzioni al tasto Windows.
E' possibile rimappare i tasti di Openbox modificando il file di configurazione ~/.config/openbox/lubuntu-rc.xml.


Basterà quindi aprire il file con il nostro editor di testo preferito

    nano ~/.config/openbox/lubuntu-rc.xml

Cercare la stringa "Keybinding for Volume management"

E a questo punto inserire queste voci di configurazione:

    <keybind key="W-F2">
      <action name="Execute">
        <command>amixer -q sset Master toggle</command>
      </action>
    </keybind>
    <keybind key="W-F3">
      <action name="Execute">
        <command>amixer -q sset Master 3%- unmute</command>
      </action>
    </keybind>
    <keybind key="W-F4">
      <action name="Execute">
        <command>amixer -q sset Master 3%+ unmute</command>
      </action>
    </keybind>

    
Se anche a voi come a me una volta settato il volume a muto non è più possibile riabilitarlo provate a fare così, creaiamo e editiamo uno script di bash:

    touch audiotoggle; chmod 755 audiotoggle; nano audiotoggle

E impostiamo questa esecuzione condizionale, credo che i settaggi possano variare, dovete un po' sperimentare controllando quali canali alsa vengono spenti dal comando amixer sset Master toggle.

    #!/bin/bash
    if amixer sget Master | grep -q off; then
        amixer -q sset 'Speaker' unmute; amixer -q sset 'Bass Speaker' unmute; amixer -q sset Master unmute;
    else
        amixer -q sset 'Speaker' mute; amixer -q sset 'Bass Speaker' mute; amixer -q sset Master mute;
    fi


A questo punto, dopo aver testato il funzionamento dello script, basterà spostarlo in /usr/bin/

    mv audiotoggle /usr/bin/

Ed editare il keybind in modo tale che venga eseguito questo script

    <keybind key="W-F2">
      <action name="Execute">
        <command>audiotoggle</command>
      </action>
    </keybind>


Ciao!