On 2014-09-11, 5:54 PM, smaug wrote:
> If we just needs new coordinates, couldn't we extend the existing event 
> interfaces with some new properties?

Yeah, this seems like the way to go to me as well.

> On 09/12/2014 12:52 AM, smaug wrote:
>> What would be the event types for touchpad events?
>> We must not add yet another types of events to handle pointer type of events.
>>
>>
>> And besides, touch event model is rather horrible, so if we for some strange 
>> reason need
>> totally new events, I'd prefer using something closer to pointer events.
>>
>>
>> -Olli
>>
>>
>>
>>
>> On 09/11/2014 09:18 AM, Kershaw Chang wrote:
>>> Hi All,
>>>
>>> Summary:
>>> Touchpad(trackpad) is a common feature on laptop computers. Currently, the
>>> finger activities on touchpad are translated to touch event and mouse event.
>>> However, the coordinates of touch event and mouse event are actually
>>> associated to display [1]. For some cases, we need to expose the absolute
>>> coordinates that are associated to touchpad itself to the application.
>>> That’s why AOSP also defines another input source type for touchpad [2]. The
>>> x and y coordinates of touchpad event are relative to the size of touchpad.
>>>
>>> Use case:
>>> Handwriting recognition application will be benefited from this touchpad
>>> event. Currently, OS X supports handwriting input by touchpad [3].
>>>
>>> Idea of implementation:
>>> The webidl of touchpad event is like touch event except that x and y
>>> coordinates are relative to touchpad rather than display.
>>>
>>> --- /dev/null
>>> +++ b/dom/webidl/Touchpad.webidl
>>> +
>>> +[Func="mozilla::dom::Touchpad::PrefEnabled"]
>>> +interface Touchpad {
>>> +  readonly    attribute long         identifier;
>>> +  readonly    attribute EventTarget? target;
>>> +  readonly    attribute long         touchpadX;
>>> +  readonly    attribute long         touchpadY;
>>> +  readonly    attribute long         radiusX;
>>> +  readonly    attribute long         radiusY;
>>> +  readonly    attribute float        rotationAngle;
>>> +  readonly    attribute float        force;
>>> +};
>>>
>>> --- /dev/null
>>> +++ b/dom/webidl/TouchpadEvent.webidl
>>> +
>>> +interface WindowProxy;
>>> +
>>> +[Func="mozilla::dom::TouchpadEvent::PrefEnabled"]
>>> +interface TouchPadEvent : UIEvent {
>>> +  readonly attribute TouchpadList touches;
>>> +  readonly attribute TouchpadList targetTouches;
>>> +  readonly attribute TouchpadList changedTouches;
>>> +
>>> +  readonly attribute short   button;
>>> +  readonly attribute boolean altKey;
>>> +  readonly attribute boolean metaKey;
>>> +  readonly attribute boolean ctrlKey;
>>> +  readonly attribute boolean shiftKey;
>>> +
>>> +  [Throws]
>>> +  void initTouchpadEvent(DOMString type,
>>> +                         boolean canBubble,
>>> +                         boolean cancelable,
>>> +                         WindowProxy? view,
>>> +                         long detail,
>>> +                         short button,
>>> +                         boolean ctrlKey,
>>> +                         boolean altKey,
>>> +                         boolean shiftKey,
>>> +                         boolean metaKey,
>>> +                         TouchPadList? touches,
>>> +                         TouchPadList? targetTouches,
>>> +                         TouchPadList? changedTouches);
>>> +};
>>>
>>> --- /dev/null
>>> +++ b/dom/webidl/TouchpadList.webidl
>>> +
>>> +[Func="mozilla::dom::TouchpadList::PrefEnabled"]
>>> +interface TouchpadList {
>>> +  [Pure]
>>> +  readonly attribute unsigned long length;
>>> +  getter Touchpad? item(unsigned long index);
>>> +};
>>> +
>>> +/* Mozilla extension. */
>>> +partial interface TouchpadList {
>>> +  Touchpad? identifiedTouch(long identifier);
>>> +};
>>>
>>> Platform converge: all
>>>
>>> Welcome for any suggestion or feedback.
>>> Thanks.
>>>
>>> [1]
>>> http://developer.android.com/reference/android/view/InputDevice.html#SOURCE_
>>> CLASS_POINTER
>>> [2]
>>> http://developer.android.com/reference/android/view/InputDevice.html#SOURCE_
>>> CLASS_POSITION
>>> [3] http://support.apple.com/kb/HT4288
>>>
>>> Best regards,
>>> Kershaw
>>>
>>>
>>
> 
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
> 

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to