Можно читать /dev/input/js0, с него считываются именно структура js_event,
описанная в /usr/include/linux/joystick.h,
но она содержит информацию только по одной из осей и запросить желаемую
нельзя, т.е. надо считывать до тех пор, пока не будут считаны все оси.
Преимущество этой стуктуры в том, что в среднем положении заведомо считывается 0.
Между готовностью к считыванию очередной информации в моём случае обычмо 8ms,
но может быть и во много раз больше, если ручка двигается.
События можно получать через poll или epoll, но при этом, если ручка отклонена,
сообщения идут непрерывно, что очень нежелательно.
Можно считывать сырые данные с /dev/hidraw1, преимущество то,
что за один раз считывается информация по всем осям, два байта на каждую.
Недостаток тот, что это некалиброванные данные, начинаются не с нуля,
в среднем положении они всё время считываются, т.е. готовы и при этом
немного колеблются вокруг некоего значения. События можно получать точно
так же с тем же неудобством, так что я предпочёл читать /dev/hidraw1
с удобной мне периодичностью.
Пётр.
Пётр.