Some touchscreen support..
ppaalanen at gmail.com
Fri Nov 8 01:41:13 PST 2013
On Thu, 7 Nov 2013 17:46:34 +0200
Oskari Rauta <oskari.rauta at gmail.com> wrote:
> I plan to use weston on Raspberry Pi with a touchscreen. I purchased
> a touchscreen that sports a eGalax touch digitizer. It seems not to
> be properly supported by Weston or.. Actually with nearly with any
> software, except tslib. Although even tslib didn't support my
> version(0x0100) before I patched it. EETI provides binary-only
> drivers for x86(32&64), arm and mips, but I wasn't able to get the
> driver to work - and when I checked out internet for reports, people
> who had got those drivers to work, were un-satisfied..
> I found a project opengalax, which I forked and modified to support
> tslib instead of eGalax on serial. It works very good. As TSLIB
> doesn't support multiple simultaneous touches, gestures, like
> pinching - are not possible. Virtual input device created works great
> (after tslib's calibration) with weston- but weston tryies to access
> touchscreen through 2 devices, original and through virtual - I
> wanted weston to ignore this real device, so I made a patch to
> weston, that adds a new option to configuration:
> ignored=eGalax Inc. USB TouchController
> And if this is set, it compares it to device name, and skips it. If
> nothing else, atleast there's one device not to monitor..
Hmm, maybe you could use udev properties somehow instead. Weston has a
mechanism to get devices belonging to a seat, and if you mark the device
to belong in a different seat in udev, Weston should ignore it. I can't
give any specific instructions off hand, though. There might be also
other udev features that the seat designation, perhaps.
> Second thing.. As I am using a touchscreen.. I wanted to disable
> mouse cursor. I patched weston some more to add option [shell]
> - if this is set, mouse cursor isn't drawn.
> My fork of opengalax is not yet publicly available, but patch to what
> I described is included in this message.
The mouse cursor sounds like your touchscreen is detected as a pointer
device instead of a touchscreen. AFAIK, Weston does not draw cursors
for touchscreens. You can check the detection result in the weston log.
I suspect the virtual evdev device is not set up properly to act only
as touch input. I guess it is (was?) common to have single-touch devices
emulate a mouse instead of a touch device, so that you wouldn't need
any changes in other software, so it might even be deliberate that your
touch device is detected as a pointer device and gets a cursor.
Needless to say, emulating a mouse like that is full of fail. So,
checking how your virtual evdev device looks like is one thing.
More information about the wayland-devel