EP-USP / PCS
Dispositivos de Entrada de
Dados
◆
Newman, W. M.; Sproull, R. F.
Principles of Interactive
Computer graphics. Cap. 11-13.
◆
Draft International Standard
ISO/DIS 7942 - Information
Processing Graphical Kernel
System (GKS) - Functional
Description (4.8)
◆
Foley et al. Computer Graphics:
Principles and Practice. Cap. 2, 4)
Modelo de sistema gráfico
interativo
Aplicativo Siste-ma Grá-fico Bancos de Dados Saída Entrada?
A entrada de dados gráficos é feita através de um modelo, onde os dispositivos grá-ficos estão agrupados em classes que se diferenciam de acordo com o tipo dos da-dos retornada-dos por estes dispositivos.
EP-USP / PCS
Dispositivos “lógicos” de
entrada
Existem seis classes de dispositivos lógicos:
◆ 1) Teclado (“keyboard”) - texto e teclas especiais (caracter ou cadeia)
◆ 2) Botões (“buttons”) - número(ID) do botão (número do botão)
◆ 3) Selecionador (“Picking device”) - quem é o elemento escolhido (identificação do elemento)
◆ 4) Posicionador (“Locator”) - Posição 2D ou 3D (x, y, z)
◆ 5) "STROKE"- Coleção de posições (x, y, z) -> {xi,yi,zi}
◆ 6) Quantificador ( Valuator) - valor escalar (real ou inteiro)
Classes de Dispositivos
lógicos
◆ Para cada classe lógica, há um representante físico:
LÓGICO
FÍSICO
Keyboard Teclado alfanumérico Button (choise) Teclado de funções Pick “Light pen’ Valuator Potenciômetro Locator Mesa Digitalizadora
físi-EP-USP / PCS
“LOCATORS” - Dispositivos
de posicionamento
◆
A informação de posição é obtida
por :
• Pedido do computador - “request” • Amostragem a cada "t" unidades de
tempo ----> “sample”
• A cada alternação de posição numa vizinhança “d”
• associada com um evento (de en-trada)
◆ 1) Tablet
• A caneta tem um botão que ao ser pressionado indica a posição cor-reta. (Fig. cap. 4.6)
“LOCATORS” - Dispositivos
de posicionamento
• Parâmetros de Comparação: – Resolução – Linearidade – TamanhoEx:48x72 pol, com 200 pontos/pol 2) Joystick
• Possui potenciômetros associados que detectam o movimento; não permite grande acuidade de posicionamento; pode ser usado para 3D se houver um terceiro movimento permitido (rotação).
EP-USP / PCS
“LOCATORS” - Dispositivos
de posicionamento
◆ 3) Mouse
• Caixa plástica com rodas na base; há sensores conectados às rodas que detectam o movimento em duas direções ortogonais; o mouse mede o movimento relativo, e sua posição corrente deve ser conhecida; existem botões associados; tem a vantagem de ser barato.
◆ 4) Trackball
• semelhante ao “joystick”
• a posição de uso é confortável para o operador
“LOCATORS” - Dispositivos de
posicionamento
◆ 5) Painel de toque
• usam sensores de vários tipos:
– Baixa resolução (10 a 50 posições) --->usam diodos emissores e fotodiodos ou fototransitores – Alta resolução (500 posições)
----> sonar, trens de ondas de alta freqüência atravessam o painel nas direções horizontal e vertical e são parcialmente refletidos
EP-USP / PCS
“PICKING DEVICES”
(Dispositivos de escolha)
◆ a saída da caneta ótica (“light pen”) está conectada ao DPU; a DPU é informada quando a “light pen” vê a luz
◆ “Light pens” causam interrupções do DPU ao serem acionadas (Flip Flop set)
◆ hoje em dia, praticamente não se usam mais “light pens”; são simuladas através do mouse, ou de outro dispositivo de localização qualquer.
“VALUATORS”
◆ São visualmente potenciômetros rotató-rios ou deslizantes.
◆ São montados usualmente em grupos de 8 ou 10 potenciômetros.
EP-USP / PCS
Tratamento do Programa
interativo
◆ Dificuldades na implementação das funções interativas
• Grande variedade de técnicas e funções
• Tratamento diferente para cada dispositivo de entrada.
– Limitações – Atrativos
• Natureza do programa interativo é imprevisível
– Computação convencional ----> força-se a próxima entrada – Computação interativa ---> o
usuário decide o que fazer em seguida
• O usuário comete erros
◆ Programa deve ser amigável e fácil de usar ---> (ver fatores humanos na página 41)
Considerações sobre os fatores
humanos
◆ O sucesso/fracasso de um programa depende em muito das facilidades de uso do mesmo
◆ ASPECTOS A CONSIDERAR:
• sequências de interação simples e consistentes
• Não permitir ao usuário opções de comunicação muito diferentes umas das outras (pode causar confusão)
• Fornecer auxílio ao usuário novato em cada estágio da interação (mas permitir que tal auxílio seja dispen-sado, caso não seja necessário ----> “help”)
EP-USP / PCS
<Comandos>
Modelos usados para a
entrada de dados
◆ “Polling” ou varredura
◆ Uso de interrupções (eventos)
◆ Sistema multi-tarefas <Comandos>::= Set_input_mode / set_attribute/ wait_event <Sample>::= sample_device <Get>::= Get_device Modelo Padrão Aplicativo <Sample> geren-ciador de dis- positi-vo GET ... Event-queue
1) “POLLING”
◆ Exemplo de HW: ◆ Tablet - 3 registradores:• FF de status (da chave associada) • X e Y CPU registradores de interface dispositivos de entrada Status Dado interface CPU / IO KB
EP-USP / PCS
“POLLING”
◆ “Polling” com teclado e Tablet
KB status ON? Tablet SW mudou? Tablet (X,Y) alterados? FC status ON? .Limpe KB atatus .Trate o caracter .Limpe o bit de estado .Trate o botão .Leia X e Y .Salve-as .Processe X e Y .Limpe status .Processe o botão sim sim sim sim não não não não
“Wait for event” (associado ao relógio) ---> 1/60 s
◆ Clock---->1/50, 1/60 s ----> processo de verificação regular dos dispositivos
◆ Duração da tarefa varia de acordo com o tratamento que é dado
Interrupções
◆ Ferramentas de Hardware
◆ Tarefas com prioridades diferentes Polling Task
Main Program
EP-USP / PCS
3)Sistema Multi-tarefas
Clock Botões Keyboard Tablet SW Polling MAIN“Polling task” conjugada com interrupção de relógio
Fila de Eventos
◆ 'EVENT QUEUE' ou fila de eventos é o mecanismo pelo qual se passam o dados dos dispositivos de entrada para o programa principal, na ordem correta (ordem de ocorrência)
◆ QUEUE - lista de blocos, onde cada bloco representa uma ação do usuário
• Tamanho deve ser conveniente para não perder eventos - “overflow” • “Overflow” - bit indicador, deve
haver “feedback” para informar o usuário desta ocorrência.
• Não deve haver acesso simultâneo por 2 tarefas à fila de eventos -inconsistência de dados (mecanismo de proteção)
◆ a informação é do tipo : Disp. Informação
EP-USP / PCS
Entrada Gráfica (GKS)
(TAMBÉM PHIGS)◆ WS com mínima capacidade
• um dispositivo lógico de cada classe
◆ Modo de operação dos dispositivos • Amostragem (“Sample”) • Eventos (“Event”) • Pedidos (“Request”)
– dado – “break”
◆ Disparo (“Trigger”) - um dispositivo físico que o operador usa para indicar instantes de tempo significativos
◆ Medida (“Measure”) - um valor associa-do com um dispositivo lógico, o qual é determinado por um ou mais disposi-tivos físicos e por um mapeamento feito a partir dos valores lidos neles
Modelo Lógico de Entrada Medida disparo valor inicial
“prompt” + tipo do eco área do eco
registro de dados
SRGP
◆ Apresenta dois dispositivos lógicos: • Teclado, recebe cadeias em dois
modos:
– EDIT - reconhece linhas, encer-radas por ENTER
– RAW- reconhece cada caracter • Posicionador (MOUSE) - Lê
coorde-nadas da tela (point), e botões (“choice button “) associados
◆ Outros pacotes • X-windows • Quickdraw
◆ Manipulação numa forma mais próxima do dispositivo: