Как получить имя джойстика в контексте оболочки / bash?

При запуске из терминала я набираю:

jstest /dev/input/js1 | grep '^Joystick'

и получаю имя.

Но cmd jstest является интерактивным и требует Ctrl + c чтобы закончить.

Как получить такой результат в сценарии оболочки?


xinput -list не перечисляет мои usb-джойстики. Я мог бы использовать lsusb : он возвращает имена, но не позицию js.

Предположим, у меня есть 2 джойстика (но я не знаю, в каких позициях они находятся) и хочу их откалибровать. Моя цель:

if (name("/dev/input/js0")=="Thrustmaster") then
    jscal -s <Thrustmaster params> /dev/input/js0
    jscal -s <FooJs params> /dev/input/js1
elif (name("/dev/input/js0")=="FooJs") then
    jscal -s <FooJs params> /dev/input/js0
    jscal -s <Thrustmaster params> /dev/input/js1
fi
1
задан 2 August 2020 в 20:07

1 ответ

From jstest manpage:

   These program follows the usual GNU command line syntax, with long options
   starting with two dashes (`-').

   -h, --help
          Display help information and exit

   -v, --version
          Display version information and exit

There is no option to simply display the name of your joystick and exit. Instead try using:

xinput -list

This will display all your devices including joystick, mouse and keyboard. To narrow it down use:

xinput -list | grep -i joystick
-1
ответ дан 2 August 2020 в 21:58

Другие вопросы по тегам:

Похожие вопросы: