Автор Тема: калибровка джойстика/геймпада  (Прочитано 1852 раз)

Оффлайн ogion76

  • alt linux team
  • ***
  • Сообщений: 83
  • #290653
    • www.ogion76.name
    • Email
День добрый!

Есть геймпад Logitech F310, branch/p8, KDE5.

В настройках KDE5 можно провести калибровку данного геймпада. Но при перезагрузке системы (да и наверно при переподключении самого геймпада) настройки сбрасываются, и каждый раз приходится его заново калибровать. Это несколько неудобно.

Есть ли способ сохранить калибровку для джойстика/геймпада, чтобы она автоматически применялась при подключении/перезагрузке?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 002
    • Домашняя страница
    • Email
Re: калибровка джойстика/геймпада
« Ответ #1 : 04.01.2018 09:22:25 »
Прописать в конфигурации Xorg вручную.
Андрей Черепанов (cas@)

Оффлайн ogion76

  • alt linux team
  • ***
  • Сообщений: 83
  • #290653
    • www.ogion76.name
    • Email
Re: калибровка джойстика/геймпада
« Ответ #2 : 04.01.2018 10:03:03 »
Прописать в конфигурации Xorg вручную.

Мне не совсем понятно, что там прописывать. Откуда брать значения?

Поиски гуглом в основном дают рецепты калибровки при помощи утилиты jscal, которой у нас нет. Точнее я нашёл её в autoimports в пакете linuxconsoletools.

После того, провёл калибровку, её можно считать при помощи jscal -p:

$ jscal -p /dev/input/js0
jscal -s 8,1,32767,128,128,16320,16448,1,-2,-129,-129,-16320,-16449,1,32767,0,0,-2147483648,2105312,1,-4534,128,128,16320,16448,1,-2,-129,-129,-16320,-16449,1,32767,0,0,-2147483648,2105312,1,0,0,0,536854528,536854528,1,0,0,0,-536854528,-536854528 /dev/input/js0

Ещё там есть утилиты jscal-store и jscal-restore, которые пишут/читают значения калибровки в/из /var/lib/joystick/joystick.state.

В мане к этим утилитам написано:

An appropriate rule can be set up with udev so that any stored calibration  settings  are  restored when  the  relevant device is connected. Some distributions (at least Debian, Ubuntu and Slackware) provide joystick packages which install such rules automatically.

Так что по идее можно написать правила для udev, чтобы они подхватывались при подключении геймпада.

Оффлайн ogion76

  • alt linux team
  • ***
  • Сообщений: 83
  • #290653
    • www.ogion76.name
    • Email
Re: калибровка джойстика/геймпада
« Ответ #3 : 04.01.2018 10:34:32 »
Положил в /etc/udev/rules.d файл 60-joystick.rules следующего содержания:

# Restore any stored calibration for the device
ACTION=="add", KERNEL=="js*", RUN+="/usr/bin/jscal-restore %E{DEVNAME}"

Содержимое взял из аналогичного файла из пакета joystick из debian (https://packages.debian.org/sid/joystick).

Теперь при подключении геймпада калибровка автоматически подхватывается. Саму калибровку я предварительно сохранил при помощи jscal-store.

В общем в таком виде у меня работает. Было бы неплохо передрать пакет joystick из debian. Там есть ещё какие-то правила, помимо выше упомянутого, но я в них не сильно разбираюсь, потому сам не возьмусь за адаптацию пакета для Сизифа.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 002
    • Домашняя страница
    • Email
Re: калибровка джойстика/геймпада
« Ответ #4 : 04.01.2018 13:34:18 »
Багу повешайте, пожалуйста.
Андрей Черепанов (cas@)

Оффлайн ogion76

  • alt linux team
  • ***
  • Сообщений: 83
  • #290653
    • www.ogion76.name
    • Email