Description of problem: I've got an Elo touchscreen which I've connected via usb. The kernel correctly detects it [1] and it started working with X out of the box. This is awesome! Good job! Now I'm having trouble with steps 2 and 3. I want to calibrate it and don't know how. I've done quite a bit of searching but pretty much all the docs are outdated. I've found a bunch of stuff about calibrating it in xorg.conf. If I understand correctly, that would involve using an X driver for it instead of the kernel one. I tried to do that briefly but didn't get anywhere. And since the kernel sees it, I think the Right Way would be to calibrate it there so it would apply to any non-X users too. The second problem is that I can't right click. In windows, the elo drivers come with utility which keeps a small button on top of everything else and clicking it causes the next click to be a right click. I did a quick search for something like this for linux, but didn't find anything. Elo has linux drivers which probably support both of these, but they don't work with kernels > 2.24 or x servers >= 1.5, so that's a no go. Any ideas about how to solve these problems? Thanks so much. [1] $ dmesg | grep Elo input: Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface as /devices/pci0000:00/0000:00:1d.1/usb6/6-1/6-1:1.0/input/input3 input,hidraw0: USB HID v1.00 Pointer [Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface] on usb-0000:00:1d.1-1 usb 6-1: Product: Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface usb 6-1: Manufacturer: Elo TouchSystems, Inc. Version-Release number of selected component (if applicable): xorg-x11-server-Xorg 1.5.0 x86_64 kernel 2.6.26.5-45.fc9.x86_64
kernel-utils isn't the right component, reassigning
If it "just works", then it's probably using the evdev driver but I'd need to see your Xorg.log to be sure. As for the calibration, I'm in the process of adding that to the evdev driver anyway. The right-click tool probably needs to be written first, but that could be a client.
Is this enough? (II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE) (II) Mouse0: Setting mouse protocol to "ExplorerPS/2" (II) Mouse0: ps2EnableDataReporting: succeeded (II) config/hal: Adding input device Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface (II) LoadModule: "evdev" (II) Loading /usr/lib64/xorg/modules/input//evdev_drv.so (II) Module evdev: vendor="X.Org Foundation" compiled for 1.5.0, module version = 2.0.7 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 2.1 (**) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface: always reports core events (**) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface: Device: "/dev/input/event3" (II) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface: Found x and y absolute axes (II) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface: Found mouse buttons (II) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface: Configuring as mouse (II) XINPUT: Adding extended input device "Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface" (type: MOUSE) (II) config/hal: Adding input device Macintosh mouse button emulation (**) Macintosh mouse button emulation: always reports core events (**) Macintosh mouse button emulation: Device: "/dev/input/event2" (II) Macintosh mouse button emulation: Found x and y relative axes (II) Macintosh mouse button emulation: Found mouse buttons (II) Macintosh mouse button emulation: Configuring as mouse (II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE) I might be able to take a stab at the right click tool. Could you point me in the right direction? Like maybe an example evdev client.
Created attachment 321924 [details] Hacktastic right click support for touch screens This is my totally hackish patch to be able to right click. It makes baby jesus cry. But at least he can right click on his Elo touchscreen while he cries. I made this from evdev 2.0.4.
actually, the python script is the right approach, except that instead of hooking into the driver you just have to use XTestFakeButtonEvent() to create a right-click when needed. This way you can stay purely client-sided, without any hacks in the driver.
The way this works now, when I click the "right click" button in the gui, the _next_ click is transformed from a left click to a right click. It looks like XTestFakeButtonEvent sends a click immediately. So how would I know when to send the right click and how would I swallow the actual left click?
Oh, that's a bit more complicated. You'd have to put a passive grab on the left button (synchronous) and then fake the button event when the grab activates. Look into XGrabButton and XAllowEvents for more info on that. Not sure if that'll just work though, it might conflict with the window manager. However, it should be easy to knock up a quick test program. Something like if (event.type == button 1 press) { XGrabButton(RootWindow, GrabModeAsync); XNextEvent(); XTestFakeButtonEvent(Button 3) XAllowEvents(AsyncPointer); XUngrabButton(); }
This message is a reminder that Fedora 9 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 9. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '9'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 9's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 9 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.
To aid searchers, right click emulation is now supported by evdev: http://cgit.freedesktop.org/xorg/driver/xf86-input-evdev/commit/?id=d9001a6b I back ported that to evdev 2.5.0 and it works well