From: "Magnus Vigerlöf" <wigge@bigfoot.com>
To: linux-input@atrey.karlin.mff.cuni.cz
Cc: linux-kernel@vger.kernel.org
Subject: input: evdev.c EVIOCGRAB semantics question
Date: Sat, 12 Aug 2006 17:24:16 +0200 [thread overview]
Message-ID: <200608121724.16119.wigge@bigfoot.com> (raw)
Hi,
What is the purpose of the EVIOCGRAB ioctl in evdev.c? Is it to prevent the
device driver from sending events to other event handlers? Is it to prevent
other applications from receiving events that has the device handler open?
First, last, or both?
I discovered the following behavior when I fired up a second X-server on my
machine with my Wacom tablet connected: The second X-server opened the tablet
as well and everything worked as it should. However when I switched back to
the first X-server the tablet didn't work at all. Only when I stopped the
second X-server did the tablet start working in the first X-server again. If
I changed the code in evdev to ignore the EVIOCGRAB-ioctl the tablet works in
both X-servers, but that caused other problems.
Now, having two X-servers might not be the most common thing to have, but
having other applications that depends on the movement from the tablet might
be more common.
As is it now, it's useless (more or less) to run wacdump to display the tablet
specific events in a understandable manner. An application that generates
events through uinput based on tablet events and some other qualifiers
(mouseemu, simulating mouse scroll wheel) will not work either.
And yes, the X-server must grab the tablet. Otherwise events will go
through /dev/input/mice as well and mess up applications that depend on the
tablet-specific absolute events.
Thanks
Magnus
next reply other threads:[~2006-08-12 15:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-12 15:24 Magnus Vigerlöf [this message]
2006-08-12 16:52 ` Zephaniah E. Hull
2006-08-12 21:06 ` Magnus Vigerlöf
2006-08-13 0:00 ` Dmitry Torokhov
2006-08-13 3:28 ` Zephaniah E. Hull
2006-08-14 14:20 ` Dmitry Torokhov
2006-08-14 14:28 ` Zephaniah E. Hull
2006-08-14 15:00 ` Dmitry Torokhov
2006-08-14 16:04 ` Ian Stirling
2006-08-14 16:09 ` Zephaniah E. Hull
2006-08-14 16:22 ` Dmitry Torokhov
2006-08-14 14:58 ` Mattia Dongili
2006-08-14 15:15 ` Dmitry Torokhov
2006-08-14 22:49 ` Magnus Vigerlöf
2006-08-15 11:51 ` Magnus Vigerlöf
2006-08-15 23:20 ` Magnus Vigerlöf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200608121724.16119.wigge@bigfoot.com \
--to=wigge@bigfoot.com \
--cc=linux-input@atrey.karlin.mff.cuni.cz \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome