Hey guys. I've been thinking for a couple of years about using different headsets with buttons on Android.
I have a Nokia AD-54 remote control, which I've modified by changing the GND with the MIC+ within the device by resoldering the wires to get the correct pinout in order to hear the sound correctly. The remote has a lot of buttons: Play/Pause, Stop, Next, Previous, Volume Up, Volume Down. I know that Android natively knows only the Previous, Next and Play button commands. I've been thinking about two options that might make any headset work with Android:
1) The most elegant is an app that acts like a multimeter to interpret the values of the resistance applied between MIC and GND pins and to allow us to assign different actions for various resistance values detected. I don't really know if this is possible, but maybe someone could do it.
2) The less elegant, but maybe an easier approach is to use the three resistances that Android knows how to work with (Play, Next, Previous) and to replace the resistors in the device with new ones of corresponding values. Then, for the other buttons, we could make further modifications so when a certain button is pressed, the resistance applied should stay on for a certain period of time (i.e. we add the Next resistance to the Volume Up button and we add another electronic component that converts a normal press into a longer one that we could assign a Volume Up action using Headset Button Controller from Google Play. Or simulate other actions, such as multiple times click, press and hold etc. My mind came across a NE555 electronic montage, but it won't fit the headset. Maybe someone could have a different idea.