Re: [w3c/gamepad] Add a model section (PR #220)

@gabrielsanbrito approved this pull request.

Sorry for the long delay. I gave it a last pass and I think that the model section looks good. Just added 2 comments, which are basically questions. Thanks for making it so detailed!

> +        [=gamepad=]. The content is decided by the [=user agent=].
+      </p>
+      <section>
+        <h3>
+          Input control layout
+        </h3>
+      <p>
+        A [=gamepad=] may have an <dfn>input control layout</dfn> that describes the position, orientation and type of each [=input control=] on the [=gamepad=].
+        The [=user agent=] is responsible for recognizing when a [=gamepad=] <dfn data-lt="corresponds with">corresponds with a standard layout</dfn>, meaning the [=gamepad=] has an [=input control layout=] that enables it to be used interchangeably with other [=gamepads=] that correspond with the same standard layout.
+        The [=user agent=] SHOULD consider a layout to correspond with a standard layout if its [=input controls=] have approximately the same relative positions and orientations as [=input controls=] described in the standard layout.
+      </p>
+      <p>
+        The [=user agent=] typically cannot directly inspect the [=input control layout=] for a [=gamepad=] and MAY use heuristics to decide the layout.
+        The [=user agent=] SHOULD consider the device identifiers when deciding whether a [=gamepad=] [=corresponds with a standard layout=].
+        If the system assigns a label to each [=input control=] and the labels imply a particular layout then the [=user agent=] SHOULD consider the [=gamepad=] to have that layout.
+        When there is a standard model and an accessible model with the same [=input controls=], the [=user agent=] SHOULD consider the accessible model to have the same [=input control layout=] as the standard model.

Quick question. What would be an "accessible" model?

> +        A [=gamepad=] may have [=touch surfaces=]. A <dfn>touch surface</dfn>
+        is an input control that provides 2D position data representing points
+        of contact. A [=gamepad=] has a <dfn>touch surface list</dfn> which is
+        a [=list=] containing the [=touch surfaces=] for the [=gamepad=]. The
+        list is ordered such that [=touch surfaces=] closer to the left side of
+        the [=gamepad=] appear closer to the start of the list.
+      </p>
+      <p>
+        A [=touch surface=] has an <dfn>active touch point list</dfn> [=input
+        value=], a [=list=] of zero or more [=touch points=] representing the
+        points of contact currently detected by the sensor. A <dfn>touch
+        point</dfn> represents a single point of contact at a single point in
+        time. A [=touch point=] has a <dfn>touch x coordinate</dfn>
+        and a <dfn>touch y coordinate</dfn> representing the position in the [=touch surface=]'s coordinate system.
+        If a [=touch surface=] is on the top, bottom, front, or back side of the [=gamepad=] then the [=touch x coordinate=] is measured along the left-right axis, otherwise it is measured along the top-bottom axis.
+        The [=touch y coordinate=] is measured along the perpendicular axis.

Should we mention anything about the orientation of the y-axis?

> +        list is ordered such that [=touch surfaces=] closer to the left side of
+        the [=gamepad=] appear closer to the start of the list.
+      </p>
+      <p>
+        A [=touch surface=] has an <dfn>active touch point list</dfn> [=input
+        value=], a [=list=] of zero or more [=touch points=] representing the
+        points of contact currently detected by the sensor, ordered such that
+        earlier [=touch points=] appear closer to the start of the [=list=]. A
+        <dfn>touch point</dfn> represents a single point of contact at a single
+        point in time. A [=touch point=] has a <dfn>touch x coordinate</dfn>
+        representing its position along the user's left-right axis and a
+        <dfn>touch y coordinate</dfn> representing its position along the
+        perpendicular axis.
+      </p>
+      <p>
+        A [=touch surface=] may have surface dimension [=input values=]. The

Got it. Sounds good then.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/gamepad/pull/220#pullrequestreview-2890307813
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/gamepad/pull/220/review/2890307813@github.com>

Received on Tuesday, 3 June 2025 01:42:03 UTC