マルチタッチディスプレイ
マルチタッチ デバイスは、hid-multitouch
モジュールによって処理されます。カーネルモジュール を参照してください。
設定 (USB デバイス)
まず lsusb
を使ってタッチスクリーンのベンダー ID (VID) とプロダクト ID (PID) を確認してください:
$ lsusb
... Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd ...
上記の場合、VID は 0eef (eGalax) で PID は 725e です。それから、[1] の MT_CLS_* の定義を確認してください。現在のところ 3M Cypress と eGalax のベンダークラスが存在します。使用しているデバイスにマッチするクラスがない場合、他の MT_CLS_* を実験することができます。例:
#define MT_CLS_EGALAX 0x0103
MT_CLS_* は10進数に変換する必要があります (上記の例では 0x0103 は10進数で 259 です)。
hid-multitouch
のロード後、デバイスのオプションを以下のように渡してください:
# echo BUS VID PID MT_CLASS_* > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
タッチスクリーンが USB デバイスで BUS=3 の場合、実際に使用するコマンドは以下のようになります:
# echo 3 0eef 725e 259 > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
その後再起動してください。タッチスクリーンが認識されたら、デバイスの詳細 (lsusb
の出力) を linux-input メーリングリスト に報告すると良いでしょう。
タッチスクリーンが正しく動作しない場合、タッチスクリーン用のドライバーをインストールする必要があるかもしれません。#ドライバーを参照してください。
タッチスクリーンの回転
[2] を保存して実行可能属性を付与してください (スクリプトを実行して入力オプションを確認してください)。
ドライバー
eGalax
eGalax 製のタッチスクリーンのドライバーは eGalax のウェブサイト から入手できます。また、xf86-input-egalaxAUR パッケージでもインストールできます。
Y 軸の反転
eGalax ドライバーをインストールした後にタッチスクリーンの Y 軸が反転してしまう場合、/etc/eGTouchd.ini
ファイルを編集して Direction
の値を 0 から 2 に変更してください:
/etc/eGtouchd.ini
... DetectRotation 0 Direction 2 Orientation 0 ...
ジェスチャー
ウィンドウマネージャにジェスチャー機能を追加したい場合は、Arch User Repository から touchegg をインストールし、その ドキュメント を参照してください。