Я давно переболел тем чем вы тут занимаетесь...
Но вот на столе скопились железяки - подкину вам идею.
В наличии самый простой контроллер USB-джостика и энкодеры двуразрядные, т.е. в зависимости от направления вращения на выходах энкодеров двухбитное число от 0 до 3 - самые распостраненные и простые.

Выходы энкодеров прикручиваем к кнопкам джостика, на каждый энкодер по две кнопки - по числу выходов.

Прога пишется за 5 минут. Вот они - удобные крутилки. Функции какие хотите вешайте. + остальные кнопки джоя и оси.