Fedora12では、最新版のXserver1.7が使われています。このXserver1.7では、複数のマウスポインタや複数のキーボードを使うことができるMPXという機能が盛り込まれており、いろいろ調べた結果、何とか使えるようになったのでまとめておこうと思います。

ちなみに、Ubuntu 9.10ではまだXserver1.7に対応していませんので、Fedoraならではの最新機能の1つといえるでしょう。

[追記] マウスの表示名は環境によって異なりますので、以下のコマンドは、xinput list --short の結果を見て、適宜調整して下さい。


マウスポインタが2つ表示され、それぞれを別々に操作することができます。
利用したPCはAcerのネットブックAspireone D250で、搭載タッチパッドとLogicoolのUSB Receiver付き無線マウスを使用しました。MPXの設定は、端末を使ったコマンド操作が中心となります。

STEP 1:xorg-x11-appsのインストール
MPXの設定にはxinputというコマンドを使います。これはxorg-x11-appsというパッケージに含まれているので、もし入っていなければインストールしておきます(初めから入っていたかも知れません)。

$ su
# yum install xorg-x11-apps


STEP 2:マウスの確認
まずはマウスポインタが1つの状態で、利用したいマウス(orタッチパッド)が両方とも使えるかどうか確認しておいて下さい(ここで認識されていないと次へ進めません)。初めに、xinputコマンドでそれぞれのマウスの名称とIDを確認します。以下、デバイスの設定に関わることですので、rootでの作業となります。
2010/3/12 訂正:一般ユーザでも可能でした。

# xinput list --short

mpx-1
実行すると、このような表示が出ると思います。

この場合、「Virtual core pointer」というブロックにある「SynPS/2 Synaptics TouchPad」がタッチパッドの名称を、同じブロックにある「Logitech USB Receiver」が無線マウスの名称を表しています。

STEP 3:マウスポインタの追加
右側の「master pointer」と書かれている「Virtual core pointer」がマウスポインタを表し、実際のマウスは「slave pointer」として登録されています。そこで、新たな「master pointer」を追加して、そこに2つ目のマウスを「slave pointer」として登録すれば、複数のマウスポインタが使えるようになるわけです。

まず「sxg input」という名前(これは任意の名称で構いません)の「master pointer」を追加します。この時点で、新たなマウスポインタが画面中央に表示されます。

# xinput --create-master "sxg input"

下記のコマンドで確かめてみましょう。

# xinput list --short

mpx-2
「sxg input pointer」というブロックが追加されているはずです。

続いて、「sxg input pointer」にタッチパッドを「slave pointer」として登録します。登録するには「--reattach」というオプションを使います。これを実行すれば、2つ目のマウスポインタが利用可能になっているはずです。"SynPS/2 Synaptics TouchPad"の部分はIDの数値を使っても構いません。

# xinput --reattach "SynPS/2 Synaptics TouchPad" "sxg input pointer"

下記のコマンドで確かめてみましょう。

# xinput list --short

mpx-3
「SynPS/2 Synaptics TouchPad」が「sxg input pointer」に移動しています。


STEP 4:マルチポインタの利用
これで、タッチパッドと無線マウスが別々に使えるようになりました。ウィンドウの移動が同時にできなかったり、クリック動作が1つずつしかできなかったりといういくつかの不具合(マウスボタンの割り当ての問題かも)はあるものの、ポインタが2つ表示され、動かすことができるということだけでもちょっとした感動です

STEP 5:復元方法
元の状態に戻すには、まず「sxg input pointer」に移動させたマウスを「Virtual core pointer」に改めて移動します。

# xinput --reattach "SynPS/2 Synaptics TouchPad" "Virtual core pointer"

最後に、追加した「sxg input pointer」を削除します。

# xinput remove-master "sxg input pointer"

これで元の状態に戻っているはずですので、下記のコマンドで確認しておきましょう。

# xinput list --short

この機能を使えば、マルチタッチにも対応できるようなのですが、今のところ、確認できているのは以上です。MPXには、かなり前から注目していたのですが、まだできないものだとばかり思っていました。

キーボードを複数利用することもできます。つまり、別途デュアルディスプレイを用意すれば、1台のPCを同時に2人で使えるようになるわけで、これは画期的なことではないでしょうか?

企業で利用されれば、必要なPCの台数を半減でき、大幅な経費削減も可能なのでは?とはいえ、デスクトップLinuxを利用している企業がどれほどあるのかはわかりませんが…。