From linear to exponential PWM output

Ok Paco, tnx for the brief education. I looked up slot car response curves and found a site that graphically presents what I think you describe.
http://www.jaygeeracing.com/SOFTouch_Trigger_Response.html

To implement that you need just two parameters to fill your lookup table. No dead zone; the curve takes care of that.

parameter 1 - Base level bias - The voltage percentage you want to have even at trigger level 0. (their softtouch gets as high as 40)
parameter 2 - Curvature - How much you want to curve the response, to give you increased control meaning low trigger sensitivity at low trigger levels, with the reverse at high trigger levels.

Whenever the user changes either of these parameters you calculate a new lookup table:
(Assume user sets Bias to be 0-255 and Curvature to be 0-255 (let max 255 mean a MaxGamma of 4)

float gamma = Curvature * (MaxGamma - 1.0) / 255.0 + 1.0;
for (i=0; i<256; i++)
table = (int) ( 0.5 + Bias + pow(i/255.0, gamma) * (255.0 - Bias));
When Curvature is 0, you get no curvature. When it is 255 you get the max curvature of 4.
To see the curve part, consider gamma to be 2.
Your table value for 50% would be the value for 1/2 squared (2nd power), or a value for 1/4 or 25%.
The actual table value is the bias value plus 1/4 of the remaining way from the bias to full.
Say the bias is 75. (table[0] = 75 ....)
table[127] is the value you want for a halfway trigger push.
That comes to 75 + 1/4 * 180.
So table[127] = 120
Is this what you are looking for?