1.Xconfig・XF86Configの概要                    1996.06.24版

※あくまでも、概要を説明するものです。
 必ず、オンラインマニュアルや関連ドキュメントも読みましょう。

 XFree86 V2.X(Xconfig)の場合

(1)パス設定セクション

 これは、Xサーバが読み込むカラーデータベースやフォントのファイルのパスを
 設定するセクションです。
 (RGBPath、FontPath等で構成される)

(2)キーボード設定セクション

 これは、キーボードの設定を行なうセクションです。
 キーのリピートや、NumLockの設定、LEDの設定、そして、Meta・ModeShift等の
 X-WINDOW固有の特殊キーをどのキーに割り当てるか、などが設定されます。
 (Keyboadというキーワードで開始される)

(3)マウス設定セクション

 これは、使用するマウスについて設定するセクションです。
 マウスの種別、マウスが接続されているスペシャルファイルの名称、ボーレート、
 3ボタンエミュレーション(2ボタンマウスの場合)などについて設定されます。

(4)サーバ設定セクション

 これは、使用するビデオボードのハード的特性、及び、使用するXサーバ
 (及び、ドライバ)の設定を行なうセクションです。
 (ビューポートの設定等も有り)
 実は、1つのXサーバには複数のドライバが含まれており、(SVGA、S3等)
 Chipsetの指定で使用されるドライバが決定されます。(省略時は、自動判定)
 このセクションは、VGA16、VGA256、ACCEL等のキーワードで開始されます。
 使用するXサーバによって、有効となる部分が異なりますので御注意下さい。
 (例えば、SVGAの場合、VGA256以降が有効であり、VGA16等は無効)

(5)ビデオモード設定セクション

 これは、実際にディスプレイ画面に表示する時のビデオ信号のタイミングを
 定義するセクションです。
 ModeDBのキーワードで開始されます。
 Xconfigの設定で1番難しいと言われている部分です。
 (ちなみに、次に難しいのが、サーバ設定セクション。
  要するに、ハードウェアと密接に結び付いた設定が難しいのですね。)


 XFree86 V3.X(XF86Config)の場合

(1)Section "Files"

 これは、Xサーバが読み込むカラーデータベースやフォントのファイルのパスを
 設定するセクションです。
 (RgbPath、FontPath等で構成される)

(2)Section "ServerFlags"

 Xサーバの動作を設定するフラグの定義を行ないます。
 (などと言いつつ、私は良く解っていません)

(3)Section "Keyboard"

 これは、キーボードの設定を行なうセクションです。
 キーのリピートや、NumLockの設定、LEDの設定、そして、Meta・ModeShift等の
 X-WINDOW固有の特殊キーをどのキーに割り当てるか、などが設定されます。

(4)Section "Pointer"

 これは、使用するマウスについて設定するセクションです。
 マウスの種別、マウスが接続されているスペシャルファイルの名称、ボーレート、
 3ボタンエミュレーション(2ボタンマウスの場合)などについて設定されます。

(5)Section "Monitor"

 これは、実際にディスプレイ画面に表示する時のビデオ信号のタイミング、及び、
 使用するディスプレイ(CRT)の特性について定義するセクションです。
 XF86Configの設定で1番難しいと言われている部分です。
 (ちなみに、次に難しいのが、Section "Device"。
  要するに、ハードウェアと密接に結び付いた設定が難しいのですね。)
 なお、ビデオ信号のタイミングの記述形式には下記の2つの形式があります。

 形式1

    ModeLine "1280x1024" 110 1280 1320 1480 1728 1024 1029 1036 1077


 形式2

    Mode "1280x1024"
        DotClock        110
        HTimings        1280 1320 1480 1728
        VTimings        1024 1029 1036 1077
    EndMode


(6)Section "Device"

 これは、使用するビデオボードのハード的特性の設定を行なうセクションです。
 実は、1つのXサーバで複数のドライバが含まれているものもあり、(SVGA、S3等)
 その場合、Chipsetの指定によって使用されるドライバが決定されます。
 Chipsetを省略した場合は自動判定されますが、自動判定できないものもあります。
 また、RAMDACの最大ドットクロックについては自動判定できないので、安全と
 思われる値が設定されます。
 もし、Xサーバの判定値よりも実際のRAMDACの性能が高い場合は、DacSpeedパラメタ
 を指定する事により、より高いドットクロックを使用できる様に設定する事が
 できます。

