USB マウス・クライアント・デバイス・ドライバー

目的

Universal Serial Bus (USB) マウス・デバイスをサポートします。

構文

#include <sys/usbdi.h>

説明

USB マウス・クライアント・デバイス・ドライバーは、USB システム・ドライバー (USBD) とインターフェースするバックエンドと、 AIX® アプリケーション (X サーバー・アプリケーションなど) とインターフェースするフロントエンドで構成されています。 クライアント・ドライバーは、基礎となる USB アダプター・ハードウェアを認識していません。 代わりに、クライアント・ドライバーは USBD を介して USB マウスに制御要求を送信し、USBD を介して入力イベントを受信します。 USB マウス・クライアント・ドライバーは、複数の USB マウス・デバイスの接続をサポートします。 各デバイスは、オブジェクト・データ・マネージャー (ODM) に列挙され、使用可能のマークが付けられます。 クライアント・ドライバーは、すべてのマウス・デバイスを単一の論理デバイスとして扱います。 すべてのデバイスからの入力イベントは、単一の入力リングに送信されます。

USB マウス・デバイスごとにデバイス・スペシャル・ファイルが作成されます。 使用可能のマークが付けられた USB マウス・デバイスが少なくとも 1 つ存在するようになるまで、クライアント・ドライバーはマイナー番号の指定を無視するため、アプリケーション (通常は X サーバー・アプリケーション) は USB マウス・スペシャル・ファイルのいずれか 1 つを開くことができます。 オープン操作後に追加および構成された USB マウス・デバイスは、オープン・セットに自動的に追加されます。 デバイス・スペシャル・ファイル (例えば、 /dev/mouse0/dev/mouse1など) は、USB マウス・デバイスごとに作成されます。

グラフィックス・サブシステムの厳密な構成と順序付けの規則により、マウスに対する特別な処理が USBD 構成方式によって提供されます。 USB ホスト・コントローラーおよびグラフィックス・アダプターに使用可能のマークが付けられていて、既存のマウスが存在しない場合、USBD は少なくとも 1 つの USB マウス・インスタンスが定義されていることを確認します。 USB マウス・クライアント・ドライバーは、システムに USB マウスが接続されていない場合でも、 USBD_OPEN_DEVICE_EXT ioctl 操作を使用して、有効なハンドルを生成するデバイスを開きます。 EAGAIN エラー・コードは、マウス・デバイスがなく、クライアント・ドライバーがデバイスを切断済みとして扱う場合に、 USBD_OPEN_DEVICE_EXT 操作によって返されます。 USB マウスを接続すると、USBD によってマウス・クライアントに対して再接続コールバック操作が行われ、入力イベントが X サーバー・アプリケーションに送信されるようにデバイスが初期化されます。

USB マウス操作には、以下の入力デバイス・ドライバー ioctl 操作が使用されます。

操作 説明
IOCINFO デバイスを記述する devinfo 構造体を返します。この構造体は、 sys/devinfo.h ヘッダー・ファイルに定義されています。 構造体の最初のフィールド (devtype) は DD_INPUTに設定され、構造体の残りのフィールドはゼロに設定されます。
MQUERYID (M) マウス・デバイス ID を照会します。
MREGRING (再試行) 入力リングを登録します。
MREGRINGEXT (再応答) 拡張入力リングを登録します。
ムルフラッシュ 入力リングをフラッシュします。
Mしきい値 マウス・レポートのしきい値を設定します。
M解像度 マウス解像度を設定します。
MSCALE マウスのスケール係数を設定します。
MSAMPLERATE (サンプル) マウス・サンプル・レートを設定します。