Volume controls for sxhkd in FreeBSD 14.0
On FreeBSD 14.0, the syntax of
mixer(8) has changed, so it operates differently than in previous versions. To change volume...
mixer vol.mute=^
toggles mute. 1 or 0 can also be used
mixer vol.mute=1
can also be used to mute
mixer vol.mute=0
or the toggle command is needed to unmute
mixer vol=-.03
is a example for decreasing volume.
mixer vol=+.03
an example of increasing volume
This also relates to multimedia hotkeys. In my
~/.config/sxhkd/sxhkdrc for volume:
Code:
XF86Audio{Mute,LowerVolume,RaiseVolume}
mixer vol={0,-.03,+.03}
There's different benefits and disadvantages to using the various ways of muting. The newer way can toggle mute, while, it not showing up on the volume display of
osdmixer
.
Gamepads on FreeBSD
I do use the 8BitDo SN30 Pro - Weird and it works halfy with the base system stuff.
The controller map gets found correctly but button presses on stuff like the complete d-pad gets not regonized.
I have an 8BitDo controller of a different model, but it has the same basic layout. All keys were recognized with
x11/antimicro. While the visual layout on AntiMicro shows a Playstation style controller, the amount of keys and labels almost match the buttons and directional controls of the SNES style (with additional analog sticks) pad, and IIRC, other keys can be manually added. Antimicro is odd, that it doesn't use the device permissions set in either hgame/usbhid and or through
multimedia/webcamd. Antimicro can be used to configure for now and learn about, but it can't be the future default, the way it's configured, unless it's fixed to work without bypassing device permissions.
I ended up using
multimedia/webcamd for having full functionallity.
If the controller is booting with the system then webcamd and hgame is picking up both the controller which is not what you want.
When using it with webcamd disable loading of hgame or connect the controller after system boot.
If that's what you need to use.
There's a way to set it up full controls without Antimicro, that I saw, but it's too complicated to manually configure that. Not sure if Antimicro was working in conjunction with the hgame driver, as I believe I used Antimicro before these newer drivers were available. I used my 8bitdo controller on a video game before hgame came along.
I believe that in the future, it has to be hgame with the infrastructure FreeBSD comes with, taking improvements or parts from webcamd with lessons from Antimicro and have configurations worked out. hgame and webcamd have in common how device permissions are set.
webcamd came before the newer HID drivers entered FreeBSD, including the I2CHID drivers which were meant for everything except Apple hardware. Webcamd has been a solution to add BSD components around Linux drivers. Also, there's overlap of other drivers in Webcamd and of other newer components within FreeBSD. I believe Webcamd needs to work its parts around the FreeBSD drivers which now exist, and the parts it has replace Linux parts. Antimicro is a GNU/Linux solution, and it somehow bypasses permissions to drivers.
SCUMMVM and SDL have gamepad drivers, that either override the FreeBSD drivers, or work in conjunction with them.