ヒューマン インターフェイス デバイスのサポート (HTML)

Windows.Devices.HumanInterfaceDevice API により、Windows ランタイム アプリは、ヒューマン インターフェイス デバイス (HID) プロトコルをサポートするデバイスにアクセスできます。

このプロトコルは、最初に開発されたときは、キーボード、マウス、ジョイスティックなどのデバイスが対象でした。当初は、USB トランスポートで実行するように設計されました。現在、このプロトコルははるかに多くのデバイスをサポートしています。さらに、Windows 8.1 には、USB、Bluetooth、Bluetooth LE、I2C トランスポートのサポートが組み込まれてます。

新しい API は、次の 2 種類の異なるユーザーを対象としています。

  1. HID 周辺機器を製造し、そのデバイス用の Windows ランタイム アプリを必要としているハードウェア パートナー (IHV は、ユーザーが周辺機器を接続すると 1 つのアプリが自動的に取得されるように宣言できます)。
  2. それらの周辺機器に使うアプリを構築するアプリ開発者。

ハードウェア パートナーは既に HID に精通していますが、Windows ランタイム アプリの要件を理解する必要があります。アプリ開発者にとって、プロトコルの理解も必要になる場合があります。HID のプロトコルと概念 (機能レポート、入力レポート、出力レポートなど) に初めて触れる場合は、こちらが参考になります。

この API を使う前に、以下の制限事項のセクションをよく読んで、目的達成の障害となる制限がないか確認してください。

HID API の制限事項

Windows.Devices.HumanInterfaceDevice API はほとんどの HID デバイスをサポートします。ただし、他の Windows API や OS の動作との競合を避けるために、次の利用状況ページで表される最上位のアプリケーション コレクションをブロックします。

  • 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

この API では、前の利用状況ページの一覧で示したサポートのブロックに加えて、アプリケーションが Windows 8.1 に付属するインボックス ドライバーで実行されることが求められます。この API は、ベンダーが提供するデバイス ドライバーはサポートしません。

周辺機器のための設計

HID API は主に周辺機器にアクセスすることを目的としています。 前のセクションで説明されているアプリ開発者シナリオは、これらの機器にのみ適用されます。

OEM は、この API を使って PC の内部 HID デバイスにアクセスすることができます。 ただし、そのアクセスは、デバイスの製造元によって明示的に宣言された特権アプリに限られます。

コントロール パネル アプリケーションのシナリオは想定せず

HID Windows ランタイム API は主に、Windows ランタイム アプリによる利用が想定されています。Windows ランタイム アプリは、ユーザー単位のアプリです。 この API を使って HID デバイスと通信を行うことができます。しかし、ユーザー単位のアプリが、そのスコープを越えて、Windows によって認識される設定を保存することはできません。多くのコントロール パネル アプリケーションでは、そのような設定が必要となります。

Windows Phone ストア アプリの要件

Windows Phone ストア アプリは、Windows.Devices.HumanInterfaceDevice API にアクセスできます。ただし、製造元が、特定のデバイスに対して HID プロトコルをサポートしており、対応するデバイス データをアプリ開発者に提供している場合に限ります。サポートされる HID デバイスの一覧と、デバイスの検出を実行するために必要なデータについては、製造元のドキュメントを参照してください。

関連トピック

Windows.Devices.HumanInterfaceDevice