From: Chase Douglas <chase.douglas@canonical.com>
To: Henrik Rydberg <rydberg@euromail.se>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Chris Bagwell <chris@cnpbagwell.com>,
Peter Hutterer <peter.hutterer@who-t.net>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] Documentation: Add evdev type and code definitions
Date: Fri, 07 Jan 2011 15:43:01 -0500 [thread overview]
Message-ID: <4D277AD5.2090409@canonical.com> (raw)
In-Reply-To: <4D0A1E49.2070604@euromail.se>
On 12/16/2010 09:12 AM, Henrik Rydberg wrote:
> On 12/14/2010 10:21 PM, Chase Douglas wrote:
>> +The evdev protocol uses a map of types and codes to express input device values
>> +to userspace. This document describes the types and codes and how and when they
>> +may be used.
>
>
> On a general note, the transfer is stateful. It is assumed that the receiver
> knows that prior state of an axes when the new value comes in. Only changed
> values are emitted.
>
> Most of the input state can be retrieved via ioctl/sysfs calls.
I've noted both of these for the next revision.
>> +* SYN_REPORT:
>> + - Used to synchronize and separate events in time. For example, motion of a
>> + mouse may set the REL_X and REL_Y values for one motion, then emit a
>> + SYN_REPORT. The next motion will emit more REL_X and REL_Y values and send
>> + another SYN_REPORT.
>
>
> We have not using the name @frame@ much so far, but i think it is a good name
> for it.
Good idea. I began using 'frame' name for the next revision.
>> +* BTN_TOOL_<name>, BTN_TOUCH:
>> + - These codes are used in conjunction with input trackpads, tablets, and
>> + touchscreens. These devices may be used with fingers, pens, or other tools.
>> + When an event occurs and a tool is used, the corresponding BTN_TOOL_<name>
>> + code should be set to a value of 1. When the tool is no longer interacting
>> + with the input device, the BTN_TOOL_<name> code should be reset to 0. All
>> + trackpads, tablets, and touchscreens should use at least one BTN_TOOL_<name>
>> + code when events are generated. For non-tablet devices, the tool is usually
>> + BTN_TOUCH.
>
>
> BTN_TOUCH is always required, and on top of that, one or several other BTN_TOOL
> can be used. There is also a quirk in that BTN_TOUCH should come first in the
> event stream, for the benefit of the mousedev emulation driver.
I've tried to address both issues in the next revision.
>> +* BTN_TOOL_FINGER, BTN_TOOL_DOUBLETAP, BTN_TOOL_TRIPLETAP, BTN_TOOL_QUADTAP:
>> + - These codes denote one, two, three, and four finger interaction on a
>> + trackpad or touchscreen. For example, if the user uses two fingers and moves
>> + them on the touchpad in an effort to scroll content on screen,
>> + BTN_TOOL_DOUBLETAP should be set to value 1 for the duration of the motion.
>> + Note that these codes and the BTN_TOOL_<name> and BTN_TOUCH codes are
>> + orthogonal in purpose. A trackpad event generated by finger touches should
>> + generate events for one code from each group.
>
>
> In the input-mt interface, there is a function to report these,
> input_mt_report_finger_count().
I've added a note about this.
>> +* ABS_DISTANCE:
>> + - Used to describe the distance of a tool from an interaction surface. This
>> + should only be used while the tool is in close proximity of the device. If
>> + the input device may be used freely in three dimensions, consider ABS_Z
>> + instead.
>
>
> The word "hovering" is commonly used to describe this usage. Many pen tablets
> use it, and touch versions are emerging.
I added use of the word 'hovering' to be clear.
Thanks!
-- Chase
next prev parent reply other threads:[~2011-01-07 20:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-14 21:21 [PATCH 0/4] Alternative approach to MT_TOOL_ENVELOPE Chase Douglas
2010-12-14 21:21 ` [PATCH 1/4] Revert "input: mt: Interface and MT_TOOL documentation updates" Chase Douglas
2010-12-14 21:21 ` [PATCH 2/4] Documentation: Add evdev type and code definitions Chase Douglas
2010-12-15 23:59 ` Peter Hutterer
2010-12-16 14:56 ` Chris Bagwell
2010-12-16 16:57 ` Dmitry Torokhov
2011-01-07 20:39 ` Chase Douglas
2011-01-07 20:34 ` Chase Douglas
2010-12-16 14:12 ` Henrik Rydberg
2011-01-07 20:43 ` Chase Douglas [this message]
2010-12-17 10:18 ` Nikolai Kondrashov
2010-12-14 21:21 ` [PATCH 3/4] Input: Add ABS_RECT_* legacy multitouch evdev codes Chase Douglas
2010-12-14 21:21 ` [PATCH 4/4] Input: synaptics - Add support for ABS_RECT_* Chase Douglas
2010-12-14 21:38 ` [PATCH 0/4] Alternative approach to MT_TOOL_ENVELOPE Chase Douglas
2010-12-14 22:12 ` Dmitry Torokhov
2010-12-15 0:21 ` Chase Douglas
2010-12-15 1:37 ` Henrik Rydberg
2010-12-15 7:25 ` Dmitry Torokhov
2010-12-15 17:31 ` Chase Douglas
2010-12-15 20:25 ` Chris Bagwell
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=4D277AD5.2090409@canonical.com \
--to=chase.douglas@canonical.com \
--cc=chris@cnpbagwell.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.hutterer@who-t.net \
--cc=rydberg@euromail.se \
/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;
as well as URLs for NNTP newsgroup(s).