Microtouch make a range of resistive and capacitive screens. I beleive this procedure should work for all their screens, as they use a common controller (which can be serial (DB9), PS/2 or USB) across the range.
XFree86 4.x
This is the procedure for Xfree86 v4.x, DB9 serial. If you are using PS/2, change "/dev/ttyS0" to "/dev/psaux". I'm still working on USB.$ su - $ cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4-safe $ vi /etc/X11/XF86Config-4 add the following lines to each given section. Section "ServerLayout" ... InputDevice "TouchScreen" "SendCoreEvents" ... EndSection Section "Module" ... Load "mutouch" ... EndSection --- Add this entire section --- Section "InputDevice" Identifier "TouchScreen" Driver "mutouch" Option "Device" "/dev/ttyS0" Option "Type" "finger" Option "MinX" "0" Option "MaxX" "16383" Option "MinY" "0" Option "MaxY" "16383" Option "SendDragEvents" "false" EndSectionThe SendDragEvents option allows you to specify if drag events are allowed or not. Drag events are required for moving scrollbars, windows etc., but you may want to turn them off in a kiosk-type application where they are not supported.
Restart X-windows. If you have a problem with the setup, use CNTL-ALT-F2 to get a virtual console, log in as root, and run "mouseconfig" to get back to normality. Or just replace the XF86Config-4.
Thanks to Warren Bloomer for the XFree86-4 Microtouch config, and Simon Rembold at 3M Touchsystems Australia (formerly Microtouch Australia) for the loan equipment.
XFree86 3.x
$ su - # cp /etc/X11/XF86Config XF86Config-safe # vi /etc/X11/XF86Config Add (if required) the following text to the given sections. Section "Files" ... ModulePath "/usr/X11R6/lib/modules" ... EndSection Section "Module" Load "xf86MuTouch.so" EndSection Section "Xinput" SubSection "MicroTouchFinger" Port "/dev/ttyS0" DeviceName "MuTFinger" ScreenNo 0 MinimumXPosition 0 MaximumXPosition 16383 MinimumYPosition 0 MaximumYPosition 16383 HistorySize 256 AlwaysCore EndSubSection EndSection"Alwayscore" makes the touchscreen pointer device active at the same time as any other pointers (Eg. your mouse). Alternatively, leave this out, and use "xsetpointer MicroTouchFinger" to change to the touchscreen.Restart X-windows. If you have a problem with the setup, use CNTL-ALT-F2 to get a virtual console, log in as root, and run "mouseconfig" to get back to normality. Or just replace the XF86Config.
$ su - # cp /etc/X11/XF86Config XF86Config-safe # vi /etc/X11/XF86Config Add (if required) the following text to the given sections. Section "Files" ... ModulePath "/usr/X11R6/lib/modules" ... EndSection Section "Module" Load "xf86Elo.so" EndSection Section "Xinput" SubSection "EloTouch" Port "/dev/ttyS0" DeviceName "Elo" ScreenNo 0 MinimumXPosition 4000 MaximumXPosition 0 MinimumYPosition 4000 MaximumYPosition 0 HistorySize 256 Alwayscore EndSubSection EndSectionThe MinX, MaxX, MinY, MaxY values seem upside down on the Elo. I had some trouble getting the alignment correct, and ended up using the horizontal and vertical on-screen controls to move the pixels to the right place, rather than alighning the touch points."Alwayscore" makes the touchscreen pointer device active at the same time as any other pointers (Eg. your mouse). Alternatively, leave this out, and use "xsetpointer MicroTouchFinger" to change to the touchscreen.
Restart X-windows. If you have a problem with the setup, use CNTL-ALT-F2 to get a virtual console, log in as root, and run "mouseconfig" to get back to normality. Or just replace the XF86Config.
Thanks to Bruce Berisa at Redflex Australia for loan equipment.