  The 3 Button Serial Mouse mini-HOWTO
  Geoff Short, <geoff@kipper.york.ac.uk>
  v1.33, 31 May 1998
  JF Project
  v1.33j, 15 September 2001

  Linux 上で 3 ボタン・シリアルマウスを使う方法。
  ______________________________________________________________________

  目次

  1. 免責
  2. はじめに
  3. シリアル・ポート
  4. スイッチの付いたマウス
  5. 普通のマウス
  6. マウスを 3 ボタン・モードに切り替える
  7. ホイール・マウス
  8. gpm を使ってマウスのモードを切り替える
  9. 2 つのマウスを使う
  10. XF86Config と Xconfig ファイルの例
  11. ケーブル、延長ケーブル、アダプタ
  12. 各種の問題と対処方法
  13. 動作確認が取れているモデル
  14. 詳しい情報
  15. マウスについてのあとがき
  16. 日本語訳について

  ______________________________________________________________________

  1.  免責

  この文書では、安全なプログラムと手順だけを記載し、読者が安心して利用で
  きるよう配慮しましたが、この文書の内容に起因する直接的もしくは間接的な
  人的・物的な損害が生じた場合でも、筆者は一切責任を負わないので、あらか
  じめご了承ください。

  2.  はじめに

  この文書の最新版は、常に次の URL で見ることができます。

  http://kipper.york.ac.uk/mouse.html

  翻訳については、

  日本語訳： http://www.linux.or.jp/JF/JFdocs/3-Button-Mouse.html
  フランス語訳： http://www.freenix.fr/linux/HOWTO/mini/3-Button-
  Mouse.html

  があります。これ以外にも翻訳があるかもしれないので、詳細は、LDP のミラ
  ーサイトを確認してください。

  通常 X ウィンドウのアプリケーションは、ユーザが 3 ボタンマウスを使用す
  るという前提のもとに作られています。また最近では、シリアルマウスが非常
  に一般的で安価になってきています。ただ、そうしたシリアルマウスの多くに
  は、3 ボタンタイプであるにもかかわらず、 (2 ボタンモードの) Microsoft
  プロトコルを使うよう注意書が付されています。理論的にはそのプロトコルが
  X ウィンドウの設定に最適なのだそうです。 (ちなみに、現在報告を受されて
  いる最も安いマウスの値段は、$1.89 です。)

  しかし、デュアル・プロトコル対応のマウスであれば、そのほとんどは、次の
  ふたつのモードのいずれでも動作が可能なはずです。

  o  2 ボタン Microsoft モード

  o  3 ボタン MouseSystems モード

     この文書では、そうしたマウスを、これらの異なるふたつのモードでどの
     ように設定していけばよいかについて説明しています。特に、2 ボタンモ
     ードよりも便利な 3 ボタンモードでの設定について詳しく説明します。

  ディストリビューションでの設定が容易になってきているので、問題のいくつ
  かはそのうち過去のものとなるでしょう。RedHat には mouseconfig という設
  定プログラムがあります。ただ、RH5.0 の mouseconfig にはバグがあるの
  で、パッチの確認が必要です。

  3.  シリアル・ポート

  まず最初に、ソフトウェアがマウスを認識できるかどうか確認しましょう。ど
  のシリアルポートにマウスが接続されているか調べます - 通常、マウス
  は、/dev/ttyS0 (DOS の COM1)、または /dev/ttyS1 (COM2) のポートに接続
  されています。(コンピュータの機種によって仕様が異なるため、一概には言
  えませんが、たいてい ttyS0 は、9 ピン・コネクタのポートで、 ttyS1
  は、25 ピン・コネクタという設定になっています。) また ttyS の代わりに
  /dev/cua デバイスを使うこともできますが、これは ttyS とほとんど同じで
  あり、現在ではむしろ利用しないよう推奨されています。/dev/mouse とシリ
  アルポートとの間にリンクを張っておくと設定するときにとても便利です。例
  えばポートが ttyS0の場合、次のようにしてリンクを張ります：

       ln -s /dev/ttyS0 /dev/mouse

  4.  スイッチの付いたマウス

  非常に安価なマウスの場合は付いていないことが多いですが、そうでない場合
  は、マウスの裏側に `2/3' というラベルと共に切り替えスイッチが付いてい
  ることがあります。このラベルは、`PC/MS' となっているかもしれません。こ
  の場合、 `2' は 2 ボタン Microsoft モードを、`3' は 3 ボタン
  MouseSystems モードを表しています。`PC/MS' スイッチの場合は、ちょっと
  複雑です。読者はおそらく `MS' が Microsoft モードで、`PC' が
  MouseSystems モードだと推測すると思います。`PC' のときの設定は、PS/2
  の設定でも、MouseSystems の設定でも両方使えます。こうしたマウスを使う
  際は、スイッチを `3' か `PC' に設定して、 XConfig (後述します) を
  MouseSystems の設定にすれば、そのマウスは 3 ボタン・モードで完璧に動作
  するはずです。

  5.  普通のマウス

  お手元のマウスにスイッチもなく、説明書きも何も無い場合は、少々実験が必
  要です。まず初めにマウスのメーカーを信じて、Microsoft モードを 100% サ
  ポートしていると仮定して XConfig を設定してみてください (Xconfig の項
  参照)。

  この設定でマウスを動かしてみて、少しも動かない場合は、マウスが
  Microsoft のプロトコルを採用していないか、または他に問題があると考えて
  ください。そういうときは、他のプロトコルを使って、もう一度設定し直して
  ください。設定ファイルの書き方については、それに該当する man ページが
  一番のとっ掛かりになると思います。また後述の「様々な障害」の項も参考に
  なるでしょう。

  Microsoft プロトコルで X を動かしてみると、マウスは正常に動くけれど、3
  つあるボタンの内、外側の 2 つのボタンしか使えないということが分かりま
  す。もちろんこれで我慢した上で、2 ボタンマウスの場合のように動く 2 つ
  のボタンに 3 ボタンマウスのエミュレートをさせることもできます (両端の
  ボタンを同時に押すことで、真ん中のボタンを押したときと同じ動作をさせる
  方法です)。そうする場合は、 Xconfig ファイルを後述の「Xconfig の例」
  のように書き換えてください。しかしこれでは、何のために 3 ボタン・マウ
  スを買ったのか分かりませんし、それ以上の進展も期待できません。それゆ
  え、ここからはハードウェアを見る必要があります。

  6.  マウスを 3 ボタン・モードに切り替える

  たとえ安価なマウスでも MouseSystems プロトコルを使って 3 つあるボタン
  全部を動かすことができます。これには、少しトリックが必要です。そのト
  リックとは、マウスに「自分は、MouseSystems のマウスなんだ。」と、思い
  込ませることです。そのようにするには、次のことを行ないます。

  o  マウスの左ボタンを押しながらコンピュータの電源を入れます(ボタンは、
     コンピュータが完全に立ち上がるまで押し続けてください)。

  これでマウスを MouseSystems モードに切り替えることができます。ずいぶん
  と簡単なことですが、このことが説明書に書かれているのは非常に稀です。と
  ころが、コンピュータの電源を入れ直しただけでは、マウスの電源を切ること
  ができないシステムもありますので、そうしたシステムではこの方法は使えま
  せん。モードを切り替える方法には上記以外にもいろいろあり、それらの方法
  はあなたがお使いのマウスに当てはまる場合もありますが、そうでないことも
  あります。以下で説明する設定方法のうち、少なくともふたつについては、コ
  ンピュータを立ち上げ直すよりもずっと簡単です。

  o  コンピュータが手元にあるなら、電源を入れたままマウスのコネクタを一
     旦抜き、次にボタンを押したままコネクタを差し込みます。(通常、電源の
     入ったコンピュータにはプラグを差し込んではいけないのですが、RS232
     の仕様書には大丈夫とありました。)

  o  echo "*n" > /dev/mouse というコマンドを打てば、マウスをリセットする
     ことができるかもしれません。これは、プラグを差し直すのと同じ効果が
     あります。MouseSystems モードの場合のみ、マウスの左ボタンを押してく
     ださい。Microsoft モードの場合、押してはいけません。上記のコマンド
     は、X を起動させるスクリプトに書き込んでおくこともできます。

  o  Bob Nichols (rnichols@interaccess.com) が、これと同じことをする簡単
     な C プログラムを書いてくれました。echo "*n" が機能しない場合に効果
     があります(逆に、Nichols のプログラムが駄目な場合は、 echo "*n" を
     使ってください)。このプログラムのソースコードは、
     http://kipper.york.ac.uk/src/fix-mouse.c にあります。

  o  Xconfig ファイルに "ClearDTR" という行を入れておくと、MouseSystems
     モードに切り替わるという報告例があります。

  o  度胸のあるかたは、マウスの裏側のネジを外し、中を覗いてみてください
     (これをすると、製品の保証が効かなくなることに注意してください)。マ
     ウスによっては、内部に切り替えスイッチが付いているものがあります。
     マウスメーカーがどうしてこういう仕組みにしているのか、理解に苦しみ
     ます。安価なマウスの場合は、これが着脱可能なジャンパスイッチになっ
     ていることが多いようです。このスイッチ、もしくはジャンパスイッチ
     は、 ``スイッチ付きマウス''の章で説明した `MS/PC' スイッチと同じ機
     能を持っています。回路基盤は 2 ボタンと 3 ボタンの切り替え用に設計
     されているかもしれませんが、基盤を簡単に切り替えることはできませ
     ん。スイッチは、図で示すとつぎのようになっています。

           -----------
          | o | o | o |  SW1
           -----------
            1   2   3

  スイッチ 1-2 を接続するか、2-3 を接続して、マウスの動作が変わるかどう
  か試してください。これで動きが変わるようなら、ジャンパピンを適当な位置
  に付けるか、もしくは半田付けしてしまって固定してください。

  o  ハンダ付けに関するもので、Peter Benie <pjb1008@chiark.chu.cam.ac.uk
     > 氏から報告された方法ですが、MouseSystems の 3 ボタンモードを理解
     しないマウスに対する最後の手段と呼ぶべきものが存在します。真ん中の
     ボタンのスイッチが 2 極スイッチである場合、そのスイッチの一方のピン
     と左ボタンのスイッチのピンを接合し、もう一方のピンと右ボタンのス
     イッチのピンとを接合するというものです。真ん中のスイッチが 2 極ス
     イッチでない場合は、直接の接合ではなく、ダイオードを使います。これ
     で、真ん中のボタンを押すと、左右両方のボタンが押されたことになりま
     す。その上で、XF86Config ファイルにおいて ChordMiddle を指定する
     と、真ん中のボタンを機能させることができます。

  o  また、ハンダ付けを利用する究極の手段を、Brian Craft <
     bcboy@pyramid.bio.brandeis.edu> 氏が著者にいちはやく報告してくれて
     いました。現在最も一般的に使用されている 2 つのマウスチップとして
     16 ピンの Z8350 と 18 ピンの HM8350A があります。いずれのチップも、
     モード制御はつぎのようにひとつのピンで行われています。

       第3ピン  モード
       -------  ------
       Open     デフォルトは、Microsoft。電源投入時にボタンを押していれば MouseSystems。
       GND      常時 MouseSystems。
       Vdd      常時 Microsoft。

  (通常、ピンは次のようになっています：)

                 ____
       第 1 ピン -| \/ |-
       第 2 ピン -|    |-
       第 3 ピン -|    |-
             -|    |-
             -|    |-
             -|    |-
             -|    |-
       第 8 ピン -|____|-

  (これらの情報は、Hans-Christoph Wirth と Juergen Exner 両氏が
  de.comp.os.linux.hardware に投稿したものを拝借しました) ここで、第 3
  ピンと GND をハンダ付けすると、MouseSystems モードに固定することができ
  ます。

     o  Peter Fredriksson <peter@lysator.liu.se> 氏が、SYSGRATION
        SYS2005 チップを使い、第 3 ピンと GND を繋ぐことで MouseSystem
        モードに設定できることを確かめてくれました。

     o  Uli Drescher <ud@digi.ruhr.de> 氏からは、HN8348A チップについて
        動作確認をいただきました。Ben Ketcham <bketcham@anvilite.
        murkworks.net> 氏からも (第 9 ピンが GND である) HM8348A で設定
        できることの確認をいただきました。

     o  Urban Widmark <ubbe@ts.umu.se> 氏が、第 8 ピンが GND である
        EC3567A1 チップで同じことを試していただきました。著者もこのチッ
        プを試しましたが、問題なく動きました。

     o  Timo T Metsala <metsala@cc.helsinki.fi> 氏には、第 3 ピンと第 9
        ピンの GND を繋いで MouseSystems モードに設定する HT6510A チップ
        の動作確認をいただきました。また同氏によって第 8 ピンが GND であ
        る HT6513B と HT6513F チップについての報告もいただいております。

     o  Robert Romanowski <robin@cs.tu-berlin.de> 氏には、第 3 ピンと第
        8 ピン(GND)を繋ぐ EM83701BP チップの報告をいただきました。

     o  Robert Kaiser <rkaiser@sysgo.de> 氏には、第 3 ピンと GND を繋ぐ
        EC3576A1 の報告をいただきました。

     o  Sean Cross <secross@whidbey.com> 氏には、第 2 ピンと第 7 ピ
        ン(GND)を繋ぐ HM8370GP チップの報告をいただきました。

     o  Peter Fox <fox@roestock.demon.co.uk> 氏には、第 3 ピンと第 8 ピ
        ンを繋ぐ HM8348A チップについて報告をいただきました。

     o  Jon Klein <jbklein@mindspring.com> 氏には、第 3 ピンと第 9 ピン
        を繋ぐことで動作する UA5121S チップについて報告をいただきまし
        た。

  o  また、前述のようなハンダ付けの別法として、システムを起動するときに
     マウスボタンを押すようにさせて、MouseSystems モードにすることもでき
     ます。下記の回路図は、Mathias Katzer <mkatzer@TechFak.Uni-
     Bielefeld.DE> 氏からのものです。

                 -----
              ---  R  ---------O------ + 電源
             |   -----   |        |                     C = 100nF コンデンサ
             |           | E      |                     R = 100kオーム 抵抗
             |       __ /         |                     T = BC557 トランジスタ
             |      /  \          O
             |   B | #V | T         /
             |-----|-#  |          /   マウスの左ボタン
             |     | #\ |         O
             |      \__/          |
            ---         \  C      |
            --- C        ------O----------> (マウスの内部へ)
             |
            ###  Gnd

  【訳注:上記回路ではコンデンサの放電経路がないので、 R にダイオードを抱
  かせる変更を推奨】

  テストしたマウスは、MUS2S という無名のモデルでした。他のマウスでもこの
  方法が上手くいくかどうかは、マウスの回路しだいです。スイッチが + 電源
  ではなく GND に繋がっている場合でも、BC547 のような NPN 型トランジスタ
  を使って、抵抗(R)とコンデンサ(C)を入れ替えれば動くはずです。

  この章ではいろいろな方法を説明しましたが、最終的にどうするかは、あなた
  しだいです。初期設定である Microsoft プロトコルの 2 モダンモードのまま
  でもいいですし、モードの切り替え方法を見つけだして、X ウィンドウ上で 3
  ボタンモードの利点を活かすのもいいと思われます。

  7.  ホイール・マウス

  ここ数年でホイール付きマウスの利用が広がっています。Microsoft の
  Intellimouse をはじめとして、各社がそうしたマウスを製造しています。ホ
  イールは、クリックすることもできますし、ロールアップやロールダウンも可
  能です。いまのところ、ホイール・マウスに関する最も充実したサイトは、
  http://www.inria.fr/koala/colas/mouse-wheel-scroll/ です。このサイトで
  は、多くの X アプリケーションに、マウスのスクロール操作を認識させる方
  法が説明されています。

  一般に、スクロール操作を使うには最新版の X サーバが必要になりますが、
  ホイールのクリック操作だけなら比較的古い X サーバでも認識できます。た
  とえば、Intellimouse は、XFree 3.3.1 以降の X サーバで既にサポートされ
  ています。

  (訳注：ホイール付きマウスの設定方法については、 X mouse wheel scroll
  をご覧ください。)

  8.  gpm を使ってマウスのモードを切り替える

  gpm は、マウスをコンソールモードで利用するためのプログラムです。このプ
  ログラムは通常 Linux ディストリビューションに同梱されているので、コマ
  ンドラインや初期化スクリプト /etc/rc.d/rc.local を利用して始動させるこ
  とができます。ディストリビューションによっては、必ずしも最新バージョ
  ン(この文書の執筆時で 1.13)が入っているわけではないことに注意してくだ
  さい。最新版は、sunsite.unc.edu のミラーサイトで取得できます。

  gpm でのシリアルマウス用の主要モードには、次のものがあります。

       gpm -t ms   : Microsoft モード
       gpm -t msc  : MouseSystems モード
       gpm -t help : ヘルプモード

  上記コマンドを使用して、Microsoft モードと MouseSystems モードを切り替
  えたり、もしくはマウスを検出してその種類を表示させたりすることができま
  す。 MouseSystems モードで gpm を起動させるには、-3 フラグが必要になる
  かもしれません。場合によっては、DTR オプションも必要になるので、そのと
  きは -o dtr フラグを使います。

       gpm -3 -o dtr -t msc

  gpm を使うと、Microsoft モードのときでも、3 つあるすべてのマウスボタン
  をたいてい認識させることができます。新しいバージョン ( 1.0 またはそれ
  以降 (?)) では、認識したその情報を他のプログラムに渡すこともできます。
  他のプログラムに情報を渡すには、次のように -R オプションを付けて gpm
  を起動する必要があります。

       gpm -R -t ms

  こうすることで、gpm は、/dev/gpmdata というデバイスファイルを作成して
  マウスのデータをエクスポートします。このデバイスファイルは、他のプログ
  ラムからはひとつのマウスだと認識されます。ただ、このデバイスファイル
  は、必ず MouseSystems プロトコルを使うようになっていることに注意してく
  ださい。このようにしておくと、下記に示すように Xconfig の設定によっ
  て、/dev/mouse の代わりにこの /dev/gpmdata を使うことができます。た
  だ、X を使う際に、必ず gpm が実行されていることを確認するようにしてく
  ださい。このテクニックを使っても X がマウスの中央のボタンを正しく認識
  しないという報告をする人もしますが、これはおそらくその人の設定に問題が
  あるのだと思われます。

  X と gmp でのマウスボタンのマッピングを同一にするには
  (gustafso@math.utah.edu)

  gpm でのマウスボタンのマッピングのデフォルト設定は、X でのマッピングと
  は異なっている場合があります。gpm と X を同一マシン上で使っていると、
  この違いは紛らわしいかもしれません。gpm での選択とペーストのボタン操作
  を X 上でも同様に行えるようにするには、次の X コマンドを使います。

       xmodmap -e "pointer = 1 3 2"

  これは、2 ボタンか 3 ボタンかに関係なく、左ボタンで選択を、右ボタンで
  ペーストを行うようにするものです。gpm で X の標準ボタンマッピングを使
  えるようにするには、gpm の起動の際に、以下のように -B オプションを付け
  てください。

       gpm -t msc -B 132

  9.  2 つのマウスを使う

  例えば、お使いのラップトップにビルトイン形式のポインティングデバイスが
  付属しているような場合、シリアルマウスをセカンドデバイスとして使いたい
  と思うかもしれません。ビルトイン形式のデバイスには、たいてい PS/2 プロ
  トコルが使われているので、使いたくなければ無視することが可能です。それ
  には、gpm や X が /dev/ttyS0 (もしくは、環境に合わせた適切なデバイス
  ファイル) を使うように設定するだけです。

  両方のポインティングデバイスを同時に使うには、gpm -M を使って、それら
  のデバイスをエキスポートし直してください。設定の詳細については、 gpm
  のマニュアルページをご覧ください。また、XFree 3.3.1 以降では、 XInput
  メカニズムを使ったマルチ入力デバイスの設定が可能になっています。
  XF86Config で自動生成されるファイルに、それについての必要な情報が記載
  されているはずです。

  10.  XF86Config と Xconfig ファイルの例

  X の設定ファイルが置かれる位置は、どのリリース番号の X を使っているか
  やどのディストリビューションを利用しているかによって異なりますが、おそ
  らく /etc/Xconfig か /etc/XF86Config もしくは
  /usr/X11/lib/X11/XF86Config のいずれかでしょう。どれに当たるかは、 X
  起動の際に確認できるはずです。すべてのオプションが画面に出力される前
  に、設定ファイル名が表示されると思います。設定ファイルの書き方
  は、XF86Config と Xconfig ファイルとでは若干異なるので、両方のファイル
  について説明します。

  Microsoft シリアルマウス

  o  XF86config:

       Section "Pointer"
           Protocol "microsoft"
           Device "/dev/mouse"
       EndSection

  o  Xconfig:

       #
       # Mouse definition and related parameters
       #
       Microsoft      "/dev/mouse"

  3 ボタンエミュレーション時の Microsoft シリアルマウス

  o  XF86config:

       Section "Pointer"
           Protocol "microsoft"
           Device "/dev/mouse"
           Emulate3Buttons
       EndSection

  o  Xconfig:

       #
       # Mouse definition and related parameters
       #
       Microsoft      "/dev/mouse"
       Emulate3Buttons

  MouseSystems 3 ボタン・シリアルマウス

  o  XF86config:

       Section "Pointer"
           Protocol "mousesystems"
           Device "/dev/mouse"
           ClearDTR            #  These two lines probably won't be needed,
           ClearRTS            #  try without first and then just the DTR
       EndSection

  o  Xconfig:

       #
       # Mouse definition and related parameters
       #
       MouseSystems    "/dev/mouse"
       ClearDTR                #  These two lines probably won't be needed,
       ClearRTS                #  try without first and then just the DTR

  gpm -R 起動時の Microsoft シリアルマウス

  o  XF86config:

       Section "Pointer"
           Protocol "MouseSystems"
           Device "/dev/gpmdata"
       EndSection

  o  Xconfig:

       #
       # Mouse definition and related parameters
       #
       MouseSystems      "/dev/gpmdata"

  11.  ケーブル、延長ケーブル、アダプタ

  マウスケーブルの導線のなかで実際に必要となるのは、次のものだけです。デ
  ータ転送用の TxD と RxD、電源用の RTS と DTR (の両方もしくは一方)、お
  よび Gnd です。ピン番号に置き換えた場合、以下のようになります。

                   9-pin port     25-pin port
               TxD     3                2
               RxD     2                3
               RTS     7                4
               DTR     4               20
               Gnd     5                7

  上記の表は、9 ピンと 25 ピンの変換アダプタや、延長コードを自作する場合
  には、役に立つと思われます。

  12.  各種の問題と対処方法

  o  X やコンソールモードでマウスが上手く機能しない場合、マウスのシリア
     ル回線上で、同じくシリアル回線を使う getty やモデムなどが動いていな
     いかチェックしてください。また、IRQ の競合が起こっていないかも確認
     してください。

  o  システムによっては、マウスの左ボタンを押しながら X を起動しなければ
     ならないものがあります。そうしたシステムでは、X 起動時に、マウスに
     対してなんらかのシグナルやスパイク波を送るようになっているからで
     す。

  o  シリアルデバイスで問題が生じる場合は、そのシリアルポートが起動時に
     適切に初期化されていないことが原因となっている可能性があります。こ
     れを解決するには、setserial コマンドを初期化スクリプト
     /etc/rc.d/rc.serial から実行する必要があります。詳細について
     は、setserial のマニュアルページや Serial-HOWTO (日本語訳) をご覧く
     ださい。UART チップの型番の指定については、ポートに実際に付属してい
     るチップの種類に関わらず、 setserial /dev/mouse uart 16550 や
     16550a などと指定してみて、動くかどうか確かめてみるとよいでしょう。
     (例えば、マウスは、16c550AF のようなチップを嫌います。)

  o  システムによっては、ClearDTR フラグが正常に機能しないものがありま
     す。その場合は、RTS/CTS ハンドシェークを無効にするために以下のコマ
     ンドを使ってください。

       stty -crtscts < /dev/mouse

  (これは、Vladimir Geogjaev が UART 16450/Pentium マシン上でテストをし
  た結果です。)

  o  Logitec 3 ボタンマウスの真ん中のボタンを有効にするには、ChordMiddle
     ラインが必要になる場合があります。設定ファイル内に、ChordMiddle ラ
     インを Emulate3Buttons のかわりに記述するか、/dev/mouse ラインの後
     に付け加えてください。ClearDTR と ClearRTS ラインを Xconfig ファイ
     ルに追加する必要がある場合もあります。また、Logitec マウスのなかに
     は、ChordMiddle を決して書き加えてはいけないものもあります。書き加
     えると、メニュー画面がマウスと一緒に動いてしまい、スクロールして選
     択することができなくなる症状が現れるものがあるからです。
     (chang@platform.com からの報告です)

  o  ボタンのマッピング変更：xmodmap コマンドを使うと、個々のボタンを押
     した場合に生じる効果を変更することができます。例えば、 xmodmap -e
     "pointer = 3 2 1" というコマンドを使うと、ボタンのマッピングを逆に
     して、左手で使えるようになります。2 ボタンマウスの場合は、引数は 1
     と 2 だけになります。

  o  マウスのアクセラレーション：xset m コマンドを使って、マウスの設定を
     変えることができます。例えば、xset m 2 とすると、マウスのアクセラレ
     ーションが 2 になります。詳細については、マニュアルページをご覧くだ
     さい。

  o  ポインタ・オフセット：マウスをクリックした際、そのカーソル上のアク
     ションではなく、その左右にあるアクションが起動されてしまう場合は、
     画面の設定が正しく行われていない可能性があります。この障害は S3 の
     ドライバを使っている場合に起こるのですが、xvidtune を使うと解決する
     かもしれません。 Invert_VCLK/InvertVCLK もしくは EarlySC を試してみ
     てください。この情報は、Bill Lavender (lavender@MCS.COM) 氏と Simon
     Hargrave 氏からのものです。XF86Config ファイルで次のように設定しま
     す。

  Subsection "Display"
      Modes       "1024x768" "800x600" "640x480" "1280x1024"
      Invert_VCLK "*" 1
      ...

  o  マウス・ボタンを一回だけクリックしたにもかかわらず、ダブル・クリッ
     ク（二回クリック）・アクションが起こってしまうような場合は（バウン
     ス）、マウス自体に問題があるものと思われます。ロジテックのマウスに
     対するこのような問題の解決方法を、Bob Nichols 氏
     (rnichols@interaccess.com) よりいただいております。マイクロスイッチ
     のバウンスをなくすようにマウスの中のレジスタとチップセットをはんだ
     付けします。

  o  あるユーザはマウスを動かせないのに、他のユーザ (例えば、root) では
     問題なく動かせる場合、各自が違う X を起動してしまっている可能性があ
     ります。例えば、X のバージョンや Xconfig の設定などが異なっていると
     いったことです。X のスタートアップメッセージをチェックして、確認し
     ましょう。

  o  マウスカーソルを動かすと、画面の表示が消えていってしまう場合は、サ
     ーバの設定に問題があります。グラフィックカードセクションに linear
     かもしくは nolinear オプションを追加するか、PCI ボードを使っている
     なら tgui_pci_write_off と tgui_pci_read_off を追加してみてくださ
     い。(これは、Trident 製カードの問題のようです。)

  o  マウス自体は機能しているように思えるが、マウスカーソルがスクリーン
     上に現れない場合、"sw_cursor" オプションを設定ファイルのデバイスセ
     クションに追加してみてください。

  o  晴れた日や部屋のライトを付けたときに、マウスが動かなくなる場合があ
     りますが、これはケースの外からの光によってマウスのセンサーが狂って
     しまうからです。これを直すには、ケースの内側を黒く塗って、光の反射
     を防ぐか、あるいは光の入るところに何かのカードなどを差し込んで、光
     の進入を防ぎます。

  o  マイクロソフト製のマウスが、問題の原因となっているということがよく
     あります。最新の「マイクロソフト・シリアル・マウス 2.1A」では、シス
     テムによって動作しないとの報告をかなりいただいております。これは、
     マウスのプラグを一旦引き抜いて、再度差し直すと動作する場合があるよ
     うです。gpm のバージョン 1.13 以降では、 pnp マウスタイプを使っ
     て、2.1A マウスのサポートがなされているはずです (これを再エクスポー
     トする方法については、gpm section をご覧ください)。「マイクロソフ
     ト・インテリマウス」もまた、問題になっている場合が多いのですが、こ
     のマウスは XFree 3.3 以降ではサポートされているようです。

  13.  動作確認が取れているモデル

  現在市場には、非常にたくさんのマウスが出回っています。正直言ってどのマ
  ウスを買うように薦めたらいいか分かりません。ここで私のできることは、様
  々な経験などから、各々のマウスについての特徴を列挙することだけです。し
  かし、これらの情報を参考にしてもまだ少し注意が必要になることがありま
  す。例えば、私のオフィスに全く同じ 2 つのマウスが 2 つのコンピュータに
  それぞれ繋がっていますが、一方で使える機能が他方では使えなかったりする
  のです！ 追加すべき情報があれば、是非お知らせください。

  Mouse Systems オプティカルマウス、シリアルバージョン
  (製造元の名前からも分かるように) ClearDTR や ClearRTS の設定をしなくと
  も、問題なく動作します。
  WiN マウス (Office World で 8 ポンドで売られているもの。 )
  標準的なデュアルモード Microsoft/MouseSystems マウス
  Agiler マウス 2900
  標準的なデュアルモード Microsoft/MouseSystems マウス。 SYSGRATION
  SYS2005 チップをハンダ付けすることができます。
  Sicos マウス
  動作可、設定ファイルに ClearDTR & ClearRTS の追加が必要。
  Index マウス (10 ポンド)
  3 ボタンモードでは動きませんが、ドキュメントがしっかりしています :-)
  Artec マウス
  普通のデュアルプロトコル・マウス、設定ファイルに "ClearDTR" の追加が必
  要。ClearRTS は不要。
  DynaPoint 3 ボタン・シリアルマウス
  普通のデュアルプロトコル・マウス、Xconfig に "ClearDTR" と "ClearRTS"
  の両方が必要。
  Genius Easymouse 3 ボタンマウス
  Mouseman プロトコルで問題なく動作します。ChordMiddle パラメタの設定は
  不要です。Roderick Johnstone (rmj@ast.cam.ac.uk) からの報告。
  Truemouse 台湾製
  動作確認済み。設定ファイルに "ClearDTR" が必要。 Tim MacEachern
  (http://ccn.cs.dal.ca/ ae721/Profile.html) からの報告。
  Champ ブランドのマウス
  MouseSystems モードを有効にする場合にも、スイッチを PC に入れることが
  必要。(tnugent@gucis.cit.gu.edu.au より)
  MicroSpeed マウス
  普通のデュアルプロトコル・マウス
  Venus ブランド ($ 7)
  内部に 2 ボタンと 3 ボタンを切り替えるジャンパスイッチがある。
  (mhoward@mth.com より)
  Saturn
  スイッチ付きマウス。3 ボタン用 MouseSystems マウスとして動作確認済み。
  (grant@oj.rsmas.miami.edu より)
  Mnahattan マウス
  "MS AM" / "PC AT" のモード切替スイッチ付き。MS モードは、gpm -R を使え
  ば、問題なく動作する。 (komanec@umel.fee.vutbr.cz より)
  Inland マウス
  "PC/MS" モードスイッチ付き。動作問題なし。
  (http://ptsg.eecs.berkeley.edu/ venkates より)
  qMouse (3 ボタン), FCC ID E6qmouse X31
  アメリカで 10 ドル前後の値段。"gpm -t msc -r 20" で動作可能。
  MouseSystems 3 ボタンモードへのジャンパや切り替えスイッチは付属してい
  ない。X での動作は不安定。echo "*n" > /dev/mouse で、応答なし。
  Mitsumi マウス (2 ボタン), FCC ID EW4ECM-S3101
  アメリカで 12 ドル前後の値段。X でも gpm でも安定した、動きがスムーズ
  な 2 ボタンマウス。(上記ふたつの情報は、gustafso@math.utah.edu より)
  PC Accessories マウス
  CompUSA で 10 ドル以下で得られていたもの。底面に PC/MS 切り替えスイッ
  チが付属。動作確認済み。(steveb@communique.net より)
  First Mouse
  Tempo で 7.79 ポンドと安かった。Microsoft/MouseSystems のデュアルモー
  ド仕様であり、ボタンを押しながら起動することでモードを変更するタイプ。
  スイッチやジャンパなし。4 本のワイヤで接続するもので、echo '*n' には反
  応なし。
  Trust 3 ボタンマウス
  スイッチ切り替えによるデュアルモードタイプ。スイッチを 'PC' 側にし
  て、MouseSystems モードでの動作確認済み。gpm では、Microsoft モードで
  動かない。
  Chic 410
  ms モードにして gpm -R コマンドを使うと、完璧に動く。Stephen M. Weiss
  (steve@esc.ie.lehigh.edu) より。
  KeyMouse 3 ボタンマウス
  Xconfig に ClearDTR と ClearRTS を設定すれば、動作問題なし。 gpm では
  '-o dtr' が必要。(EZ4PHIL@aol.com より)
  Qtronix キーボード 'Scorpio 60'
  MouseSystem プロトコルで 3 つのボタンがすべて動く。
  (hwe@uebemc.siemens.de より)
  Tecra 720 ラップトップ
  タッチパッド型のポインティングデバイスは、/dev/cua0 を使う。スティック
  型のほうは、/dev/psaux。(apollo@anl.gov より)
  Anubis マウス
  動作問題なし。X の仮想コンソール切り替えの際は、左ボタンを押しながら行
  う必要がある。Joel Crisp (Joel.Crisp@bristol.ac.uk) より。
  Yakumo No.1900 マウス
  gpm -R -t ms で X にエクスポートすることで、問題なく動作する。 Oliver
  Schwark (flinux.nbg.sub.org!oli@flinux.nbg.sub.org) より。
  Genius `Easy Trak' トラックボール
  Microsoft モードでは動作不可。Xconfig で Mouseman を指定すると問題なく
  動作する。(VTanger@aol.com より)
  Highscreen Mouse Pro
  問題なし (alfonso@univaq.it より)
  Logitech CA シリーズ
  MMseries プロトコル、2400 Baud、150 SampleRate 指定により X で動作す
  る。 (これは、Logitech CC, CE, C7 および C9 マウスにも当てはまるはずで
  す。) (vkochend@nyx.net より)
  A4-Tech マウス
  DTR line の指定により X と gpm の両方で動作する。 (deane@gooroos.com
  より)
  Vertech マウス
  通常の Microsoft/MouseSystems での動作が可能。ハンダ付けで固定すること
  もできる。(duncan@fs3.ph.man.ac.uk より)
  Boeder M-7 "Bit Star" (および M13 を除くその他の M シリーズ
  いずれかのボタンを押しながら電源投入することで、MouseSystems プロトコ
  ルに切り替え可能。(sjt@tappin.force9.co.uk より)
  Mouse Systems "スクロール" マウス (4 ボタンおよびローラーボタン)
  2/3 ボタン切り替えスイッチ付き。3 ボタンモードの場合、3 ボタン
  MouseSystems マウスとして機能し、4 つ目のボタンもしくは wheel は無視さ
  れる。 ClearRTS/DTR は不要。 (parker1@airmail.net より)
  Radio Shack 3 ボタン・シリアルマウス
  Model 26-8432 が Tandy で 20 ポンド前後。ClearDTR の指定
  で、MouseSystems マウスとして動作する。 (Sherilyn@sideway.demon.co.uk
  より)
  Dexxa シリアルマウス
  Xconfig で Microsoft プロトコルを指定することで、問題なく動く。
  ChordMiddle 等は不要。 (slevy@ncsa.uiuc.edu より)
  Belkin 3 ボタンマウス
  Sears で 10 ドルほどで購入。PC モードでは、gpm で -o rts の指定が必要
  (おそらく X では ClearRTS が必要)。 (mmicek@csz.com より)

  14.  詳しい情報

  o  Mouse Systems のウェブサイトは、http://www.mousesystems.com/。
     Windows 用ドライバも掲載されているので、必要なら。

  o  Linux Serial HOWTO は、世界中の sunsite のミラーサイトで閲覧可能で
     す。最寄りサイトがどこにあるか分からない場合は、
     http://sunsite.unc.edu/mdw/linux.html でお探しください。

  o  マウスの動作原理に関する優れた解説は、
     http://www.4QD.co.uk/faq/meece.html。

  o  Xconfig や XF86Config ファイルの詳細は、該当する man ページを見る
     か、XFree86 HOWTO のような X Window System のインストールについて書
     かれた文書をご覧ください。また、XFree86 FAQ が、
     http://www.XFree86.org/ とそのミラーサイトに掲載されています。

  o  gpm に関する情報は、該当の man ページに記載がありますが、 Darin
     Ernst の次のウェブページもご覧になるとよろしいかと思います。
     http://www.castle.net/X-notebook/mouse.txt

  o  マウスのハードウェアやソフトウェアに関する様々な情報が、次のページ
     にあります。
     http://www.hut.fi/Misc/Electronics/pc/interface.html#mouse

  15.  マウスについてのあとがき

  この文書の情報の多くは、様々な Linux のニュース・グループから取得しま
  した。それらのニュース・グループで貴重な情報を提供してくださった方々に
  この場を借りて御礼申し上げます。

  最後に、まとめとして、以下のことが言えると思います。

  o  安価な Microsoft プロトコルの 3 ボタンマウスであっても、設定次第で
     動く。

  o  X サーバの設定の際には、Mouse Systems のマウスだと思って設定するこ
     と。

  o  左ボタンを押しながら電源を入れると、MouseSystems モードに切り替える
     ことができる。

  o  X 起動の際は、左ボタンを押しておく必要がある場合がある。

  o  マウスは、予想以上にインテリジェントなデバイスである。

  16.  日本語訳について

  誤字・誤訳等は、JF@linux.or.jp までお願いします。

  翻訳：衛藤 誠司 <seto@slip.net>          (1997/10/28)
  更新：千旦 裕司 <ysenda@pop01.odn.ne.jp> (2001/08/31)
  校正：Seiji Kaneko <skaneko@a2.mbn.or.jp>

