次のページ 前のページ 目次へ

4. X Server

4.1 XFree 3.3.2 (と、それ以降)

XFree 3.3.2 は、生まれつき多くのマウスホイールデバイスをサポートして います。 XFree 3.3.2 の配布物の中のドキュメント・ファイル README.mouse を見てください。そのサポートは極めて完全で、カスタマイズ可能です。 それはある種のマウス (例えば logitech MouseMan+) の第4のボタン (横の親指ボタン)もサポートしています。ですから少なくとも XFree 3.3.2 に アップグレードすることは、推奨される解決方法です。 通常、必要なことの全ては XF86Config で bindtag を宣言し、Pointer セクシ ョンに以下の行を付け加えることです:

    ZAxisMapping 4 5

我々は、ホイールを Z 軸(axis)として使う代わりに、ボタンに割り当てます。 ボタンは、再コンパイルしたりアプリケーションやツールキットにパッチを当て なくても、リソースを変更するだけでそれをサポートする唯一の方法だからです。 4ボタンマウスを持っていて、第4ボタンを使いたいなら、ホイール用に直接 5 と 6 を使うのではなく、このページのリソースを使うことができるように button6 に button4 を再度割り当てることを勧めます。あぁ、X は公式には 5 つのボタンしかサポートしていません(従って Xt と Motif アプリではボタン 6 を使うことができない)、だからアプリケーションに依存する横のボタンは、 もう使わないでください。そして、X サーバはこの方法はできないようなので、 横のボタンを使うことはまったたくお勧めできません。上記の場合は "Protocol imps/2" と "ZAxisMapping 4 5" を使ってください。第6のボタンを使いなら、 以下のコマンドで横のボタンを button6 に再度割り当てることができます:

xmodmap -e "pointer = 1 2 3 6 4 5"
このコマンドは、その初期化プロセスのために、対話的にボタンを押したり離し たりするよう促すかもしれない点に注意してください。そこで私は X のスタート アップ・スクリプトで以下のコードを使います:
## rebind mouse buttons for mouseman+
echo '#!/bin/sh
xmodmap -e "pointer = 1 2 3 6 4 5"' >/tmp/x$$
chmod a+x /tmp/x$$
xterm -bg pink2 -fg blue4 -fn 9x15 -name "Pointer Remap" -e /tmp/x$$
rm -f /tmp/x$$

そして XF86Config ファイルで以下のプロトコルのどれか一つを使う必要があり ます:

  Section "Pointer"
      Protocol "imps/2"            # for ps/2 wheel mouse
      Protocol "intellimouse"      # for serial wheel mouse
      Protocol "MouseManPlusPS/2"
      ... see the Xfree docs

警告! X Config ファイルに Emulate3Buttons が定義されていると、これらの パッチまたはサーバは動作しません。

4.2 XFree 3.3.1 (および派生物 : SuSE)

3.3.2 またはそれ以上にアップグレードする必要があります。 下記の行は参考のためにのみここに載せます。

標準の XFree v3.3.1 サーバは、シリアル MS マウスでのみ動作します。 上記の解決策はMS のシリアルおよび PS/2 バージョンと、 Logitech マウス で動作します。

XF86Config ファイルで以下のどれか一つのプロトコルを使用する必要があります:

  Section "Pointer"
      Protocol "imps/2"            # for ps/2 wheel mouse
      Protocol "intellimouse"      # for serial wheel mouse

注意! これらのパッチまたはサーバは、X Config ファイル (XF86Config)で Emulate3Buttons が定義されていると動作しません! [症状]: ホイールからは、ボタン 1, 2, 3 用のシグナルしか送出されません。 [理由]: Enulate3Buttons は複雑な仕組みで書かれていて、3 つ以上のボタンを 扱うには、再設計する必要があるためです。 [解決策]: Emulate3Buttons の行が存在する場合は、コメントにします。

4.3 商用のサーバ

AcceleratedX ( X-Inside): Michael Welsh Duggan はこれでカーネルを再コンパイルするための /usr/src/linux/drivers/char/psaux.c のパッチ を作成しました。 ローカルコピー もあります。

Metro Link : 1998年6月から Microsoft Intellimouse をサポートしています (しかし Logitech はまだ?)。


次のページ 前のページ 目次へ