XF86MISC(3X11)

名前
XF86MiscQueryExtension, XF86MiscQueryVersion, XF86MiscGetMouseSettings, XF86MiscSetMouseSettings, XF86MiscGetKbdSettings, XF86MiscSetKbdSettings - XFree86-Misc 拡張インタフェース関数

書式

#include <X11/extensions/xf86misc.h>

Bool XF86MiscQueryExtension(
    Display *display,
    int *event_base_return,
    int *error_base_return);

Bool XF86MiscQueryVersion(
    Display *display,
    int *major_version_return,
    int *minor_version_return);

Status XF86MiscGetMouseSettings(
    Display *display,
    XF86MiscMouseSettings *mseinfo);

Status XF86MiscSetMouseSettings(
    Display *display,
    XF86MiscMouseSettings *mseinfo);

Status XF86MiscGetKbdSettings(
    Display *display,
    XF86MiscKbdSettings *kbdinfo);

Status XF86MiscSetKbdSettings(
    Display *display,
    XF86MiscKbdSettings *kbdinfo);

引き数

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

screen
    設定を適用するスクリーン番号を指定。

event_base_return
    拡張に対する基本イベント番号が返される。

error_base_return
    拡張に対する基本エラー番号が返される。

major_version_return
    拡張のメジャーバージョン番号が返される。

minor_version_return
    拡張のマイナーバージョン番号が返される。

mseinfo
    マウスのパラメータを持つ構造体を指定。

kbdinfo
    キーボードのパラメータを持つ構造体を指定。

構造体
Mouse:
typedef struct {
     char *device; 	/* 返されるデバイスへのパス */
     int type;	/* マウスのプロトコル */
     int baudrate;	/* 1200, 2400, 4800, 9600 のいずれか */
     int samplerate;	/* 秒当たりのサンプル数 */
     int resolution;	/* 解像度。インチ当たりのカウント数 */
    Bool emulate3buttons;	/* Button1+Button3 -> Button2 ? */
     int emulate3timeout;	/* ミリ秒単位 */
    Bool chordmiddle;	/* Button1+Button3 == Button2 ? */
     int flags;	/* デバイスのオープンフラグ */
} XF86MiscMouseSettings;

Keyboard:
typedef struct {
    int type;	/* キーボードのタイプ: 84キー, 101キー, Xqueue  */
    int rate;	/* リピートのレート */
    int delay;	/* リピートが始まるまでの待ち時間 */
    Bool servnumlock;	/* サーバが NumLock を扱うかどうか */
} XF86MiscKbdSettings;

説明
これらの関数は XFree86-Misc 拡張へのインタフェースを提供する。 この拡張は様々なサーバの設定を問い合わせたり動的に変更することを可能に する。 これらの関数を使うアプリケーションは でリンクしなければならない。

  省電力関数
と は削除された。これらの機能は DPMS 拡張で提供されるようになった。

  マウス関数
マウスのパラメータは、関数 を使って問い合わせることができる。 2番目の引き数が指す構造体に、マウスの現在の設定が格納される。

必ず全てのフィールドが正しいわけではない。 例えば、プロトコルがバスマウスを示している(つまり type フィールドが で定義されている である)場合、 フィールドの値は無視される。 このフィールドはバスマウスには適用されないからである。

フィールドが示す解像度は、日立のタブレットのプロトコルを使っている場合 にはインチ当たりの行数である。

構造体の device フィールドは動的にアロケートされたメモリを指すので、呼 び出した側が解放しなければならない。

この構造体の任意のフィールドを変更して、その後でこの構造体を関数 に渡し、サーバが持つ設定値を変更することができる。 ただし、これには以下の制限がある:

    1)  device を変更してはならない。

    2)  protocol は Xqueue や OsMouse から変えてはならない。また、これらの値に 変えてもいけない。

    3)  buttons フィールドは変更できない。

    4)  パラメータの不正な組み合わせは許されない。

上記のいずれかを試みた場合、サーバはエラーを生成する。 ただし、最初のもの―device フィールドの内容は単に無視される。

protocol の変更をすると、デバイスのクローズと再オープンが起こる。 選択しているプロトコルで可能な場合に、ボーレート、サンプルレート、解像 度、フラグを変更すると、デバイスの再オープンが起きる。 再オープンは MF_REOPEN フラグを用いることで強制的に起こすことができる。 ただし、デバイスの再オープンの試みを全て無視する OsMouse と Xqueue プ ロトコルの場合は除く。

  キーボード関数
関数 を使って、サーバから現在のキーボード関係の設定を取得することができる。

関数 を使って、キーボードのオートリピートまでの待ち時間とリピートのレートを セットすることができる。 フィールドと フィールドへの変更の要求は無視される(不正なキーボードのタイプに対する チェックは除く)。 この関数は、将来のリリースにおいて変更される予定である。

  その他の関数
2つの関数 と が提供されていて、クライアントは拡張そのものについての情報を問い合わせ ることができる。

既定値
ヘッダファイル は以下の定義を含む。

MTYPE_*
    マウスのプロトコル

KTYPE_*
    キーボードのタイプ

MF_*
    マウスのフラグ

関連項目
xset(1)

著者
Joe Moss and David Dawes, The XFree86 Project, Inc.