(7)Section "Screen"

 これは、使用するビデオモード(解像度・色数)、及び、使用するXサーバの設定を
 行なうセクションです。
 (ビューポートの設定等も有り)
 ビデオボードやディスプレイのハード特性、及び、ビデオ信号のタイミングには、
 Section "Monitor"、及び、Section "Screen"の定義が参照されます。
 DeviceキーワードやMonitorキーワードの設定とSection "Monitor"、及び、
 Section "Screen"の定義で使用した名称が食い違っているとエラーになります。


2.マウスの設定について

※あくまでも、概要を説明するものです。
 必ず、オンラインマニュアルや関連ドキュメントも読みましょう。

 マウスの設定は、マウス設定セクション(V2.X)・Section "Pointer"(V3.X)で
 行われます。
 ここでは、PS/2マウス、及び、シリアルマウスを例として説明します。
 なお、ノートタイプで用いられるトラックボール等のポインティングデバイスも
 通常はマウスとハード互換です。(PS/2マウス互換のものが多い様です。)
 どのマウスと互換性があるかは、ハードウェアのマニュアル等で確認して下さい。

(1)基本形式

 V2.X(Xconfig)の場合

 V2.Xの場合、下記の様な形式となります。

  プロトコルタイプ "ポインタデバイス"
  BaudRate ボーレート
  オプション
      ・
      ・
      ・

 例

 MouseSystems    "/dev/ttyS0"
  BaudRate  1200


 V3.X(XF86Config)の場合

 V3.Xの場合、下記の様な形式となります。

 Section "Pointer"

   Protocol    "プロトコルタイプ"
   Device      "ポインタデバイス"
   BaudRate    ボーレート
   オプション
       ・
       ・
       ・
 EndSection

 例

 Section "Pointer"

     Protocol    "MouseSystems"
     Device      "/dev/mouse"
     BaudRate    1200

 EndSection

 なお、オプションについては必要に応じて記述しますので、全く不要な場合は、
 記述されません。

(2)プロトコルタイプ

 プロトコルタイプには、マウス・Xサーバ間でやり取りするデータの形式を
 指定します。
 通常、マウスの種別毎に独自の形式を使用するので、マウスの種別に対応したものを
 指定します。
 指定可能なものは、Microsoft、MouseSystems、Mouseman、PS/2、などです。

(3)ポインタデバイス

 ポインタデバイスにはマウスに対応するスペシャルファイルの名称を指定します。
 シリアルマウスの場合シリアルポートに対応するスペシャルファイル(/dev/tty00、
 /dev/tty01、/dev/ttyS0、/dev/ttyS1等)を指定し、バスマウスの場合は、マウスに
 対応するスペシャルファイル(/dev/psaux等)を指定します。
 通常、setup時にマウスに接続されたスペシャルファイルに対して、/dev/mouseが
 シンボリックリンクとして生成されますから/dev/mouseを指定してもかまいません。

※スペシャルファイル
 UNIXではユニファイドI/Oなので、デバイスもファイルとして扱われます。
 デバイスに対応するファイルをスペシャルファイルと呼びます。

※シンボリックリンク
 シンボリックリンクとは、既に存在するファイルに対して別のパス名称を与える
 ことです。
 例えば、/dev/mouseが/dev/psauxを指すシンボリックリンクである場合、/dev/mouse
 へのアクセスは、実際には、/dev/psauxへのアクセスとなります。
 シンボリックリンクが実際にどのファイルを指しているかは、「ls -l /dev/mouse」
 などとする事により確認できます。

(4)ボーレート

 ボーレートには、マウス・システム間を接続するシリアルポートのボーレートを
 指定します。
 通常は、1200を指定します。
 幾つかのロジテックのマウスの様に、ダイナミックにボーレートを自動認識する
 マウス以外では、1200以外は使用できません。
 ほとんどの場合、1200bpsで不自由する事はないので、通常は指定しないでしょう。
 なお、バスマウスの場合は、ボーレートは指定しません。
  (「BaudRate ボーレート」という記述そのものを省略する。)

