XChangePointerDevice(3) X のポインタとして使うデバイスを変更する

書式

Status XChangePointerDevice(display, device xaxis, yaxis)

      Display *display;

      XDevice *device

      int xaxis

      int yaxis

引き数

display
X サーバへの接続を指定。
device
X のポインタとして使われるデバイスを指定。
xaxis
X のポインタの x軸として使われるデバイスの軸を指定。
yaxis
X のポインタの y軸として使われるデバイスの軸を指定。

説明

XChangePointerDevice リクエストにより、X サーバは指定されたデバ イスを X のポインタとして使うようになる。このデバイスはクライアントの XOpenDevice によってオープンされていなければならず、そうでない場 合には BadDevice エラーとなる。デバイスは入力クラス Valuators をサポートしていなければならず、そうでなければ BadMatch エラーとなる。 実装により指定されたデバイスが X のポインタとしての使用をサポートして いない場合には、BadDevice エラーとなる。

指定したデバイスが他のクライアントによってグラブされている場合には、 AlreadyGrabbed が返される。指定したデバイスが他のデバイスでグラ ブによって凍結されている場合、GrabFrozen が返される。 リクエストが成功した場合、Success が返される。

リクエストが成功した場合、ChangeDeviceNotify イベントがそのイベ ントを選択している全てのクライアントに送られる。request = MappingPointer である MappingNotify イベントは全てのクラ イアントに送られる。 指定したデバイスはXのポインタになり、今まで X のポインタであったデバイ スは入力機能拡張プロトコルリクエストを使って利用できるようになる。

XChangePointerDevice はエラー BadDevice, fIBadMatch を起こすことがある。

返り値

BadDevice
不正なデバイスが指定された。指定されたデバイスが存在しないか、 XOpenInputDevice を使ってクライアントにオープンされていないか、 あるいは既にX のコア入力デバイス(ポインタやキーボード)になっている。こ のエラーは、サーバの実装が指定したデバイスの X のポインタとしての使用 をサポートしていない時にも起こる。
BadMatch
このエラーは XChangePointerDevice リクエストが2つ未満のバリュエー タしか持たないデバイスを指定した時や、デバイスがサポートしている範囲を 越えるバリュエータのインデックスを指定した時に起こる。