Next Previous Contents

2. 设定device

Touch screen 的设定是通过XF86Config文档中的Xinput部分来完成. (通常是 /etc/X11/XF86Config 或者是 /etc/XF86Config). 首先检查硬件的驱动模块是否存在. 它们应该在 /usr/X11R6/lib/modules/ (我使用的模块是 xf86Elo.so 和 xf86MuTouch.so , 它们分别是两个不同产商的模块).现在看一下XF86Config,应有一部分看起来像这样:


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

如果要将模块挂进 X server ,应有一部分像这样:



Section "Module"
Load "xf86Elo.so"
EndSection

现在到了最关建的时候了. X 需要设备的一些参数. 这部分看起来像是这样(想瞭解更多的细节请参照 "man XF86Config" ):


Section "Xinput"
 SubSection "Elographics"  
#the entry for a MicroTouch device would be SubSection "MicrotouchFinger"
  Port "/dev/ttyS1" # for a device at serial port 2
  DeviceName "TouchScreen" #可以随意设定名称could be any unambiguous name
  MinimumXPosition 300
  MaximumXPosition 3700
  MinimumYPosition 300
  MaximumYPosition 3700
  UntouchDelay 10 #not supported with MuTouch
  ReportDelay 10  #not supported with MuTouch
  AlwaysCore #activates the device on startup
 EndSubSection
EndSection

MinimumXPosition 等等是硬件的细节设定( 设定touch screen 在显示设备上的位置). 数值将显示座标 (0,0) 和 (xmax,ymax) 映射到 Touch screen 设备上(xmax 和 ymax 取决于 Xserver 的屏幕区域, 比如 1024x768).图例:


 --------------touch screen 区域-----------------
 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
 ------------------------------------------------

这个映射可以通过反覆试验,或者参照硬件输出的数据完成 (需要写一些在 serial port 方面的程序programming, 参照: "The Linux Serial Programming HOWTO"). 作者写了一个EloTouch 和 MicroTouch 产品的校准程序, 可在这里下载:

ftp://metalab.unc.edu/pub/linux/X11/xutils/touchcal-0.1.tar.gz


Next Previous Contents