# Teclado

Biblioteca: | Entrada/Saída
Introdução: | 2.2.0
Aparência: |

## Comportamento

Esse componente permitirá ao circuito ler o que for digitado no teclado - contanto que as teclas sejam representáveis no código ASCII de 7 bits. Depois de clicar no componente usando a ferramenta Testar (Poke), o usuário poderá digitar caracteres, que serão armazenados em um buffer. Sempre que necessário, o valor ASCII do caractere mais a esquerda no buffer será enviado para a saída mais à direita. Quando a entrada de clock for disparada, o caracteres mais à esquerda será suprimida do buffer e o caractere mais à esquerda será enviado para a saída da direita.

Os caracteres armazenáveis no buffer serão todos os caracteres ASCII imprimíveis, como o espaço, nova linha, backspace, e control-L. Além disso, as setas para a esquerda e a direita moverão o cursor dentro do buffer, e a tecla backspace apagará o caractere à direita do cursor (se houver).

O componente é assíncrono no sentido que quando o buffer estiver vazio e o usuário digitar um caractere, esse será enviado imediatamente para uma saída, sem esperar por um pulso de clock.

## Pinos

Na face oeste, marcada por um triângulo (entrada, com largura de 1 bit)
  Clock - quando for ativado, e enquanto o pino de leitura não for 0, o caractere mais à esquerda do buffer será excluído, e as saídas serão atualizadas para refletir novo status do buffer.
Na face sul, o pino mais à esquerda (entrada, com largura de 1 bit)
  Ativar Leitura - quando 1 (ou flutuante, ou erro), quando houver uma variação de borda do sinal de clock o caractere mais à esquerda do buffer será consumido. A entrada de clock será ignorada quando o Ativar Leitura for 0.
Na face sul, o segundo pino mais à esquerda (entrada, com largura de 1 bit)
  Limpar - se for 1, o buffer será esvaziado e não aceitará mais caracteres.
Na face sul, o segundo pino mais à direita (saída, com largura de 1 bit)
  Disponível - será 1 quando o buffer contiver pelo menos um caractere e será 0 quando o buffer estiver vazio.
Na face sul, o pino mais à direita (saída, com largura de 7 bits)
  Dados - código ASCII com 7-bits para o caractere mais à esquerda no buffer; ou 0, se o buffer estiver vazio.

## Atributos

Tamanho do Buffer
  O número de caracteres que o buffer poderá conter.
Gatillho
  Se o valor for Borda de Subida, então, quando o valor do clock variar de 0 para 1, o caractere mais à esquerda será consumido (quando ativado pela entrada Habilitar Leitura). Se for Borda de Descida, isso acontecerá quando o clock mudar de 1 para 0.

## Comportamento da ferramenta Testar

Ao pressionar o botão do mouse mudará o foco do teclado para esse componente, e um cursor na forma de barra vertical será exibido.

Cada caractere digitado será inserido no buffer, enquanto este não atingir a sua capacidade e o caractere for um daqueles aceitáveis pelo componente: os caracteres imprimíveis em código ASCII de 7 bits, como espaço, backspace, nova linha, e control-L. Além disso, o usuário poderá usar as setas para a esquerda e para a direita para alterar a posição do cursor no buffer, e o usuário poderá usar a tecla Delete para apagar o caractere no buffer (se houver) à direita do cursor.

## Comportamento da ferramenta Texto

Nenhum.

Voltar à Referência para bibliotecas