个人工具

“UbuntuHelp:EloIntelliTouch”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: {{From|https://help.ubuntu.com/community/EloIntelliTouch}} {{Languages|UbuntuHelp:EloIntelliTouch}} First of all, this should work for all touch screen monitors with IntelliTouch (Surface...)
 
第2行: 第2行:
 
{{Languages|UbuntuHelp:EloIntelliTouch}}
 
{{Languages|UbuntuHelp:EloIntelliTouch}}
 
First of all, this should work for all touch screen monitors with IntelliTouch (Surface Acoustic Wave) technology, and hopefully other monitors. You can also find the tutorial here: http://ubuntuforums.org/showthread.php?t=579155
 
First of all, this should work for all touch screen monitors with IntelliTouch (Surface Acoustic Wave) technology, and hopefully other monitors. You can also find the tutorial here: http://ubuntuforums.org/showthread.php?t=579155
 
 
 
 
www.elotouch.com offers you precompiled binaries for their monitors, unfortunately they just work for kernels <= 2.6.17. If you want them to compile for a special kernel/distro for you, they will charge you just a few $1,500 bucks  
 
www.elotouch.com offers you precompiled binaries for their monitors, unfortunately they just work for kernels <= 2.6.17. If you want them to compile for a special kernel/distro for you, they will charge you just a few $1,500 bucks  
 
(Hell no!, monitors I bought were expensive enough). I've found an open source driver called evtouch that works great  
 
(Hell no!, monitors I bought were expensive enough). I've found an open source driver called evtouch that works great  
 
in my PC (using USB), so, let's begin.
 
in my PC (using USB), so, let's begin.
 
 
== Why this guide ==
 
== Why this guide ==
 
This guide is meant to help people install touch screen monitors that use IntelliTouch technology (Surface Acoustic  
 
This guide is meant to help people install touch screen monitors that use IntelliTouch technology (Surface Acoustic  
第14行: 第10行:
 
also meant to complement the source's website, as it lacked right values for Elo Touch monitor, and tutorial didn't  
 
also meant to complement the source's website, as it lacked right values for Elo Touch monitor, and tutorial didn't  
 
mention udev-rules, and events, which are needed to set the right handlers for the linux kernel.
 
mention udev-rules, and events, which are needed to set the right handlers for the linux kernel.
 
 
== Sources ==
 
== Sources ==
 
Sources, and an incomplete tutorial can be found here: http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html"]http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html
 
Sources, and an incomplete tutorial can be found here: http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html"]http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html
 
 
== Specs ==
 
== Specs ==
 
The specs of the monitor I used, plus my PC specs:
 
The specs of the monitor I used, plus my PC specs:
第25行: 第19行:
 
* Ubuntu 7.04 Feisty Fawn
 
* Ubuntu 7.04 Feisty Fawn
 
* CPU: Intel P4 3Ghz with HT
 
* CPU: Intel P4 3Ghz with HT
 
 
== Prerequisites ==
 
== Prerequisites ==
 
I used the precompiled binaries, you can find them in the website I mentioned in the first point. The latest at the time I'm writing this is:  
 
I used the precompiled binaries, you can find them in the website I mentioned in the first point. The latest at the time I'm writing this is:  
第31行: 第24行:
 
Also, you will need to copy udev-rules, the file you need can be found also in the same website, inside a sources tarball:
 
Also, you will need to copy udev-rules, the file you need can be found also in the same website, inside a sources tarball:
 
* X driver sources V0.8.4 (not needed if you are copying my udev-rules, pasted later in this how to)
 
* X driver sources V0.8.4 (not needed if you are copying my udev-rules, pasted later in this how to)
 
 
== Installation ==
 
== Installation ==
 
<pre><nowiki>tar -zxvf evtouch-0.8.7.tar.gz
 
<pre><nowiki>tar -zxvf evtouch-0.8.7.tar.gz
 
cd evtouch-0.8.7
 
cd evtouch-0.8.7
 
sudo cp evtouch_drv.so /usr/lib/xorg/modules/input/</nowiki></pre>
 
sudo cp evtouch_drv.so /usr/lib/xorg/modules/input/</nowiki></pre>
 
 
Open /etc/X11/xorg.conf and add this lines:
 
Open /etc/X11/xorg.conf and add this lines:
 
 
<pre><nowiki>Section "InputDevice"
 
<pre><nowiki>Section "InputDevice"
 
Identifier "touchscreen"
 
Identifier "touchscreen"
第53行: 第43行:
 
Option "SendCoreEvents" "On"
 
Option "SendCoreEvents" "On"
 
EndSection
 
EndSection
 
 
Section "InputDevice"
 
Section "InputDevice"
 
Identifier "dummy"
 
Identifier "dummy"
第59行: 第48行:
 
Option "Device" "/dev/input/mice"
 
Option "Device" "/dev/input/mice"
 
EndSection</nowiki></pre>
 
EndSection</nowiki></pre>
 
 
If Min/Max values don't work correctly for you, you'll have to adjust that values manually (calibration application included in the sources does not work, the author of the sources himself has stated that, at the writing of this how to).
 
If Min/Max values don't work correctly for you, you'll have to adjust that values manually (calibration application included in the sources does not work, the author of the sources himself has stated that, at the writing of this how to).
 
 
Now search for "ServerLayout" section in the same file, and add this lines just before EndSection
 
Now search for "ServerLayout" section in the same file, and add this lines just before EndSection
 
 
<pre><nowiki> InputDevice    "touchscreen"  "CorePointer"
 
<pre><nowiki> InputDevice    "touchscreen"  "CorePointer"
 
InputDevice "dummy"</nowiki></pre>
 
InputDevice "dummy"</nowiki></pre>
 
 
Note that Section "InputDevice" with Identifier "dummy" and InputDevice "dummy" are only needed if you use xorg > 7.2.  
 
Note that Section "InputDevice" with Identifier "dummy" and InputDevice "dummy" are only needed if you use xorg > 7.2.  
 
 
Next, you have to find your monitors name:
 
Next, you have to find your monitors name:
 
 
<code><nowiki>cat /proc/bus/input/devices</nowiki></code>
 
<code><nowiki>cat /proc/bus/input/devices</nowiki></code>
 
 
you'll get something like this:
 
you'll get something like this:
 
 
<pre><nowiki>I: Bus=0003 Vendor=04e7 Product=0020 Version=0100
 
<pre><nowiki>I: Bus=0003 Vendor=04e7 Product=0020 Version=0100
 
N: Name="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
 
N: Name="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
第83行: 第64行:
 
B: KEY=10000 0 0 0 0 0 0 0 0
 
B: KEY=10000 0 0 0 0 0 0 0 0
 
B: ABS=100 3</nowiki></pre>
 
B: ABS=100 3</nowiki></pre>
 
 
Next, you have to add udev-rules to your system, download and extract "X driver sources V0.8.4" (or copy my rules, and modify it to fit to your needs):
 
Next, you have to add udev-rules to your system, download and extract "X driver sources V0.8.4" (or copy my rules, and modify it to fit to your needs):
 
 
<pre><nowiki>tar -jxvf xf86-input-evtouch-0.8.4.tar.bz2
 
<pre><nowiki>tar -jxvf xf86-input-evtouch-0.8.4.tar.bz2
 
cd xf86-input-evtouch-0.8.4</nowiki></pre>
 
cd xf86-input-evtouch-0.8.4</nowiki></pre>
 
 
Modify 69-touchscreen.rules file for your monitor, or copy the text to a text editor, adjust to your needs, and save the file as 69-touchscreen.rules:
 
Modify 69-touchscreen.rules file for your monitor, or copy the text to a text editor, adjust to your needs, and save the file as 69-touchscreen.rules:
 
 
<pre><nowiki># Evtouch udev.rules
 
<pre><nowiki># Evtouch udev.rules
 
#
 
#
第106行: 第83行:
 
SYMLINK+="input/evtouch_event"
 
SYMLINK+="input/evtouch_event"
 
#</nowiki></pre>
 
#</nowiki></pre>
 
 
Now, copy the file to /etc/udev/rules.d/
 
Now, copy the file to /etc/udev/rules.d/
 
 
That should be it, restart your system, and it should work.
 
That should be it, restart your system, and it should work.
 
----
 
----

2007年11月30日 (五) 17:05的版本

First of all, this should work for all touch screen monitors with IntelliTouch (Surface Acoustic Wave) technology, and hopefully other monitors. You can also find the tutorial here: http://ubuntuforums.org/showthread.php?t=579155 www.elotouch.com offers you precompiled binaries for their monitors, unfortunately they just work for kernels <= 2.6.17. If you want them to compile for a special kernel/distro for you, they will charge you just a few $1,500 bucks (Hell no!, monitors I bought were expensive enough). I've found an open source driver called evtouch that works great in my PC (using USB), so, let's begin.

Why this guide

This guide is meant to help people install touch screen monitors that use IntelliTouch technology (Surface Acoustic Wave), hopefully, other technologies will also work, although I don't have the hardware to test it. This guide was also meant to complement the source's website, as it lacked right values for Elo Touch monitor, and tutorial didn't mention udev-rules, and events, which are needed to set the right handlers for the linux kernel.

Sources

Sources, and an incomplete tutorial can be found here: http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html"]http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html

Specs

The specs of the monitor I used, plus my PC specs:

  • Elo Touch Screen monitor with IntelliTouch (Surface Acoustic Wave). Model 1939L, I used USB although monitor also

has Serial interface.

  • Linux ubuntu 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux.
  • Ubuntu 7.04 Feisty Fawn
  • CPU: Intel P4 3Ghz with HT

Prerequisites

I used the precompiled binaries, you can find them in the website I mentioned in the first point. The latest at the time I'm writing this is:

  • Precompiled driver for X V0.8.7

Also, you will need to copy udev-rules, the file you need can be found also in the same website, inside a sources tarball:

  • X driver sources V0.8.4 (not needed if you are copying my udev-rules, pasted later in this how to)

Installation

tar -zxvf evtouch-0.8.7.tar.gz
cd evtouch-0.8.7
sudo cp evtouch_drv.so /usr/lib/xorg/modules/input/

Open /etc/X11/xorg.conf and add this lines:

Section "InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/evtouch_event"
Option "DeviceName" "touchscreen"
Option "MinX" "4095"
Option "MinY" "4095"
Option "MaxX" "0"
Option "MaxY" "0"
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "On"
EndSection
Section "InputDevice"
Identifier "dummy"
Driver "void"
Option "Device" "/dev/input/mice"
EndSection

If Min/Max values don't work correctly for you, you'll have to adjust that values manually (calibration application included in the sources does not work, the author of the sources himself has stated that, at the writing of this how to). Now search for "ServerLayout" section in the same file, and add this lines just before EndSection

	InputDevice     "touchscreen"   "CorePointer"
InputDevice 	"dummy"

Note that Section "InputDevice" with Identifier "dummy" and InputDevice "dummy" are only needed if you use xorg > 7.2. Next, you have to find your monitors name: cat /proc/bus/input/devices you'll get something like this:

I: Bus=0003 Vendor=04e7 Product=0020 Version=0100
N: Name="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
P: Phys=usb-0000:00:10.1-1/input0
S: Sysfs=/class/input/input2
H: Handlers=js0 event2
B: EV=b
B: KEY=10000 0 0 0 0 0 0 0 0
B: ABS=100 3

Next, you have to add udev-rules to your system, download and extract "X driver sources V0.8.4" (or copy my rules, and modify it to fit to your needs):

tar -jxvf xf86-input-evtouch-0.8.4.tar.bz2
cd xf86-input-evtouch-0.8.4

Modify 69-touchscreen.rules file for your monitor, or copy the text to a text editor, adjust to your needs, and save the file as 69-touchscreen.rules:

# Evtouch udev.rules
#
# Because Evtouch can't autoprobe devices we assume that we only
# Have one device so we can make it like this :P
#
# List here your touchscreen, check if it works  and send it to rpms_AT_ilmi_DOT_fi
# Name can be found in /proc/bus/input/devices (In console make command 'cat /proc/bus/input/devices')
#
# Tested on Telepeak  Model 800-Y-Y-V (http://www.telepeak.com). Should work on most eGalax based stuff!
KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface", SYMLINK+="input/evtouch_event"
#
# This could be also like this (eGalax Inc. USB TouchController)
# KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="0001", 
SYMLINK+="input/evtouch_event"
#

Now, copy the file to /etc/udev/rules.d/ That should be it, restart your system, and it should work.