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つもない場合はボタンが無効となる。また、要素の値は物理的なボタ ンの数の制約は受けない。 しかし、同じゼロでない値を持つ要素が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