Had a heck of a time getting the Acer T230H touchscreen monitor to work on OpenSuse 11.2. I am documenting this for anyone else looking to get this working.
There are plenty of sites out there with information on getting this working on Ubuntu but none specific to OpenSUSE.
PREREQUISITES:
Make sure xorg-x11-driver-input is installed as need the evdev driver in /usr/lib/xorg/modules/input/.
zypper install xorg-x11-driver-input
- Download and compile the 2.6.34.1 or higher kernel from The Linux Kernel Archives. See instructions here for compiling kernel.
When you run make menuconfig be sure to module"Quanta Optical Touch". Navigate to Device Drivers:HID Devices:Special HID Drivers:Quanta Optical Touch. Put a “M” for module. Save config file and build kernel as per instructions in link above. hid-quanta.ko driver should be located in /lib/modules/2.6.34.1/kernel/drivers/hid/ if module was installed correctly. - Once you build the kernel and boot up with the new kernel follow the instructions below:
Edit /etc/udev/rules.d/69-touchscreen.rules
Add the following rules at the top:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3000", SYMLINK+="usb/quanta_touch"
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3000", SYMLINK+="input/quanta_touch"
See here if you need help with the rules file.
Create or modify /etc/X11/xorg.conf with the following info:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
InputDevice "Acer T230H" "SendCoreEvents"
InputDevice "dummy"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
Identifier "Acer T230H"
Driver "**evdev**"
Option "SendCoreEvents" "true"
Option "ReportingMode" "Raw"
Option "Device" "**/dev/input/quanta_touch**"
Option "PacketCount" "13"
Option "OpcodePressure" "852034"
Option "OpcodeX" "65584"
Option "OpcodeY" "65585"
Option "CalibrationModel" "1"
Option "CornerTopLeftX" "0"
Option "CornerTopLeftY" "0"
Option "CornerTopRightX" "1920" # 1920 for 23"
Option "CornerTopRightY" "0"
Option "CornerBottomLeftX" "0"
Option "CornerBottomLeftY" "1080" # 1080 for 23"
Option "CornerBottomRightX" "1920" # 1920 for 23"
Option "CornerBottomRightY" "1080" # 1080 for 23"
Option "CornerScreenWidth" "1920" # 1920 for 23"
Option "CornerScreenHeight" "1080" # 1080 for 23"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mouse0"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "dummy"
Driver "void"
Option "Device" "/dev/input/mice"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Acer T230H"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 210"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "1920x1080 +0+0; nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Save the /etc/X11/xorg.conf file and restart your system. Of course make sure the USB cable is connected to your system and monitor.
TESTING:
This confirms the device is being detected
lsusb | grep Quanta
Confirm udev rules were activated
ls /dev/input/quanta_touch
If this is good you can test your touchscreen which should now be working. Be sure evdev driver is specified in xorg.conf and not hidtouch.
Hope this helps someone.