Você precisa obter grep
para exibir o texto correspondente, e parar após uma correspondência. Você também precisa filtrar eventos um pouco mais detalhadamente, já que você está interessado apenas em eventos do tipo 1 (botões):
jstest --event /dev/input/js0 | grep -m 1 "type 1, time .*, number .*, value 1"
Isso manterá jstest
em execução até que você pressione um botão e, em seguida, exiba as informações do evento. Você pode processar isso usando read
para encontrar o número do botão que foi pressionado:
jstest --event /dev/input/js0 | grep -m 1 "type 1, time .*, number .*, value 1" | read _ _ _ _ _ _ number _ _
if [ "${number%%,*}" -eq 0 ]
then
echo "You pressed the A button."
else
echo "You pressed a button other than A."
fi