Thread (3 messages) 3 messages, 2 authors, 2011-10-27

Re: evdev interface question: ABS_X without ABS_Y?

From: Dwayne Litzenberger <hidden>
Date: 2011-10-27 13:53:16

On 2011-10-27, at 1:44 AM, Dmitry Torokhov wrote:
On Wed, Oct 26, 2011 at 05:10:23PM -0400, Dwayne Litzenberger wrote:
quoted
Let's say I have a touchscreen, and I move my finger to (200,100).
I'll see something line this (simplified):

 EV_ABS ABS_X 200
 EV_ABS ABS_Y 100
 EV_SYN

Next, let's say I see something like this:

 EV_ABS ABS_Y 90
 EV_SYN

What is the meaning of that, from the perspective of userspace?
I see two possibilities.  Either:

1. It's a move to (200,90), or
2. It's a move to (0,90)

Which is the correct interpretation? 
Door #1.
quoted
Is this documented anywhere?
From Documentation/input/event-codes.txt:

"The input protocol is a stateful protocol. Events are emitted only when
values of event codes have changed. However, the state is maintained
within the Linux input subsystem; drivers do not need to maintain the
state and may attempt to emit unchanged values without harm. Userspace
may obtain the current state of event code values using the EVIOCG*
ioctls defined in linux/input.h."
quoted
Apparently, the usbhid driver is generating events that imply #1, but
xserver-xorg-input-evdev interprets these according to #2.  I'm trying
to figure out what needs to be patched.  :)
xserver-xorg-input-evdev.
Awesome.  That's exactly what I need.  Thanks!

- Dwayne
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help