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 ?
- 1469 megtekintés
Hozzászólások
while read -n1 i; do printf ": %d\n" "'$i"; done
- A hozzászóláshoz be kell jelentkezni
köszi :)
- A hozzászóláshoz be kell jelentkezni
ez ascii kod, semmi koze a keycode-hoz.
- A hozzászóláshoz be kell jelentkezni
xev lehet meg jo neked, az asszem is scancode-ot.
- A hozzászóláshoz be kell jelentkezni
Szia!
showkey ?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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ó :)
- A hozzászóláshoz be kell jelentkezni
na eddig így néz ki:
http://paste.debian.net/93191/
a showkeys-es ötlet jónak tűnik bár még nem raktam bele.
- A hozzászóláshoz be kell jelentkezni