「タッチスクリーン」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Touchscreenへの転送ページ)
 
1行目: 1行目:
  +
[[Category:入力デバイス]]
#redirect[[en:Touchscreen]]
 
  +
[[en:Touchscreen]]
  +
{{Related articles start}}
  +
{{Related3|Calibrating Touchscreen|タッチスクリーンの較正}}
  +
{{Related articles end}}
  +
  +
Linux でタッチスクリーンデバイスをセットアップしようと試みた場合、(多少の較正は必要ながらも) 特に何も設定しなくても動作するときと、あるいはカーネルによってサポートされていないデバイスなら、設定するのがとても面倒くさい場合があります。
  +
  +
== イントロダクション ==
  +
  +
この記事ではカーネル (の usbtouchscreen モジュールなど) によってサポートされているタッチスクリーンデバイスを対象にします。サポートされていれば、デバイスの {{ic|/dev/input/event*}} ノードが存在するはずです。ノードが存在するか確認するには:
  +
  +
$ less /proc/bus/input/devices
  +
  +
あるいはディスプレイをタッチしたときに使われるイベントノードを確認するには:
  +
  +
$ cat /dev/input/event? # replace ? with the event numbers
  +
  +
デバイスノードが見つけられたのであれば、デバイスを動作させることもおそらくできるはずです。
  +
  +
== 利用可能な X11 ドライバー ==
  +
  +
X11 用のタッチスクリーンインプットドライバーは多数存在します。''extra'' リポジトリに入っている最も一般的なドライバーは:
  +
  +
* {{Pkg|xf86-input-evdev}} (タッチスクリーンを接続しただけで動作する場合のデフォルトドライバー)
  +
* {{Pkg|xf86-input-libinput}}; [[libinput]] を参照
  +
* {{Pkg|xf86-input-elographics}}
  +
  +
リポジトリに含まれていない、マイナーなドライバーは:
  +
  +
* xf86-input-magictouch
  +
* xf86-input-mutouch
  +
* xf86-input-plpevtch
  +
* xf86-input-palmax
  +
  +
デバイスによってはプロプライエタリなドライバーも存在しますが (例: {{AUR|xf86-input-egalax}})、最初にオープンソースのドライバーを試すことを推奨します。
  +
  +
あなたが使用するタッチスクリーンデバイスにあわせて適当なドライバーを選択してください。タッチスクリーンが既に動作する場合はおそらく evdev がデフォルトです。
  +
  +
== evdev ドライバー ==
  +
  +
=== キャリブレーション ===
  +
  +
{{AUR|xinput_calibrator}} (AUR) をインストールして、''xinput_calibrator'' を実行して指示に従って下さい。
  +
  +
== マルチディスプレイでタッチスクリーンを使う ==
  +
マルチディスプレイを使う場合 (その中にタッチスクリーンも含まれる場合)、タッチサーフェスとスクリーンのマッピングを Xorg に指定する必要があります。
  +
  +
xinput を使うことでとても簡単に設定できます:
  +
  +
以下は Wacom タブレットと外付けモニタを使用する例です。xrandr を実行すると2つのディスプレイが表示されます:
  +
  +
{{hc|$ xrandr|
  +
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 8192 x 8192
  +
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  +
1024x768 60.0*+
  +
800x600 60.3 56.2
  +
640x480 59.9
  +
VGA1 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 477mm x 268mm
  +
1920x1080 60.0*+
  +
1600x1200 60.0
  +
1680x1050 60.0
  +
1680x945 60.0
  +
}}
  +
  +
上記で2つのディスプレイは LVDS1 と VGA1 であることがわかり、LVDS1 はタブレットの内蔵ディスプレイで、VGA1 は外付けモニタです。スタイラスの入力を LVDS1 にマップしたいとします。そこで、スタイラスの入力の ID を確認する必要があります:
  +
  +
{{hc|$ xinput --list|
  +
⎡ Virtual core pointer id=2 [master pointer (3)]
  +
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
  +
⎜ ↳ QUANTA OpticalTouchScreen id=9 [slave pointer (2)]
  +
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]
  +
⎜ ↳ Serial Wacom Tablet WACf004 stylus id=13 [slave pointer (2)]
  +
⎜ ↳ Serial Wacom Tablet WACf004 eraser id=14 [slave pointer (2)]
  +
⎣ Virtual core keyboard id=3 [master keyboard (2)]
  +
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
  +
↳ Power Button id=6 [slave keyboard (3)]
  +
↳ Video Bus id=7 [slave keyboard (3)]
  +
↳ Sleep Button id=8 [slave keyboard (3)]
  +
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
  +
↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]
  +
}}
  +
  +
