DSL Tips and Tricks :: MagicTouch Touchscreens w/DSL
----------------------------------------------------------------------
MagicTouch Touchscreen for DSL Linux F.A.Q.
----------------------------------------------------------------------
NOTICE: This is not official documentation from KeyTec these are
just notes I as an individual have come up with and taken from
the official driver help that comes with the MagicTouch CD.
Basically I thought the readme docs sucked and this should be
more helpful. Particularly if you're using D.S.L (Damn Small
Linux)
This FAQ is for users of D.S.L. (Damn Small Linux) although,
this could technically be applied to just about any Debian distro
easily and others somewhat.
I believe D.S.L. works well with getting MagicTouch. It uses kernel
2.4 to support legacy devices for one thing, a 2.6 kernel might not
load the MagicTouch drivers (I could be wrong about that)
Also the hid and usb-uhci which are used by usbcore make the USB-X
easy to get working right off the bat.
You should know I haven't really tried this with the ProE-X. Also I
have successfully done this in RAMDISK/toram mode, however, its easier
if you only modify the user "dsl" as opposed to trying to get it
working with root, if only because default setting files (such as BASHRC)
havent been created.
-------------------
STEP ONE - XFree86:
-------------------
The drivers included by KeyTec are made for Xfree86 and not for
Xvesa or other derivitives unfortunately without what I believe to
be massive tweaking, altho I have seen a X.org experimental deb
package available for magictouch screens.
Anyways...
Basically download the XFree86.dsl package from the System DSL
packages and follow those directions. You will change your .xserverrc
file and you will also use the XF86Config-4 file below.
--------------------------------
STEP TWO - Directories and Files
--------------------------------
mkdir /etc/etandt
mkdir /touchscreen
touch /etc/etandt/ts.ini
touch /etc/etandt/s_ts.ini
FOR USB-X:
==========
mkdir /dev/usb/hid
mknod /dev/usb/hiddev0 c 180 96
mknod /dev/usb/hiddev1 c 180 97
mknod /dev/usb/hiddev2 c 180 98
mknod /dev/usb/hiddev3 c 180 99
cp /cdrom/Linux/USB/* /touchscreen
NOTE: In TORAM/ramdisk mode, create the nodes in /touchscreen and
modify the entry in XF86Config-4 accordingly.
FOR PROE-X:
==========
cp /cdrom/Linux/PROE/* /touchscreen
-------------------------------------------
STEP THREE: The XF86Config-4 File
-------------------------------------------
<BEGIN>
Section "ServerLayout"
Identifier "VESA device"
Screen 0 "Screen0" 0 0
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "etouch" "SendCoreEvents"
EndSection
Section "ServerFlags"
DontZap
AllowMouseOpenFail
EndSection
Section "Files"
FontPath "unix/:7100" # local font server
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "dri"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us" #Option "XkbVariant" ""
EndSection
Section "InputDevice"
Identifier "etouch"
Driver "etouch_usb"
Option "Device" "/dev/usb/hid/hiddev0"
EndSection
Section "InputDevice"
Identifier "Mouse[1]"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "imPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Device"
Identifier "vesa"
driver "vesa"
VendorName "x"
BoardName "y"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "x"
ModelName "y"
EndSection
Section "Screen"
Identifier "Screen0"
Device "vesa"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
<END>
-------------------------------------
STEP FOUR: Module Installation
-------------------------------------
cd /touchscreen
FOR USB-X:
===========
cp etouch_usb_drv.o /usr/X11R6/lib/modules/input/
FOR PROE-X:
===========
cp magictouch_drv.o /usr/X11R6/lib/modules/input/
----------------------
STEP FIVE: Calibration
----------------------
Restart X-Windows
In X-Windows Run tscpl_usb or tscpl for usb and proe devices
respectively to calibrate the screen.
--------------------------
STEP FIVE: Troubleshooting
--------------------------
- DO NOT use Virtual Desktop (calibration will not be accurate)
- DO make notice of upper/lower cases
- Check the /var/log/XFree86.0.log
- Also run "dmesg" and check the last couple lines when un/plugging
in the MagicTouch Device to see if the USB driver is being loaded
correctly.
FOR USB-X:
----------
- If you think that the device is not sending data, just make sure
everythings connected and run 'cat /dev/usb/hiddev0' and then
run your fingers over the screen to see if data shows on the
screen.
- In dmesg check to see if its hiddev0 being used and not hiddev1 or
2, in which case you'll have to change the device location in
/etc/X11/XF86Config-4
You can contact tech@magictouch.com for troubleshooting.
You can also contact me at falthonas@comcast.net although I'm not too sure how much I'll be able to help out.
Very nice. Worth putting in the documentation.
original here.