(5)オプション

 a.Emulate3Buttons

 2ボタンのマウスで、3ボタンマウスのエミュレートを行なう時に指定します。
 このオプションを指定すると、2ボタンのマウスで左右のボタンを同時に押下した
 時は、3ボタンマウスの真ん中のボタンを押下されたと認識する様になります。

 b.ChordMiddle

 ロジテックの3ボタンマウス(Mouseman等)で、真ん中のボタンが使用できない
 (認識されない)場合に、このオプションを指定すると、真ん中のボタンが使える
 様になる場合があります。

 c.SampleRate

 幾つかのロジテックマウスにのみ有効なオプションで、マウスの移動や、ボタン
 押下のイベントを1秒間に何回送出するかを設定します。
 これも、通常は指定されないオプションです。

 d.ClearDTR

 MouseSystemsマウス互換のシリアルマウスで、デュアルプロトコルのマウス(例えば
 Microsoftmouseとのデュアル互換)で、MouseSystemsモードに切り替わらない時に、
 このオプションを指定すると、MouseSystemsモードに切り替わる場合があります。
 (RS-232-CのDTR信号によって、モードを切り替えるマウスが存在するのです。)

 e.ClearRTS

 MouseSystemsマウス互換のシリアルマウスで、デュアルプロトコルのマウス(例えば
 Microsoftmouseとのデュアル互換)で、MouseSystemsモードに切り替わらない時に、
 このオプションを指定すると、MouseSystemsモードに切り替わる場合があります。
 (RS-232-CのRTS信号によって、モードを切り替えるマウスが存在するのです。)

(6)設定例

 以下に、XFree86 V3.Xの場合を例に、幾つかの設定例を示します。

a.MouseSystems/Microsoftデュアル互換のマウスをMouseSystemsマウスとして
  使用する場合(マウスはCOM1に接続)
  (ClearDTRとClearRTSは不要な場合もあります)

 Section "Pointer"

     Protocol    "MouseSystems"
     Device      "/dev/ttyS0"
     BaudRate    1200
      ClearDTR
   ClearRTS

 EndSection

b.Microsoft互換マウスで3ボタンマウスのエミュレートを有効とした場合
  (マウスはCOM1に接続)

 Section "Pointer"

     Protocol    "Microsoft"
     Device      "/dev/ttyS0"
     BaudRate    1200
      Emulate3Buttons

 EndSection

c.PS/2マウスで3ボタンマウスのエミュレートを有効とした場合

 Section "Pointer"

     Protocol    "PS/2"
     Device      "/dev/psaux"
      Emulate3Buttons

 EndSection

d.ロジテックMousemanマウスを3ボタンマウスとして使用する場合
  (マウスはCOM1に接続)

 Section "Pointer"

     Protocol    "Mouseman"
     Device      "/dev/ttyS0"
     BaudRate    1200
      ChordMiddle

 EndSection

(7)よくある問題

a.マウスのデバイスが使用できない

  接続しているマウスに対応したスペシャルファイルを指定していない。
  なお、PS/2マウスは、かなり前にスペシャルファイル名が/dev/ps2auxから
  /dev/psauxに変更されています。
  昔の雑誌の記事等を鵜呑みにすると、はまります。

  バスマウスの場合で、マウスドライバがカーネルに組み込まれていない。
  PS/2マウス以外は、標準では組み込まれていないので、カーネルのリコンパイル
  が必要です。
  また、カーネルをリコンパイルした時に組み込み忘れたという場合もあります。

  selectionやgpmの様な、マウスを占有するプログラムが既に動作している。
  この場合、該当するプログラムをkillします。
  (最初から起動しないという方法もありです。)

b.マウスは認識されているようだが、うまく動作しない

  マウスのプロトコル種別を誤っている。

  デュアル互換のMouseSystemsマウスで、MouseSystemsモードになっていない。
  スイッチ切り替え式の場合は、スイッチで切り替える。
  自動切り替えの場合は、clearDTR、clearRTSを指定してみる。
  ロジテックのマウスの場合は種類が多いので、色々試してみる。

c.真ん中のボタンが使用できない

  2ボタンマウスの場合、Emulate3Buttonsを指定する。

  ロジテックの3ボタンマウスの場合、ChordMiddleを指定してみる。

  3ボタンマウスの場合、Emulate3Buttonsを指定してみる。
  (見かけ上3ボタンマウスでも実体は2ボタンマウスで、真ん中のボタンを
   押下すると左右のボタンを同時に押下されたと認識するだけのマウスというのも
   あるらしい。)

  −以上−

                               小杉 和敏       PXB12445@niftyserve.or.jp
                                                kos@pisces.bekkoame.or.jp