Compartilhar via


Touch Screen Driver Development Concepts

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

O driver Tela toque lê entrada do usuário de tocar hardware Tela e a converte para tocar eventos que são enviados para os elementos gráficos, janela e eventos Subsystem (GWES). O driver também converte coordenadas uncalibrated para coordenadas calibrated. Coordenadas calibrated compensar qualquer anomalias hardware, como seqüências distorção ou não-lineares.

Para o driver Tela toque para trabalho corretamente ele deve enviar pontos enquanto finger do usuário ou caneta está tocando a Tela sensível ao toque. Ao FINGER ou caneta do usuário é removida a Tela, o driver deve enviar at least um evento final indicando que FINGER ou caneta dica do usuário foi removida. As coordenadas calibrated devem ser relatadas o um-quarto mais próximo de um pixel.

A seguinte etapas detalhes o algoritmo básico que você, desenvolvedor de driver, pode usar para exemplo e calibrar a Tela com o driver Tela toque:

  1. Chamar o TouchPanelEnable função para iniciar a amostragem Tela.
  2. Chamar o TouchPanelGetDeviceCaps função para o número de pontos amostragem de solicitação.
  3. Para cada apontar a calibragem, executar as seguinte etapas:
    1. Chamar TouchPanelGetDeviceCaps Para coordenar uma calibragem get.
    2. Desenhe um ponteiro em forma de cruz na coordenar retornado.
    3. Chamar o TouchPanelReadCalibrationPoint função para dados de calibragem get.
  4. Chamar o TouchPanelSetCalibration função para calcular os coeficientes de calibragem.

Após o driver Tela toque executa essa seqüência, qualquer amostras FINGER ou caneta geradas para a Tela são passadas para o função callback especificado em TouchPanelEnable. O driver pode transmitir calibrado ou uncalibrated aponta para o callback. Se o driver tiver um algoritmo de calibragem eficiente, ele poderá retornar calibrated pontos. No entanto, se a calibragem for computationally intensa, o driver pode escolher para retornar uncalibrated pontos, em vez de executar cálculos abrangentes de alta-prioridade driver segmento. Os segmento prioridade inferior processamento pontos a partir de callback pode em seguida, executar a calibragem.

Você pode calibrar a Tela sem uma chave ENTER. Codificar a calibragem usar como padrão inclui um rotina chamado UseEnterEsc. Essa rotina chama o GetKeyboardStatus função para determinar se um teclado está presente, habilitado e suporta as teclas ENTER e Esc. Se assim, ele solicita que o usuário para usar o teclado para completo a rotina de calibragem. Se não, o usuário é solicitado a tocar a Tela para completo calibragem.

Internamente, o GWES teclado abre codificar HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD e procura por um DWORD valor chamado Status. Este é um máscara de bits combinando os valores KBDI_KEYBOARD_XXX do _WINCEROOT%\Public\Common\Sdk\Inc\Keybd.h %. Se Status não for encontrado, GWES usa KBDI_KEYBOARD_PRESENT | KBDI_KEYBOARD_ENTER_ESC | KBDI_KEYBOARD_ALPHA_NUM. Acessar este Registro só ocorre depois, quando o driver de teclado está carregado. Este máscara de bits é a base para que você get quando você chamar GetKeyboardStatus. GWES adiciona ou retira o bit KBDI_KEYBOARD_ENABLED com base em chamadas para o EnableHardwareKeyboard função. O bit KBDI_KEYBOARD_ENABLED é definida quando o driver de teclado está carregado.

Quando você definir a Status valor do Registro, os OEMs podem e controle o tipo de solicitar get usuários durante a calibragem. Se uma atualização Registro não é flexível o suficiente, a codificar de calibragem em %_WINCEROOT%\Public\Common\OAK\Drivers\Calibrui pode ser modificada como apropriado.

See Also

Reference

Touch Screen Driver DDSI Functions
Touch Screen Driver Functions