- From: Matt Reynolds <notifications@github.com>
- Date: Wed, 20 Nov 2019 17:23:22 -0800
- To: w3c/gamepad <gamepad@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/gamepad/pull/123/review/320590221@github.com>
nondebug commented on this pull request. > - MUST be returned until the <a>user agent</a> needs to return - different values (or values in a different order). + <p> + Array of {{GamepadButton}} objects representing the current state of + all buttons of the gamepad. It is RECOMMENDED that buttons appear in + decreasing importance such that the primary button, secondary + button, tertiary button, and so on appear as elements 0, 1, 2, ... + in the buttons array. + </p> + <p> + When the system receives new data from a connected gamepad, a + microtask MUST be queued with the user interaction task source to + update the gamepad state. If the gamepad has the same buttons in the + same order as the previous update, the buttons attribute MUST return + the same array object. If the number of buttons or the ordering of + buttons has changed, the buttons attribute MUST return a new array This would work for the buttons attribute but I'm not sure how to resolve it for axes. The axes attribute is FrozenArray<double> so we can't change the values in-place like we can for the buttons array. I tested the current behavior in Firefox. `pad.axes === pad.axes` always returns true, but if you save the axes array before and after interacting with the joystick then you'll get different arrays: ``` let pad = navigator.getGamepads()[0]; let axes = pad.axes; axes === pad.axes; // true // wiggle the thumbstick axes === pad.axes; // false ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/gamepad/pull/123#discussion_r348856426
Received on Thursday, 21 November 2019 01:23:24 UTC