マルチポインタ X

提供: ArchWiki
2018年2月6日 (火) 23:54時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「http://www.x.org/」を「https://www.x.org/」に置換)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Xorg サーバーにはバージョン 1.7 から「マルチポインタ」と呼ばれる機能が搭載されています。画面上に (それぞれにフォーカスがある) 複数のマウスポインタを表示して、別々の物理入力デバイスで操作できるという機能です。簡単なマルチシートソリューションとして使うことができます。

基本概念

マスターデバイスとスレーブデバイス

XInput2 が導入されることにより、入力デバイスは2段階で管理されます:

  • 画面上のカーソルに対応するマスターデバイス。
  • 物理的な入力デバイスに対応するスレーブデバイス。

マスターデバイスはポインタとキーボードのペアです。マスターデバイスには複数のスレーブデバイスを接続することができ、接続された全てのスレーブデバイスからマスターデバイスのカーソルを操作できます。

クライアントポインタ

アプリケーションが入力をキャッチすると (例: フルスクリーンのゲーム)、クライアントポインタと設定されているマスターデバイスが取得されます。デフォルトでは、クライアントポインタは "Virtual core pointer" に設定されていますが、"xinput" ユーティリティを使うことで別のデバイスに設定できます。

設定

xinput ユーティリティ

CLI ユーティリティの xinput を使ってポインタを追加できます。

"name pointer" と "name keyboard" という名前のマスターデバイスのペアを作成:

$ xinput create-master [name]

既存のスレーブデバイスの名前と id を確認:

$ xinput list

新しく作成したマスターデバイスにスレーブデバイスを再接続:

$ xinput reattach [slave device name or id] [master device name or id]

例えば "Auxiliary" という名前のデバイスを作成:

$ xinput create-master Auxiliary

xinput デバイスを確認すると以下のように表示されます:

Virtual core pointer
  >Virtual Core XTEST pointer
  >[probably your main mouse]
Virtual core keyboard
  >Virtual Core XTEST pointer
  >[probably your main keyboard]
  >[other function buttons]
Auxiliary pointer
  >auxiliary XTEST pointer
Auxiliary keyboard
  >auxiliary XTEST keyboard

2番目のマウスとキーボードを auxiliary にそれぞれ接続します。XTEST デバイスは無関係です。

以下のコマンドでデバイスを接続します:

$ xinput reattach [device id #] "Auxiliary pointer"

キーボードも同じように接続してください。

ソース: Antonio Ospite at ao2.it

ソフトウェアのサポート

明示的にマルチポインタをサポートしていないソフトウェアでもマルチポインタを使うことはできますが、機能は制限されます。マルチポインタをサポートしていないアプリケーションはポインタを区別することができないため、全ての操作はマスターデバイスのペアによる操作として認識されます。

ウィンドウマネージャ

マルチポインタに対応しているウィンドウマネージャは以下のようなことが可能です:

  • 複数のフォーカスを認識します。
  • フォーカスされたウィンドウのクライアントポインタをフォーカスしたポインタに設定します。
  • ウィンドウの移動とリサイズを同時に行えます。

2016年12月24日現在、マルチポインタをサポートしているのは multicursor-wm (開発は2011年に停止) しかありません。

参照