lenyomot billentyű keycode-jának megszerzése bash-ban

Hali.

Már egy ideje böngészem a google-t, de eddig nem igazán sikerült megoldást találnom arra hogy bashban hogy tudom lekérdezni az éppen lenyomott billentyű raw vagy akármijen keycode-ját. Egyáltalán bash-ban ez lehetséges ?

Hozzászólások

while read -n1 i; do printf ": %d\n" "'$i"; done

amit kicca mondott avval az baj hogy az enter és a space-t nem tudom így megkülönböztetni meg ja ez ascii. xev-et nem szívesen használok mivel úgy szeretném megoldani hogy ne keljen X alapú cucc hozzá. showkey-t megnézem köszi a tippet :)

Igazából bash-t tanulom önszorgalomból, kernel compile-hoz írok egy kis scriptet, most épp avval vagyok elhavazva hogy tudnék egy számlálót írni amit meg tudok szakítani közben billentyűzetről.
Most per pill itt tartok:
while [ "$SECONDS" -le 10 ]; do
if [ "$SECONDS" -eq 1 ]; then
break
fi;
echo -e "Press [c] to continue...$SECONDS"
echo -n -e "\033[1A"
sleep 1
read -n1 -s _key
if "$_key" = "c"; then
break
fi;
done

és sehogy se jó mert a sleep miatt gondok vannak, ha while-ba a keyboard figyelést rakom akkor se jó szóval valami mást kell kitalálnom a sleep helyett.

GNU Bash Manual

SECONDS
This variable expands to the number of seconds since the shell was started. Assignment to this variable resets the count to the value assigned, and the expanded value becomes the value assigned plus the number of seconds since the assignment.

Szóval ezt a változónevet ne használd! (KSH-ban is van ilyen)

--
A gyors gondolat többet ér, mint a gyors mozdulat.

na megoldottam :)

secs=1
while :
do
echo -e "Press [c] to continue... $secs"
echo -n -e "\033[1A"
secs=$[secs+1]
read -n1 -s -t1 _key
if test "$_key" = "c" -o $secs -gt 10; then
echo -n -e "\033[1B"
break
fi
done

f0xhu köszi, ezt nem tudtam néztem is egyszer hogy hogy tökömbe számol még mindig mikor nincs is megadva a változó :)