ID が 13 と 14 の2つのスタイラス入力が存在することが確認できます。以下のように実行して入力を出力にマップしてください:
  +
  +
$ xinput --map-to-output 13 LVDS1
  +
$ xinput --map-to-output 14 LVDS1
  +
  +
== Touchegg ==
  +
  +
[[Touchegg]] はマルチタッチのジェスチャープログラムです。バックグラウンドで実行することで、ウィンドウマネージャにマルチタッチのサポートを追加します。

2015年12月18日 (金) 22:31時点における版

関連記事

Linux でタッチスクリーンデバイスをセットアップしようと試みた場合、(多少の較正は必要ながらも) 特に何も設定しなくても動作するときと、あるいはカーネルによってサポートされていないデバイスなら、設定するのがとても面倒くさい場合があります。

イントロダクション

この記事ではカーネル (の usbtouchscreen モジュールなど) によってサポートされているタッチスクリーンデバイスを対象にします。サポートされていれば、デバイスの /dev/input/event* ノードが存在するはずです。ノードが存在するか確認するには:

$ less /proc/bus/input/devices

あるいはディスプレイをタッチしたときに使われるイベントノードを確認するには:

$ cat /dev/input/event? # replace ? with the event numbers

デバイスノードが見つけられたのであれば、デバイスを動作させることもおそらくできるはずです。

利用可能な X11 ドライバー

X11 用のタッチスクリーンインプットドライバーは多数存在します。extra リポジトリに入っている最も一般的なドライバーは:

リポジトリに含まれていない、マイナーなドライバーは:

  • xf86-input-magictouch
  • xf86-input-mutouch
  • xf86-input-plpevtch
  • xf86-input-palmax

デバイスによってはプロプライエタリなドライバーも存在しますが (例: xf86-input-egalaxAUR)、最初にオープンソースのドライバーを試すことを推奨します。

あなたが使用するタッチスクリーンデバイスにあわせて適当なドライバーを選択してください。タッチスクリーンが既に動作する場合はおそらく evdev がデフォルトです。

evdev ドライバー

キャリブレーション

xinput_calibratorAUR (AUR) をインストールして、xinput_calibrator を実行して指示に従って下さい。

マルチディスプレイでタッチスクリーンを使う

マルチディスプレイを使う場合 (その中にタッチスクリーンも含まれる場合)、タッチサーフェスとスクリーンのマッピングを Xorg に指定する必要があります。

xinput を使うことでとても簡単に設定できます:

以下は Wacom タブレットと外付けモニタを使用する例です。xrandr を実行すると2つのディスプレイが表示されます:

$ xrandr
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 8192 x 8192
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0*+
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1600x1200      60.0  
   1680x1050      60.0  
   1680x945       60.0  

上記で2つのディスプレイは LVDS1 と VGA1 であることがわかり、LVDS1 はタブレットの内蔵ディスプレイで、VGA1 は外付けモニタです。スタイラスの入力を LVDS1 にマップしたいとします。そこで、スタイラスの入力の ID を確認する必要があります:

$ xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ QUANTA OpticalTouchScreen               	id=9	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=11	[slave  pointer  (2)]
⎜   ↳ Serial Wacom Tablet WACf004 stylus      	id=13	[slave  pointer  (2)]
⎜   ↳ Serial Wacom Tablet WACf004 eraser      	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=12	[slave  keyboard (3)]

ID が 13 と 14 の2つのスタイラス入力が存在することが確認できます。以下のように実行して入力を出力にマップしてください:

$ xinput --map-to-output 13 LVDS1
$ xinput --map-to-output 14 LVDS1

Touchegg

Touchegg はマルチタッチのジェスチャープログラムです。バックグラウンドで実行することで、ウィンドウマネージャにマルチタッチのサポートを追加します。