This is a patched for XFree86-3.3.3 ------------------------------------------ V 0.0.1 it contains : o README.PALMAX this readme o host.def a Buildfile for the X-Server special for the pd1000 Notebook (if you dont like to config X youself, copy this file to xc/config/cf/host.def) o palmax.diff.gz the patch for a clean X11R6 3.3.3 Source Distribution o XF68Config my Xf86Configfile (DO NOT COPY THIS FILE, ITS ONLY AN EXAMPLE) o touchscreenrc a samplefile for /etc/touchscreenrc This patch supports the Palmax PD1000 Touchscreen and perhaps other resistive touchscreens too. Touchscreen specification : (TR88L803 Chip) --------------------------- o Serial Interface 19200 Baud 8 Bit, no parity, 1 stopbit o Dataformat: two messagetypes a) Position Info 0. Byte : 0xFF 1. Byte : Low Byte of X-Valuator 2. Byte : High Byte 3. Byte : Low Byte of Y-Valuator 4. Byte : High Byte b) Lift off info 0. Byte : 0xFF 1. Byte : 0xFE 2. Byte : 0xFE o My Laptop has two Buttons which are directly connected to the modem-line-indicator of he serial interface (DSR,RTS) o Very noisy output !!! What does this patch ? ---------------------- It registers a new XInput Device. The loadale module is called "xf86Palmax.so". This module loads a special driver called touchscreen which does the work. How can I use it ? ------------------ Get a copy of X333servonly.tgz form www.xfree86.org or any mirror near you. Unpack it X333servonly.tgz. Attention ! You need much free space on your disk (< 100 MB) ich@mybox:~/selfmade > tar xvfz X333servonly.tgz ich@mybox:~/selfmade > ls palmax.diff.gz X333servonly.tgz xc/ ich@mybox:~/selfmade > apply the patch using ich@mybox:~/selfmade > cat palmax.diff.gz | gunzip | patch -p -E Build this X-Server ! You can find a quick-build-quide in xc/programs/Xserver/hw/xfree86/doc/BUILD. Follow the instructions given there. (Quick Build for Palmax PD1000 Notebooks : copy host.def to xc/config/cf/host.def and run "make World" in xc directory.) Build it. Wait a long time ... Copy the new X-Server (in /xc/programs/Xserver/XF86_****) to /usr/X11R6/bin/ (make a backup of an previous installed one !!). Copy the new XInput Device (in xc/programs/Xserver/hw/xfree86/common/xf86Palmax.so) to /usr/X11R6/lib/modules/. Copy the new driver (in xc/programs/Xtouchdrv/touchscreen) to /usr/X11R6/lib/modules/. Copy the default touchscreenrc-file to /etc/touchscreenrc and edit it, when needed. You can test then driver using the testclient-program in xc/programs/Xtouchdrv/testclient. (READ THE README!!!) Configure your X-Server using xf86config or something equal. Edit the created XF86Config (Redhat : /etc/X11/XF86Config, other distributions save it at other locations...): Search for 'Section "Module"' and insert 'Load "xf86Palmax.so"'. Search for 'Section "Xinput"'. Insert a new subsection called "Palmax" like this: #========================================= Subsection "Palmax" helpercfg "/etc/touchscreenrc" helperprog "/usr/X11R6/lib/modules/touchscreen" debuglevel 0 alwayscore Endsubsection #========================================== The paramters are described later. Start X using startx, xdm or X. look at the Output ! If it doesnt work, send me the whole console output per mail after having set debuglevel to 10 in XF86Config AND /etc/touchscreenrc. What does the parameters in XF86Config mean ? -------------------------------------------- o helpercfg "/etc/touchscreenrc" This tells the driver where to find its configfile. /etc/touchscreenrc is the default. See the README in xc/programs/Xtouchdrv for further information. o helperprog "/usr/X11R6/lib/modules/touchscreen" This is the driver. /usr/... is the default. o alwayscore to use the touchscreen as default pointing device you need to enable this switch. If you want to use another device, you can use the program xsetpointer to select it. o debuglevel xxx this s work in progress. If you want to send me a bug-report, please enable debugging using a value of 10 here. Danger : If you have a big value here, your log-files will soon flood your disk !! (only use a value > 0 if you really wnat to see it) Parameters in touchscreenrc --------------------------- o MINX, MINY, MAXX, MAXY Calibration data (evaluated using xcalib) o THRES 250 threshold value for the filterfunction try yourself. a Value around 250 seems to work well. o STAB 8 single click time. If you touch the touchscreen shorter than that only one click is sent to X. A value of 8 seems to be good. o TASTIO 100 Test for pressed button every n/1000 seconds. A value of 100 or shorter seems to work well. o BUTTON1 2 map the upper button on the back lid to button x for the X-Windowsystem Values : 0 = disabled 1 = left button 2 = middle button 3 = right button o BUTTON2 3 map the lower button (the one with the dash) to button x. Values : see BUTTON1 o BUTTON3EMU 0 emulate the third button (X-like, pressing both buttons) Values : see BUTTON1 o SINGLEBUTT 1 Click an move when stylus is down Values : see BUTTON1 o DOUBLETIME 20 emulate another button by doubleclick the stylus a value of 20 seems to be long enough. 0 = disable o DOUBLEBUTT 3 which button should be sent to X values : 1 = left, 2 = middle, 3 = right Problems ? ---------- Try the newest version released at http://yeti.faveve.uni-stuttgart.de/~tobu/pd1000/ Simply send a Mail to thomas.buck@gmx.de I will answer it as fast as possible. Please excuse my poor english... (who is able to do the docu ?) History ------------------------------------------------------------------- Fri Aug 20 00:36:19 1999 (tobu@yeti.faveve.uni-stuttgart.de) First version 0.0.1