Настройка звука в FreeBSD

# uname -or
FreeBSD 11.0-RELEASE-p9

Для настройки управления громкостью с USB-клавитуры необходимо:

# usbhidctl -f /dev/uhid0 -l -a
Generic_Desktop:System_Control.Generic_Desktop:System_Power_Down=0
Generic_Desktop:System_Control.Generic_Desktop:System_Sleep=0
Generic_Desktop:System_Control.Generic_Desktop:System_Wake_Up=0

Consumer:Consumer_Control.Consumer:AL_Email_Reader=0
Consumer:Consumer_Control.Consumer:AC_Home=0
Consumer:Consumer_Control.Consumer:AC_Bookmarks=0
Consumer:Consumer_Control.Consumer:AC_Search=0
Consumer:Consumer_Control.Consumer:AC_Refresh=0
Consumer:Consumer_Control.Consumer:AC_Stop=0
Consumer:Consumer_Control.Consumer:AC_Forward=0
Consumer:Consumer_Control.Consumer:AC_Back=0
Consumer:Consumer_Control.Consumer:AL_Consumer_Control_Configuration=0
Consumer:Consumer_Control.Consumer:Play/Pause=0
Consumer:Consumer_Control.Consumer:Stop=0
Consumer:Consumer_Control.Consumer:Scan_Previous_Track=0
Consumer:Consumer_Control.Consumer:Scan_Next_Track=0
Consumer:Consumer_Control.Consumer:Volume_Increment=0
Consumer:Consumer_Control.Consumer:Volume_Decrement=0
Consumer:Consumer_Control.Consumer:Mute=0
Consumer:Consumer_Control.Consumer:AL_Local_Machine_Browser=0
Consumer:Consumer_Control.Consumer:AL_Calculator=0
Consumer:Consumer_Control.Consumer:AL_Internet_Browser=0
Consumer:Consumer_Control.Consumer:AL_Terminal_Lock/Screensaver=0
Consumer:Consumer_Control.Consumer:Record=0
Consumer:Consumer_Control.Consumer:Rewind=0
Consumer:Consumer_Control.Consumer:AC_Minimize=0
Consumer:Consumer_Control.Consumer:Eject=0

При нажатии на клавиши клавиатуры отвечающие за громкость, соответсвующие значения меняются на 1

Consumer:Consumer_Control.Consumer:Volume_Increment=0
Consumer:Consumer_Control.Consumer:Volume_Decrement=1
Consumer:Consumer_Control.Consumer:Mute=0

Создаём файл /etc/usbhidaction.conf следующего содержания:

# cat /etc/usbhidaction.conf 
Consumer:Volume_Increment       1 0 mixer vol +5
Consumer:Volume_Decrement       1 0 mixer vol -5
Consumer:Mute                   1 0 mixer vol 0

При изменении значения Consumer:Volume_Increment с 0=>1 выполняется команда mixer vol +5, при Consumer:Volume_Decrement 0=>1 выполняется mixer vol -5 и т.д.

Далее необходимо запустить

/usr/bin/usbhidaction -f /dev/uhid0 -c /etc/usbhidaction.conf

и/или добавить его в автозагрузку

# cat /usr/local/etc/devd/mixer.conf 
attach 100 {
        device-name "uhid[0-9]+";                                                           
        action "/usr/bin/usbhidaction -f $device-name -c /etc/usbhidaction.conf";
};

# /etc/rc.d/devd restart
This entry was posted in FreeBSD, Multimedia and tagged . Bookmark the permalink.

Leave a Reply