XSetDeviceButtonMapping(3X11)

名前
 XSetDeviceButtonMapping, XGetDeviceButtonMapping - デバイスのボタン割り当ての問い合わせと変更を行なう

書式
int XSetDeviceButtonMapping(display, device, map, nmap)
      Display *display;
      XDevice *device;
      unsigned char map[];
      int nmap;

int XGetDeviceButtonMapping(display, device, map_return, nmap)
      Display *display;
      XDevice *device;
      unsigned char map_return[];
      int nmap;

引き数

display
    X サーバへの接続を指定する。

device
    ボタンの割り当ての問い合わせあるいは変更を行なうデバイスを指定する。

map 割り当てリストを指定する。

map_return
    割り当てリストが返される。

nmap
    割り当てリスト中の要素数を指定する。

説明
XSetDeviceButtonMapping リクエストは指定したデバイスの割り当てを設定する。 成功した場合には、X サーバは DeviceMappingNotify イベントを生成し、 XSetDeviceButtonMapping は MappingSuccess を返す。 要素 map[i] は物理的なボタン i+1 に対する論理的なボタン番号を定義する。 リストの長さは XGetDeviceButtonMapping が返す値と同じでなければならず、そうでない場合はエラー BadValue となる。 要素が1つもない場合はボタンが無効となる。また、要素の値は物理的な ボタンの数の制約は受けない。 しかし、0 以外の同じ値を持つ要素が 2 つあってはならない。あった場合に はエラー
 BadValue となる。 変更しようとするボタンのいずれかが論理的に押された状態ならば、 XSetDeviceButtonMapping は MappingBusy を返し、割り当て は変更されない。

XSetDeviceButtonMapping はエラー BadDevice, BadMatch, BadValue を起こすこと がある。

XGetDeviceButtonMapping リクエストは指定したデバイスの現在の割り当てを返す。 ボタンの番号は1から始まる。 XGetDeviceButtonMapping は、デバイス上の実際の物理的なボタン数を返す。 デバイスに対する名前の対応は map[i] = i+1 である。 引き数 nmap はデバイスの割り当てが返される配列の長さを指定する。 最初の nmap 個の要素だけが map_return に返される。

XGetDeviceButtonMapping はエラー BadDevice , BadMatch を起こすことがある。

返り値

BadDevice
    不正なデバイスが指定された。指定したデバイスが存在しないか、クライアン トが XOpenInputDevice でオープンしていない。指定したデバイスが X のキーボードデバイスか X のポインタデバイスである場合にも、このエラー が起こる。

BadMatch
    このエラーはボタンの無いデバイスに対して XGetDeviceButtonMapping リクエストや XSetDeviceButtonMapping リクエストを行ったとき起こ ることがある。

BadValue
    指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。

関連項目
XChangeDeviceKeyboardControl(3X),
XChangeDeviceKeyMapping(3X)
XChangeDeviceModifierMapping(3X)
Programming With Xlib