Quote:
Originally Posted by davea0511
I hear that simply switching the MinX value with the MaxX value will invert the axis. Gonna try this myself ... maybe I'll remember to post the results.
|
Nope, didn't help.
In fact, it seems no matter what I put into xorg.conf the touchscreen doesn't change. Calibration is way off, and even drifts as I'm using it ... like it's not evey trying ... and x-axis is reversed. "Option "SwapX" "1" does nothing. I checked Dmesg and get this:
Code:
input: 3M 3M USB Touchscreen - EX II as /devices/pci0000:00/0000:00:10.1/usb2/2-1/2-1:1.0/input/input4
and cat /proc/bus/input/devices gives me this:
Code:
I: Bus=0003 Vendor=0596 Product=0001 Version=0410
N: Name="3M 3M USB Touchscreen - EX II"
P: Phys=usb-0000:00:10.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:10.1/usb2/2-1/2-1:1.0/input/input4
U: Uniq=
H: Handlers=mouse1 event4
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3
So that all looks good. I set up xorg.conf like this:
Code:
Under ServerLayout:
InputDevice "touchscreen" "CorePointer"
later added ...
Section "InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/event4"
Option "DeviceName" "touchscreen"
Option "MinX" "2500"
Option "MinY" "2500"
Option "MaxX" "13500"
Option "MaxY" "13500"
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
# Option "Calibrate" "1"
Option "SwapX" "1"
Option "SendCoreEvents" "On"
EndSection
Also changed "CorePointer" to "SendCoreEvents" since my mouse was already "CorePointer", but no effect. Changed the mouse to "SendCoreEvents" and made the touchscreen "CorePointer", then X wouldn't start because it said I hadn't defined a "CorePointer", but I really had because "touchscreen" was defined as the "CorePointer". In otherwords it looks like xorg.conf is ignoring my touchscreen.
Of course, I have evtouch_drv.so in the /usr/lib/xorg/modules/input/ directory.
I've also added modprobe usbtouchscreen and modprobe evdev to /etc/init.d/rc.local (incidentally I get no feedback when I do this at the prompt, even with -v (verbose) switch - but I don't knwo if this means anything).
I changed xorg.conf to look at Option "Device" "/dev/input/event5" (as apparently it sometimes gets incremented after X restarts). No joy so I changed back to event4.
From another discussion someone had success making it work by creating a udev rule to force the touchscreen to behave properly so xorg.conf would recognize it.
So I also made a udev rule (created: /etc/udev/rules.d/010-local.rules) to force the touchscreen to /dev/input/touchscreen instead of /dev/input/event4 since it seems like xorg.conf isn't setting up the screen at all, and then changed xorg.conf to look for /dev/input/touchscreen instead of /dev/input/event4. The rule looked like this:
Code:
new file: /etc/udev/rules.d/010-local.rules
====
SUBSYSTEMS=="usb", DRIVERS=="usbtouchscreen", KERNEL=="event*", SYMLINK+="input/touchscreen"
Unfortunately after restarting X it looks like /dev/input/touchscreen is NOT getting created and when I do a cat /proc/bus/input/devices it shows the touchscreen still on event4. Argh! Why isn't udev working ... is there something wrong with my code there? It seems to be doing nothing.
I've been pulling my hair out on this for a week, even trying with 3 different distros (SamLinux - like mandriva, knoppix - debian derivative which I learned on, and kanotix - a more apt-able version of knoppix), with no difference - xorg.conf seems oblivious to what I'm trying to do. I'm running out of ideas. Ideas anyone?
Ultimately, based on the output above it seems to me (and if I'm wrong PLEASE point out where) that the failure is xorg.conf's inability to set it up with any calibration at all. It's like it doesn't even see it. I really could use some help.