Линейность у фотодиода в некотором диапазоне очень даже хорошая. Есть программы, которые позволяют настраивать зависимости у джойстика. Да и у резистивного джойстика тоже должна быть нелинейность.
Есть "аппаратный способ" избавления от нелинейности в джойстиках на мышиных оптопарах. Суть в том, что свето- и фотодиоды располагаются неподвижно, а световой поток регулирует непрозрачная подвижная шторка с особым градиентом. Я так не делал, т.к. слишком это трудно.
Трудность изготовления еще и в том, что даже незначительный свет влияет на устройство, а в полной темноте особо не поэкспирементируешь...
PS. Как в сообщение включить картинку, которая у меня в компьютере на винте?