Ok, here's snippets of my code:-
In my initialization routine I have...
MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS, AXIS_NORMAL,MAP_ABSOLUTE);
fnSetSliderCurve(1);
...my fnSetSliderCurve() routine...
int fnSetSliderCurve(int x) {
DXCurveSetting = x;
if (x == 0) {
SetSCurve(&Throttle, THR_FC, 0, 0, 0, 0, 0);
}
if (x == 1) {
SliderCurve = LIST(0,0, 40,25, 75,50, 85,75, 100,100);
SetCustomCurve(&Throttle, THR_FC, SliderCurve);
}
if (x == 2) {
SliderCurve = LIST(0,0, 50,10, 75,30, 90,50, 100,100);
SetCustomCurve(&Throttle, THR_FC, SliderCurve);
}
}
I detect within the game (Elite Dangerous) when the flight mode changes then call fnSetSliderCurve() parsing the appropriate value (0, 1 or 2).
These flight modes (for some inexplicable reason) use different scales for the HUD Radar.
The above three modes approximate what's required as far as , when the slider is in the middle detent position, the radar range scale in game is also in the middle.
Like I said, this works well with the only exception being that the new curve doesn't kick in until I move the slider.
Thanks for the reply and the reference to what you've written at SimHQ.
I will give these a read and try to get my head around it.
Many thanks
DMonds