Джойстик должен в системе и в играх определяться как джойстик.
Я делал из клавиатуры — неудобно. Пришлось выносить Enter и Escape для управления игрой, да и не каждая игра умеет «настраиваться» под те кнопки, которые вы вынесете на джойстики.
А простейший джой можно собрать на LPT или USB-LPT — минимум обвязки и всё работает.