Cześć ;)

Robię prostą nakładkę na program konsolowy, która obsłuży dodatkowo kilka klawiszy, ale może po kolei:

while read -r line
do
	echo -e "$line"
	# dodatkowa interpretacja danych z aplikacji
	if [[ "$line" =~ $regex ]]; then
		# ...
	fi
done < <(apka )

Apka cyklicznie wyświetla dane(linijka na 0.2s) w postaci tabelki, powyższy kod umożliwia dodatkową interpretację wyników, chciałbym dodać do tego jeszcze obsługę kilku klawiszy, takich których nie ma zdefiniowana aplikacja

Pomyślałem żeby dodać do pętli polecenie read, dzięki któremu sprawdzę jaki klawisz został wciśnięty i napiszę dodatkową interpretację:

while read -r line
do
#	echo -e "$line" # żeby nie syfić ekranu
	# dodatkowa interpretacja danych z aplikacji
	if [[ "$line" =~ $regex ]]; then
		# ...
	fi
	read -n1 -t0.1 action
	echo "KEY: $action"
	# jakby 'read' działał, poniżej byłby jakiś case
	# ...
	# ..
	# .
done < <(apka )

Niestety pojawia się konflikt dla strumienia stdin dla aplikacji i skryptu, raz jeden, a raz drugi łapie wciśnięty znak.

Jak zrobić, aby skrypt oraz aplikacja widziały co wciska się w konsoli?
Jakiś tee dla stdin?