linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chase Douglas <chasedouglas@gmail.com>
To: Jeffrey Brown <jeffbrown@android.com>
Cc: Henrik Rydberg <rydberg@euromail.se>,
	Jason Gerecke <killertofu@gmail.com>,
	Ping Cheng <pinglinux@gmail.com>,
	Mohamed Ikbel Boulabiar <boulabiar@gmail.com>,
	Linux Input <linux-input@vger.kernel.org>
Subject: Re: [PATCH] Input: wacom - Add POINTER and DIRECT device properties
Date: Mon, 19 Sep 2011 19:49:22 -0700	[thread overview]
Message-ID: <4E77FF32.5050806@gmail.com> (raw)
In-Reply-To: <CAMu+ixh_Am6vNn6oz4NEiaZ6+4UYXp=smu7BCekYze7S_L0hng@mail.gmail.com>

On 09/19/2011 06:05 PM, Jeffrey Brown wrote:
> On Mon, Sep 19, 2011 at 4:40 PM, Chase Douglas <chasedouglas@gmail.com> wrote:
>> I think these are the clearest definitions I've seen of these
>> properties. It would be good to get them documented in
>> Documentation/input. Henrik, would you be able to do this?
> 
> Agreed, but I feel we also need some clarity around the desired
> interpretations of different tools in relation to direct / indirect
> motion and these bits.
> 
> For example:
> 
> BTN_TOOL_FINGER / MT_FINGER:
> - Positions are absolute is INPUT_PROP_DIRECT, or relative otherwise.
> - Shows a pointer only if INPUT_PROP_POINTER is set.

This is actually my main grip with INPUT_PROP_POINTER. It really means
"the touchscreen and display are not integrated". A device may not have
INPUT_PROP_POINTER set (touchscreen and display are integrated), but may
still want to show the pointer (for example, you may want a cursor to
show when you are hovering). But, the name is set now.

I suppose my point in bringing this up is that the properties are
descriptions of the device, not specifications of what the evdev
consumer must do with the data. We can provide best-practices
guidelines, though, which is really what this list is.

> (IMHO, relative motion should be preferred for touch pads that are not
> physically coupled to a particular display.  Trackpad-like vs.
> tablet-like behavior, especially if "hovering" is not supported or if
> the touch pad is small.)
> 
> BTN_TOOL_PEN / BTN_TOOL_BRUSH / MT_PEN:
> - Positions are always one-to-one with screen coordinates regardless
> of INPUT_PROP_DIRECT.  If INPUT_PROP_DIRECT is set then we can take it
> as a stronger indication of the pen being coupled to a particular
> display (rather than spanning all displays or being bound to a
> specific window, perhaps).

Evdev doesn't know about displays, and it's well outside what it can do.
I don't think it helps to say that INPUT_PROP_DIRECT has extra meaning
in this case.

> - Shows a pointer only if INPUT_PROP_POINTER is set.
> 
> BTN_TOOL_MOUSE / BTN_TOOL_LENS:
> - Positions are always relative, regardless of INPUT_PROP_DIRECT.
> - Shows a pointer, regardless of INPUT_PROP_POINTER.

To condense all of the above, we can generalize the rules to:

* INPUT_PROP_DIRECT only has meaning for BTN_TOOL_FINGER etc.
* INPUT_PROP_POINTER only has meaning for BTN_TOOL_PEN / BTN_TOOL_BRUSH etc.

> We should also define heuristics for legacy devices that don't set
> either INPUT_PROP_DIRECT or INPUT_PROP_POINTER.

The above generalization should take care of this.

-- Chase

  reply	other threads:[~2011-09-20  2:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01 16:00 [PATCH] Input: wacom - Add POINTER and DIRECT device properties Jason Gerecke
2011-09-01 19:31 ` Ping Cheng
2011-09-13  8:09 ` Henrik Rydberg
2011-09-13  8:19   ` Mohamed Ikbel Boulabiar
2011-09-13 14:13   ` Chris Bagwell
2011-09-13 17:36     ` Ping Cheng
2011-09-13 20:54       ` Chris Bagwell
2011-09-16 23:10     ` Jeffrey Brown
2011-09-17 11:44       ` Henrik Rydberg
     [not found]   ` <CAPHpN5OAPdPQ1SmwrGT6pMvgWESBOSnRvb0jKUszkU_31MFXWg@mail.gmail.com>
2011-09-14  7:15     ` Henrik Rydberg
2011-09-15 16:16       ` Ping Cheng
2011-09-16 10:50         ` Henrik Rydberg
2011-09-16 21:45           ` Jason Gerecke
2011-09-17 11:21             ` Henrik Rydberg
2011-09-19 23:40               ` Chase Douglas
2011-09-20  1:05                 ` Jeffrey Brown
2011-09-20  2:49                   ` Chase Douglas [this message]
2011-09-21 11:42                     ` Henrik Rydberg

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=4E77FF32.5050806@gmail.com \
    --to=chasedouglas@gmail.com \
    --cc=boulabiar@gmail.com \
    --cc=jeffbrown@android.com \
    --cc=killertofu@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=pinglinux@gmail.com \
    --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).