Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XChangeDeviceDontPropagateList(3XI) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XChangeDeviceDontPropagateList(3XI)  —  NEWS-OS Programmer’s Manual

名称

XChangeDeviceDontPropagateList, XGetDeviceDontPropagateList − 拡張デバイスに対する伝播禁止リストを要求または変更

形式

XChangeDeviceDontPropagateList(display, window, count, event_list, mode)
      Display ∗display;
      Window ∗window;
      int ∗count;
      XEventClass ∗event_list;
      int mode;
XEventClass ∗XGetDeviceDontPropagateList(display, window, count)
      Display ∗display;
      Window ∗window;
      int ∗count;

引数

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

window 要求または変更する伝播禁止リストを持つウィンドウを指定する。

event_list イベントクラスのリストへのポインタを指定する。

mode モードを指定する。 AddToList または DeleteFromList を渡すことができます。

count リスト内のイベントクラスの数を指定する。

解説

XChangeDeviceDontPropagateList リクエストは イベントウィンドウの先祖に伝えたくないイベントのリストを変更します。 このリクエストによって、 拡張イベントのリストへの追加、削除できます。 デフォルトでは、全てのイベントが先祖のウィンドウに影響します。 一旦変更されると、 そのリストはウィンドウが破壊されるまで、 そのままになり。 イベントを追加したクライアントが終了すると、 リストからイベントを取り除くことができません。

イベント伝播の禁止は、全ての入力拡張イベントに出来るわけではありませ ん。 指定イベントクラスが禁止できないものの場合、 BadClass エラーが発生します。 禁止できるイベントとして、 DeviceKeyPress、DeviceKeyRelease、 DeviceButtonPress、 DeviceButtonRelease、DeviceMotionNotify、 ProximityIn、 そして ProximityOut があります。

XChangeDeviceDontPropagateList は BadDevice、BadClass、 そして BadValue エラーを生成します。

XGetDeviceDontPropagateList リクエストは イベントウィンドウの先祖に伝えたくないイベントのリストを問い合わせま す。

XGetDeviceDontPropagateList は BadClass または BadWindow エラーを生成します。

診断

BadDevice 無効なデバイスが指定された。 指定されたデバイスが存在しない、 または、このクライアントが XOpenInputDevice を 使っては指定されたデバイスをオープンていない。 他のクライアントが、 または XChangePointerDevice リクエストを使い 指定デバイスを XChangeKeyboardDevice X キーボードまたは X ポインタデバイス にしている場合、 このエラーが発生することがあります。

BadValue いくつかの数値がリクエストで認められた範囲を超えている。 引数に対して特定の範囲が指定されている場合を除いて、 そのタイプのとりうる全範囲を使うことが出来ます。 引数が二者択一のセットで定義されている場合には、 このようなエラーが起こりえます。

BadWindow 無効なウィンドウIDが指定された。

BadClass 無効なイベントクラスが指定された。

関連事項

Programming With Xlib

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026