При запуске из терминала я набираю:
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
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