マルチタッチディスプレイ

提供: ArchWiki
2020年10月29日 (木) 07:02時点におけるHiromi-mi (トーク | 投稿記録)による版 (リンク切れ修正)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Linux カーネル 3.2 から、マルチタッチディスプレイは 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
...

ジェスチャー

ウィンドウマネージャでジェスチャーを使いたい場合、touchegg を参照してください。