Pular para o conteúdo

Script para interagir com as teclas do teclado [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02

13. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:01h

Tem como fazer um metodo horrivel , mas compara com todos os caracteres "imprimiveis"


#!/bin/bash

# Põe o terminal em modo especial de interpretação
stty -echo -icanon min 0

# Lê a tecla pressionada
read -s -r -n1 tecla

# Converte a string para seu valor ASCII
tecla=$(printf %d \'$tecla)

if [ $tecla -ge 32 ] && [ $tecla -le 126 ];then
echo "Estou entre o caractere 'ESPACO' e o caractere '~'"
fi

# Restaura o terminal
stty sane

Responder tópico

14. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:01h

Thihup escreveu:

Amigo , viu minha ultima "resposta" ?

Com 3 if/elif vc consegue verificar se é um numero , se é maiuscula ou é minuscula.
Fiz os seguintes testes:


beowulf@beowulf:~/Documentos/SHELL SCRIPT$ echo "testes"
testes
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre a letra 'a' e a letra 'z'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre o numero '0' e o numero '9'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Sou um caractere especial =D
Está muito bom seu script, mas tem como saber a tecla exata?

15. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:07h

passosfil escreveu:

Thihup escreveu:

Amigo , viu minha ultima "resposta" ?

Com 3 if/elif vc consegue verificar se é um numero , se é maiuscula ou é minuscula.
Fiz os seguintes testes:


beowulf@beowulf:~/Documentos/SHELL SCRIPT$ echo "testes"
testes
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre a letra 'a' e a letra 'z'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre o numero '0' e o numero '9'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Sou um caractere especial =D
Está muito bom seu script, mas tem como saber a tecla exata?


Ai tu me quebra as pernas , vai ter que usar if ou case p/ saber , mas posso tentar achar uma solução

[]'s

T+

16. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:16h

Thihup escreveu:

Amigo , viu minha ultima "resposta" ?

Com 3 if/elif vc consegue verificar se é um numero , se é maiuscula ou é minuscula.
Fiz os seguintes teste:


beowulf@beowulf:~/Documentos/SHELL SCRIPT$ echo "testes"
testes
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre a letra 'a' e a letra 'z'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre o numero '0' e o numero '9'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Sou um caractere especial =D
Usando esse mesmo raciocínio tem como saber uma tecla pressionada exatamente?


17. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:17h

Thihup escreveu:

passosfil escreveu:

Thihup escreveu:

Amigo , viu minha ultima "resposta" ?

Com 3 if/elif vc consegue verificar se é um numero , se é maiuscula ou é minuscula.
Fiz os seguintes testes:


beowulf@beowulf:~/Documentos/SHELL SCRIPT$ echo "testes"
testes
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre a letra 'a' e a letra 'z'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Estou entre o numero '0' e o numero '9'
beowulf@beowulf:~/Documentos/SHELL SCRIPT$ ./captura_tecla2.sh
Sou um caractere especial =D
Está muito bom seu script, mas tem como saber a tecla exata?


Ai tu me quebra as pernas , vai ter que usar if ou case p/ saber , mas posso tentar achar uma solução

[]'s

T+


Blz! Muito grato por sua contribuição!

18. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 18/12/2014 - 19:32h


#!/bin/bash

# Põe o terminal em modo especial de interpretação
stty -echo -icanon min 0

# Lê a tecla pressionada
read -s -r -n1 tecla

# Converte a string para seu valor ASCII
tecla=$(printf %d \'$tecla)

# Se for "maior ou igual" a tecla 'a' minuscula e for "menor ou igual" a tecla 'z' minuscula
if [ $tecla -ge 97 ] && [ $tecla -le 122 ];then
echo "Estou entre a letra 'a' e a letra 'z'"
letra=$(printf %c \'$tecla)
echo "A letra é $letra"

# Se for "maior ou igual" a tecla 'A' maiuscula e for "menor ou igual" a tecla 'Z' maiuscula
elif [ $tecla -ge 65 ] && [ $tecla -le 90 ];then
echo "Estou entre a letra 'A' e a letra 'Z'"
letra=$(printf %c \'$tecla)
echo "A letra é $letra"

# Se for "maior ou igual" ao numero '0' e for "menor ou igual" ao numero '9'
elif [ $tecla -ge 48 ] && [ $tecla -le 57 ];then
echo "Estou entre o numero '0' e o numero '9'"
# Tecnicamente "sou" o caractere ( por exemplo , o 9 ) '9' e não o numero 9
letra=$(printf %c \'$tecla)
echo "A letra é $letra"

# Se não é um caractere especial
else
echo "Sou um caractere especial =D"
letra=$(printf %c \'$tecla)
echo "A letra é $letra"
fi

# Restaura o terminal
stty sane
Acho que é o mais proximo do que voce quer

Se quiser , pode continuar testando e se conseguir achar a resposta , compartilhe conosco =D

[]'s

T+

19. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 19/12/2014 - 11:25h

Não sei se já enviaram esta....



#!/bin/bash

function tecla_pressionada() {
read -n1 KEY
[ $KEY ]
}

# salva as configurações atuais do terminal
STTY=$(stty -g)

stty -icanon min 0 time 0 -echo

while [ 1 ]; do
if tecla_pressionada; then
echo " Tecla usada foi $KEY."

# Se usar a tecla q vai sair fora.
if [[ $KEY = "q" ]]; then
break
fi
fi
done

# restaura as configurações do terminal
stty $STTY

fonte: http://www.cesarbs.org/blog/2007/02/11/keypressed-e-readkey-em-bash/

Para saber várias teclas, é só gerar outra função que vai acumulando o que foi digitado no teclado passo a passo. Assim não vai dar pau quando algo não estiver definido...

20. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 19/12/2014 - 11:33h

AprendiNoLinux2 escreveu:

Não sei se já enviaram esta....



#!/bin/bash

function tecla_pressionada() {
read -n1 KEY
[ $KEY ]
}

# salva as configurações atuais do terminal
STTY=$(stty -g)

stty -icanon min 0 time 0 -echo

while [ 1 ]; do
if tecla_pressionada; then
echo " Tecla usada foi $KEY."

# Se usar a tecla q vai sair fora.
if [[ $KEY = "q" ]]; then
break
fi
fi
done

# restaura as configurações do terminal
stty $STTY



fonte: http://www.cesarbs.org/blog/2007/02/11/keypressed-e-readkey-em-bash/

Para saber várias teclas, é só gerar outra função que vai acumulando o que foi digitado no teclado passo a passo. Assim não vai dar pau quando algo não estiver definido...
Excelente! Era o que eu estava procurando!

21. Re: Script para interagir com as teclas do teclado [RESOLVIDO]

Enviado em 19/12/2014 - 19:35h

passosfil escreveu:
[
Excelente! Era o que eu estava procurando!
Que legal, isto fica feliz em ser útil rsrs.




01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder