次のページ 前のページ 目次へ

1. デバイスの設定方法

タッチスクリーンデバイスは、 XF86Config ファイル(たいていは /etc/X11/XF86Config か あるいは /etc/XF86Config です)にある Xinput セクションで設定します。 まず最初に、デバイスドライバモジュールが存在することを確認してください。 そのモジュールは /usr/X11R6/lib/modules/ にあります(先に触れたデバイス用の モジュールは xf86Elo.so と xf86MuTouch.so です)。 では、XF86Config を調べてみましょう。次のようなセクションがあるはずです。

Section "Files"
...
ModulePath "/usr/X11R6/lib/modules"
...
EndSection

X サーバーにそのモジュールをロードさせるには、次のようなセクションが必要です。

Section "Module"
Load "xf86Elo.so"
EndSection

さあ、ここはもう少し微妙な部分です。X はそのデバイスに関するパラメータを いくつか知っている必要があります。このためのセクションは次のようになります (詳細は "man XF86Config" を見て下さい)。

Section "Xinput"
 SubSection "Elographics"  
#MicroTouch デバイス用のエントリは "MicrotouchFinger" サブセクションになります。
  Port "/dev/ttyS1" # シリアルポート 2 のデバイス用
  DeviceName "TouchScreen" #他と重複しなければどのような名前でも良い。
  MinimumXPosition 300
  MaximumXPosition 3700
  MinimumYPosition 300
  MaximumYPosition 3700
  UntouchDelay 10 #MuTouch ではサポートしていない
  ReportDelay 10  #MuTouch ではサポートしていない
  AlwaysCore #起動時にデバイスを作動させる
 EndSubSection
EndSection

MinimumXPosition やその他のエントリで用いている値は、もちろんこのハードウェア をセットアップするのに特有のものです(つまり使っているモニターと タッチスクリーンの相対的な位置によって変わるわけです)。これらの値は モニター上のポイント(0,0) と (xmax,ymax) が、タッチスクリーン上のどこに マップされるかを決めるものです(xmax と ymax は、1024x768 といったような、 Xserver 用に選んだ解像度によって変わります)。デバイスドライバはこれら の値を読み込んで、他の座標を設定します。

 -------------タッチスクリーン領域---------------
 I                                              I
 I  ########目に見えるモニター領域############  I
 I  #x                                       #  I
 I  # (0,0)                                  #  I
 I  # (MinimumXPosition,MinimumYPosition)    #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #                                        #  I
 I  #     (MaximumXPosition,MaximumYPosition)#  I
 I  #                             (xmax,ymax)#  I
 I  #                                       x#  I
 I  ##########################################  I
 I                                              I
 ------------------------------------------------

このマッピング作業は試行錯誤で行なうか、あるいはデバイスの出力をそのままの状態で 読み込めばできます(後者の場合はある種のシリアルポートプログラミングが必要です。 "The Linux Serial Programming HOWTO"を見て下さい)。(訳注: 邦訳は、 Serial-Programming-HOWTO です。) EloTouch と MicroTouch のタイプについては、基本的な測定ツールが存在します (これはこの文書の著者が作ったもので、以下のサイトで見つかります。 ftp://metalab.unc.edu/pub/linux/X11/xutils/touchcal-0.1.tar.gz)。


次のページ 前のページ 目次へ