On Wed, 2 Oct 2013 13:59:47 -0700 Jason Gerecke <killert...@gmail.com> said:

3 things here.

1. for general device queries (get name, description, device classes etc.)
there is already an evas_device api. right now though nothng populates the evas
device information from lower levels (xi/xi2, etc. etc.), so it's unused. but
it's there.
2. i've talked with some people about this and the general take was that we
need to add new pen events (ala multi) because they need to handle more than
multi: e.g.:

  * button number on pen pressed/released SEPARATELY from pen touching.
  * pen touch vs eraser touch (ie indicate which "end" of N ends a pen presses
down).
  * some pens support a hover ability - so that means motion events without
down/up begin/end points like multi, BUT we would ned/want to report distance
as a value during this hover
  * possibly other custom inputs on the pens themselves that are not accounted
for.

we COULD extend multi events and add fields, but i think you are mistaking
habitual over-engineering in efl for intent for these to be pen events. a lot
of stuff gets extended beyond its initial scope "in case". eg in case out touch
surface can report size, pressure and angle of your finger... :) also it'd
cause issues with existing multi event usage.

3. if you want to tal about the extra buttons and what not that you find on
pen tablets (i have a bamboo sitting on my desk at home - i know cheapo little
pen tablet, but its indicative at a small scale of a lot of them), i believe
these should just be "keys" like any keyboard. i don't think these belong in
any specialized event system. as with #1 we CAN attach a special device handle
to them though so you can differentiate where the key comes from... :)

adding  new event type isn't too hard in evas - you add the structures, enums
(at the end of the current list of callbacks), add the feed api's to feed the
event in, add the appropriate routing (the same we do for multi and mouse), and
then that's done.

then there is edje - likely you want to expose the pen events as signals like
mouse. maybe not? optional really.

and the important bit then ecore-evas + ecore-input + ecore-input-evas needs to
gather the events from the next layer down and call the feed calls. the layer
below could be evdev/console input devices (fb) x11 (xi/xi2 etc.), or wl.. or
win32.. or anything... and then for these ecore-x, ecore-fb, ecore-wl etc.
needs to gather the appropriate events from the display system/event input
system below that. one thing missign in ecore-evas is what i describe in #1 -
querying all available devices, monitoring for new devices being
plugged/unplugged and appropriately populating/managing the evas_device tree per
canvas. :) it's something we need to get around to ding some time... :)

> Hello,
> 
> I'm a developer for the linuxwacom project. For the past few weeks
> I've been reading up on Tizen, which is a new Linux-based OS for
> mobile devices. Since its quite similar to other Linux distributions,
> I've been trying to figure out how to get pen data up to apps. Tizen
> apps are written in HTML5, which is being extended to support pen
> events[1]. With Webkit shaping up to provide apps access to this
> API[2], the only remaining layer I'm not sure about is the EFL glue
> that binds X and Webkit together.
> 
> I'm wondering what it would take to get e.g. pen pressure flowing up
> through EFL to appplications. I've taken a quick look through the API
> and underlying code, and while there doesn't appear to be explicit pen
> support there appears to be some foundation that could be built on
> (e.g. "multi" events look very interesting, though appear to be
> semantically intended for multitouch not pen).
> 
> Is there any interest in providing EFL applications with pen data?
> More importantly, is there anyone willing to help a newbie to the
> project like myself?
> 
> 
> [1]: http://www.w3.org/TR/pointerevents/
> [2]: https://bugs.webkit.org/show_bug.cgi?id=105463
> 
> Jason
> ---
> Now instead of four in the eights place /
> you’ve got three, ‘Cause you added one  /
> (That is to say, eight) to the two,     /
> But you can’t take seven from three,    /
> So you look at the sixty-fours....
> 
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to