Oferecendo suporte a dispositivos de interface humana (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

A API do Windows.Devices.HumanInterfaceDevice permite que seu aplicativo do Tempo de Execução do Windows acesse dispositivos que dão suporte ao protocolo HID (Dispositivo de Interface Humana).

Quando foi desenvolvido, esse protocolo visava dispositivos como teclados, mouses e joysticks. Ele foi criado inicialmente para ser executado usando o transporte USB. Hoje, o protocolo é compatível com um conjunto muito maior de dispositivos. No Windows 8.1, a Microsoft também inclui suporte para transportes USB, Bluetooth, Bluetooth LE e I2C.

A nova API é voltada para duas audiências diferentes:

  1. Parceiros de hardware que criam um periférico HID e precisam de um aplicativo do Tempo de Execução do Windows para seus dispositivos. (Os IHVs podem declarar um aplicativo como adquirido automaticamente quando um usuário se conecta ao periférico.)
  2. Desenvolvedores de aplicativos que desejam criar aplicativos para esses periféricos

O parceiro de hardware já conhece o HID, mas precisa entender os requisitos de aplicativos do Tempo de Execução do Windows. O desenvolvedor do aplicativo provavelmente precisará conhecer o protocolo. Se você for novo no protocolo HID e conceitos como: relatórios de recursos, relatórios de entrada e relatórios de saída, poderá encontrar mais informações aqui.

Antes de usar essa API, reveja a seção Limitações abaixo para entender se há alguma limitação que pode impedir que você atinja seus objetivos.

Limitações da API do HID

A API Windows.Devices.HumanInterfaceDevice é compatível com a maioria dos dispositivos HID. Entretanto, ela bloqueia a coleção de aplicativos de nível superior representada pelas páginas de uso a seguir, para evitar conflitos de comportamento com outras APIs e Sistemas Operacionais Windows:

  • HID_USAGE_PAGE_UNDEFINED
  • HID_USAGE_PAGE_GENERIC
  • HID_USAGE_GENERIC_KEYBOARD
  • HID_USAGE_GENERIC_KEYPAD
  • HID_USAGE_GENERIC_SYSTEM_CTL
  • HID_USAGE_PAGE_KEYBOARD
  • HID_USAGE_PAGE_CONSUMER
  • HID_USAGE_PAGE_DIGITIZER
  • HID_USAGE_PAGE_SENSOR
  • HID_USAGE_PAGE_BARCODE_SCANNER
  • HID_USAGE_PAGE_WEIGHING_DEVICE
  • HID_USAGE_PAGE_MAGNETIC_STRIPE_READER
  • HID_USAGE_PAGE_TELEPHONY

Além de bloquear o suporte para lista anterior das páginas de uso, a API também exige que o aplicativo seja executado usando os drivers de caixa de entrada fornecidos com o Windows 8.1. A API não dá suporte para drivers de dispositivos entregues pelos fornecedores.

Desenvolvida para periféricos

A API do HID é projetada principalmente para acessar dispositivos periféricos. O cenário de desenvolvedor de aplicativos descrito anteriormente funcionaria somente para esses dispositivos.

Os OEMs podem usar o acesso de API de dispositivos HID internos nos computadores. No entanto, esse acesso é limitado a um aplicativo privilegiado que está declarado explicitamente pelo fabricante do dispositivo.

Não projetada para cenários de aplicativos de Painel de Controle

A API do Tempo de Execução do Windows com HID é primariamente projetada para ser acessada por aplicativos do Tempo de Execução do Windows que são aplicativos por usuário. Esses aplicativos podem se comunicar com um dispositivo HID usando essa API, no entanto, não há como esse aplicativo salvar configurações fora do escopo desse aplicativo e que são reconhecidas pelo Windows, o que é necessário a muitos aplicativos de Painel de Controle.

Requisitos de aplicativos da Loja do Windows Phone

Aplicativos da Loja do Windows Phone poderão acessar a API Windows.Devices.HumanInterfaceDevice se o fabricante suportar o protocolo HID para dispositivos específicos e fornecer dados de dispositivo correspondentes para desenvolvedores de aplicativos. Consulte a documentação do seu fabricante para obter uma lista com os dispositivos HID suportados e os dados que você precisará para implementar a descoberta de dispositivo.

Tópicos relacionados

Windows.Devices.HumanInterfaceDevice