The Solution
Read on for a bit of explanation...
TRS and TRRS Jacks
I'm afraid you won't be able to fix the problem by software. There are two types of jacks:
- Those headsets have a three-way jack, with a tip, two rings and a sleeve (left, right and microphone plus a ground - middle in the image). Those are called TRRS.
- Standard headphones uses only two channels, i.e. tip and ring (for stereo, left in the image), the sleeve is used for ground. They're called TRS.

The Problem
The thing is: Your phone will fit the jack. Your laptop however probably won't – it could be that one of the stereo rings doesn't match the laptop's output jack perfectly. The laptop will only have two internal connectors (for stereo), whereas the jack has three. The stereo ones will have to overlap exactly. This is why you have to pull out the jack a little in order to get it working. In the image you can see that this is a matter of millimeters.
From Wikipedia:
TRRS plugs do not work properly with a TRS stereo jack if the ground contact in the jack connects to the microphone contact on the plug
Pressing the talk button may short-circuit something so that you achieve the same effect as pulling the jack out.
The TRRS 3,5mm jacks have 2 different types of connections. The industry standard and the Apple version. from the tip of the jack on industry standard, the connections are left,right,mic,gnd. On Apple this is changed to left,right,gnd,mic.
On a 3 pin TRS connector it should not make any difference, since the last 2 will be shorted to gnd, however where there will be a difference is when you are using the Apple to Standard, the ground will be lifted and connected through the mic, so the vocals (normally) will be muted/distant.