You'll want to use a combination of both a small deadzone and a sensitivity curve - without the curve it'll just suddenly jump around when you start moving. I like sinusoidal functions for this, but because they use floating point arithmetic it's a tad slower than some other polynomial methods. Most of the time the processor is idle anyway, so it wouldn't make a huge difference.
Can you be a bit more specific about your compile problem? C can be annoying with calculations, but it's normally not too hard to get it to cooperate.
I'm a bit tired and am starting to lose track of what I've said in what thread, so I'm not going to give any lectures tonight.
