Control Macs volume with headphones I have the Bose Quitcomfort 25 headphones for Android and on it there are 3 buttons (volume up, down and play pause toggle).

I was able to get the Play Pause toggle up and running by installing BeardedSpice

Now I'm wondering is there any way to get the headphones volume up / down buttons working on my Mac?
The problem here lies in the fact that there are "Apple" compatible headsets and "Android" compatible ones.  The reason is because of the TRRS (tip, ring, ring, sleeve) connector at the end of your headset.  See the photos below:



If you notice, the Mic and Ground connectors are swapped.  While your microphone works because microphones don't care about polarity, the switches (volume up/down) won't work because it will be connecting to the "mic" conductor and not the "ground."

The way the volume up/down buttons work is that one of the signals is shorted to ground  So, for instance using the "Android" (OMTP) pinout, if you press "Vol Up" then pin A and pin D is shorted.  But, on an "Apple" product, pin D is the Mic and nothing happens.  This is obviously really simplified.   In actuality, there is most likely a change in resistance different that what is already there from the left/right speaker or mic.



Notice the switches.  Let's use SW3 (FF/Next) as an example.  When SW3 is open, the microphone is connected and completes the circuit (green trace).  When SW3 is closed (as in pressed), it shorts the circuit before getting to the microphone bypassing it, it goes through a 600ohm resistance and completes the circuit at ground (yellow trace).  The phone then sees the 600ohm resistance as a signal to "skip" passes that to iOS and iOS skips to the next song.

The same happens vol up/down, I just don't have the schematic for those.  If you use an adapter that has the ground in a different place, the circuit will never get completed thus the signal never gets to the phone.

There is no software that's going to fix this because to get a signal to the hardware so that OS X can "sense" it, something must be shorted to ground.  Shorting to mic does nothing so the system can't see it.

This is why this is not an Apple issue, but an Android one.