omriharel / deej

Set app volumes with real sliders! deej is an Arduino & Go project to let you build your own hardware mixer for Windows and Linux

Home Page:https://deej.rocks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add support for Discord and other hotkey apps

GetLifty opened this issue · comments

I recently built a deej and love it. However, it cant mute my mic, only change the volume up and down (kinda muting but not really). I was wondering if your able to add support for deej to emulate a keyboard button press when you press a button. This would allow you to set up hotkeys in apps such as Discord and have the deej press that key for you when you hit a button, effectively creating an irl mute button.

Hi Liftkid,
I built my deej over a year back and added some buttons to my board as well. I handle muting by simply overriding the slider input level with a 0-value and by pressing the button again I continue to read out the slider value. This is especially helpful with apps like zoom or spotify which don't support background hotkeys.
AFAIK buttons are not part of the main branch of deej but I hope this helps anyway.
Cheers

Thats not a bad idea! Fudging the code to make it effectively mute is quite smart. Only problem is, I would have to make a "ghost" slider to apply that solution (I dont have a dedicated slider for my microphone). Perfect solution for your setup though!

Hey @LiftKid, thanks for writing. Some form of button support is planned for deej in the future, but I can't go into specific implementation details yet - there is a lot that needs to be done before that.

In the meantime, there should be plenty of build examples that add their own support for extra buttons either by using an HID-compatible board (and having it act as both a keyboard and a deej at the same time, as serial output can coexist with HID). I recommend to seek out those examples in our community showcase as well as the project's Discord server :)

Like @ichderzwerg pointed out, adding a simple switch on one of your board's digital pins and having it emulate an additional "slider" at the serial protocol level (that's always at either 0 or 1023) will allow you to use it as an effective mic killswitch. Please keep in mind that some microphones/sound cards aren't great at obeying the Windows input levels API, so you should test by binding your mic to a slider first and making sure that it actually doesn't pick up sound.

(I'll also close this issue because it represents a very specific aspect of supporting buttons, and my plans in that regard are still a work in progress - that being said please feel free to reach out if you have any more questions!)