system/xf86-input-evtouch: Added (X.org touchscreen driver)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
V'yacheslav Stetskevych 2010-07-02 19:34:25 -05:00 committed by Erik Hanson
parent 5e0d3a2f61
commit fa27af5efa
5 changed files with 208 additions and 0 deletions

View file

@ -0,0 +1,11 @@
xf86-input-evtouch (X.org touchscreen driver)
This X.Org driver provides support for touchscreen input devices.
The driver is actually a evdev driver which supports events for moving in
absolute coordinates, relative coordinates and events for mouse buttons.
The latest version by the original author doesn't build against
xorg-server > 1.4, which was shipped with Slackware 12.2, so this SlackBuild
uses patches that hopefully make it work with later Slackware releases.
See README.SLACKWARE for configuration information.

View file

@ -0,0 +1,52 @@
README.SLACKWARE
Slackware touchscreen mini-HOWTO. Written by V'yacheslav Stetskevych, 2010.
This howto will help you set up your touchscreen using the evtouch driver.
This driver bundles an udev rules file /lib/udev/rules.d/69-touchscreen.rules,
that lists known supported touchscreens and creates a symlink to the correct
event file for them. A lot of touchscreens are supported, but still more are
capable. If you find that your touchscreen works with this driver, add it to
the udev rules file and send your lshal output to ubuntu-mobile@lists.ubuntu.com
to get it added to the driver.
To make use of the driver, you will have to make edits to /etc/X11/xorg.conf
(create a fresh one if it doesn't exist, or generate one with 'X -configure'):
Section "InputDevice"
Identifier "Touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/event#"
Option "MinX" "0"
Option "MaxX" "1000"
Option "MinY" "0"
Option "MaxY" "1000"
Option "ReportingMode" "Raw"
EndSection
If you had an xorg.conf already, add the following to the ServerLayout section:
InputDevice "Touchscreen" "AlwaysCore"
If your device is supported, a symlink /dev/input/evtouch_event will have been
created for you by udev. Specify this symlink as the Option "Device" parameter.
If your device is not supported by the udev rule, find out it's event number by
looking at /proc/bus/input/devices. It should list your device with a line,
that says "Handlers=event3 mouse2" or something similar.
You may verify that your touchscreen is operable by issuing
cat /dev/input/event# (replace '#' with your number)
and tapping your touchscreen. Random characters should appear on the screen.
Note the event name, and use it as the Option "Device" parameter in xorg.conf.
(Or better, add your device to the udev rule file to get a persistent symlink).
Be sure to calibrate the device and record the correct parameters in your
xorg.conf, see README.calibrate in /usr/doc/xf86-input-evtouch-$VERSION and
find the necessary helpers in /usr/lib/xf86-input-evtouch. The calibration tool
may not work for your touchscreen model, in that case try and set the right
values in xorg.conf manually. That involves some guesswork, but works.
See the driver's homepage for additional options you can put in xorg.conf,
like Rotate, SwapX, SwapY and button action assignment.
http://www.conan.de/touchscreen/evtouch.html
Have fun!

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
xf86-input-evtouch: xf86-input-evtouch (X.org touchscreen driver)
xf86-input-evtouch:
xf86-input-evtouch: This X.Org driver provides support for touchscreen
xf86-input-evtouch: input devices. The driver is actually a evdev driver which
xf86-input-evtouch: supports events for moving in absolute coordinates, relative
xf86-input-evtouch: coordinates and events for mouse buttons.
xf86-input-evtouch:
xf86-input-evtouch: Homepage: http://www.conan.de/touchscreen/evtouch.html
xf86-input-evtouch:
xf86-input-evtouch:
xf86-input-evtouch:

View file

@ -0,0 +1,114 @@
#!/bin/sh
# Slackware build script for xf86-input-evtouch
# Copyright 2010 V'yacheslav Stetskevych <slava18@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=xf86-input-evtouch
VERSION=${VERSION:-0.8.8}
PATCHVER=${PATCHVER:-3build1.debian}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
tar xvf $CWD/${PRGNAM}_${VERSION}-$PATCHVER.tar.gz
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Apply the patches on Slackware > 12.2
while read -r file; do
# Uncomment this line if building on Slackware 13.0
#[[ $file == *server-1.7* ]] && continue
patch -p1 < debian/patches/$file
done < debian/patches/series
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
--enable-evcalibrate
make
make install DESTDIR=$PKG
# Install udev rules
mkdir -p $PKG/lib/udev/rules.d
cp 69-touchscreen.rules $PKG/lib/udev/rules.d/
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS COPYING ChangeLog INSTALL NEWS README README.calibration TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,12 @@
PRGNAM="xf86-input-evtouch"
VERSION="0.8.8"
HOMEPAGE="http://www.conan.de/touchscreen/evtouch.html"
DOWNLOAD="http://www.conan.de/touchscreen/xf86-input-evtouch-0.8.8.tar.bz2 \
https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-evtouch_0.8.8-3build1.debian.tar.gz"
MD5SUM="4d8e092356d8353002f60a4907046c13 \
2480361cff2c92bf4332898d4fb3c819"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="V'yacheslav Stetskevych"
EMAIL="slava18@gmail.com"
APPROVED="rworkman"