If we just needs new coordinates, couldn't we extend the existing event 
interfaces with some new properties?


-Olli


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

Reply via email to