I kinda started a new thread on kubuntuforums.net here it is http://kubuntuforums.net/forums/index.php?topic=3114895.0 Basically I have a theory about entry 12 on this forum from kb1605. This is what I posted on kubuntuforums.net. I am probably a little late in understanding this but maybe it will help someone out. So more research I think I maybe have a better understanding what is going on here are parts of lshal and and xinput -list lshal part udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0' (string) info.product = 'eGalax TouchScreen' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial' (string) info.vendor = 'D-WAV Scientific Co., Ltd' (string) linux.device_file = '/dev/bus/usb/002/003' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2' (string) usb_device.bus_number = 2 (0x2) (int) usb_device.can_wake_up = true (bool) usb_device.configuration = 'HID-USB Touchscreen' (string) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 0 (0x0) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 256 (0x100) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = false (bool) usb_device.linux.device_number = 3 (0x3) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2' (string) usb_device.max_power = 44 (0x2c) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 0 (0x0) (int) usb_device.product = 'eGalax TouchScreen' (string) usb_device.product_id = 1 (0x1) (int) usb_device.speed = 1.5 (1.5) (double) usb_device.vendor = 'D-WAV Scientific Co., Ltd' (string) usb_device.vendor_id = 3823 (0xeef) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input' button.has_state = false (bool) info.addons.singleton = {'hald-addon-input'} (string list) info.capabilities = {'input', 'button'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string) info.product = 'eGalax Inc. Touch' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event2' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string) input.product = 'eGalax Inc. Touch' (string) linux.device_file = '/dev/input/event2' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input5/event2' (string) xinput -list output ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)] ⎜ ↳ eGalax Inc. Touch id=8 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Sleep Button id=7 [slave keyboard (3)] ↳ Logitech USB Receiver id=9 [slave keyboard (3)] So what I see is the first lshal entry is the "eGalax TouchScreen", the second entry is "eGalax Inc. Touch." Notice that xinput -list only has the second entry from lshal. So what I think is happening is the driver module in Ubuntu 10.10 Maverick and the current version of X is only reading the "click" part of the eGalax controller. That is why the pointer goes to the top left of the screen and than sometimes gets stuck on left click until you touch the screen again. The first entry in lshal is "eGalax TouchScreen" this part of the controller is the x,y portion and would tell the cursor where to point on the screen. Some people get both entries for the device in xinput -list, they get the touch controller to work by disabling (using commands in xinput) to disable the "eGalax Inc. Touch" entry from the xinput -list. Therefore they only get a mapping position of where the cursor is, (without a left click). To add the click they edit the xorg.conf file and put an option in the section that says something about click on release or something similar. I went ahead and plugged the touchscreen to my laptop booted into windows 7 installed the drivers that it came with (TouchKit) and it works fine in Windows 7. I did that just to make sure the raw data was there and everything on the touchscreen was working. I really don't know how to do much in linux except by following someones step by step command entries and sometimes I try my own thing which 50% of the times ends up back at reinstall with live cd or going into the file I messed up from live cd and changing everything back to how it was. What I am wondering is to get the eGalax calibration program or the TouchKit program to work and be able to properly make a parameters file that will configure/calibrate the touchscreen is this. After downloading the tar ball from eGalax and making some script changes to the setup.sh file is it possible that adding the correct MatchProduct or Products to the InputDevice Section of xorg.conf can that somehow make it so that the eGalax calibration program will see the touch controller? It would also be useful to find out what the eGalax program is specifically looking for. So I will try some more and probably break X server and xorg.conf again to try and figure this thing out.