Script para interagir com as teclas do teclado [RESOLVIDO]

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

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

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



  


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

Iago Lira
iagolira

(usa Debian)

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]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

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]

Iago Lira
iagolira

(usa Debian)

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]

Iago Lira
iagolira

(usa Debian)

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]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

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]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

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]

Iago Lira
iagolira

(usa Debian)

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]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts