shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Reconhecer teclar


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Reconhecer teclar
Date: Tue, 5 Nov 2002 14:07:17 -0300

O programinha abaixo serve como um exemplo para fazer o pretendido, mas vc
teria que ampliar o case e colocar a leitura dentro de um loop, já que este
"bacalho" só lê um caractere de cada vez (para ler um caractere de cada vez
no bash pode ser com read -n1).

Este exemplo só identifica as setas. CTRL+A como vc pediu, gera o octal \01.
Basta colocá-lo no case.

a=
getc ()
{
stty raw
eval $1="`dd bs=3 count=1 2>/dev/null | tr '\015' '\012'`"
stty cooked
}

getc a
case `echo "$a" | tr '\033' '\['` in
    [[A) echo cima ;;
    [[B) echo baixo ;;
    [[C) echo direita ;;
    [[D) echo esquerda ;;
    *) echo nao eh seta ;;
esac

[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> -----Mensagem original-----
> De: address@hidden [mailto:address@hidden]
> Enviada em: terça-feira, 5 de novembro de 2002 11:15
> Para: address@hidden
> Assunto: [shell-script] Reconhecer teclar
> 
> 
> Olá!
> 
> Como faço para reconhecer o pressionamento de teclas?
> 
> Por exemplo um control+A.
> 
> []'s
> Alexander
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como perl, C etc. Quem insistir em não seguir 
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]