diff options
author | Daniel Adams <70986246+msub2@users.noreply.github.com> | 2024-02-17 08:42:31 -1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-17 18:42:31 +0000 |
commit | c999d4546c7dbfee670da38553dd95929c05b82b (patch) | |
tree | ef81c5b69dc4068ea63c5570c383d541e9dd7d11 /components/script/task_source/mod.rs | |
parent | 1cc546c4fc509142a0a3e796036bee604be243ab (diff) | |
download | servo-c999d4546c7dbfee670da38553dd95929c05b82b.tar.gz servo-c999d4546c7dbfee670da38553dd95929c05b82b.zip |
Implement non-XR Gamepad discovery and input (#31200)
* Create embedder event to send to constellation
* Handle gamepad message in constellation, send to script thread
* Handle GamepadEvent in script thread and dispatch event to document
* Add missing Clones, fix event
* Add gamepad task source
* Adjust GamepadIndex type, remove unused imports
* Add internal getter for gamepads list
* Update gamepad new methods
* Handle gamepad connect and disconnect events
* Proto will be none, no need for HandleObject
* Initialize buttons and axes to standard mapping
* Adjust update type index types
* Update GamepadButton update function
* Adjust Gamepad mapping comments to match spec, add update logic
* Amend comment
* Update button and axis inputs on Updated event
* Add GilRs as gamepad backend in servoshell
* Add spec links, queue gamepad updates on task source
* ./mach fmt
* Fix comment length
* Split out button init, update spec comments
* Move gamepad event handling from document to global
* Map and normalize axes/button values
* Use std::time for gamepad timestamp
* Adjust gamepad handling in event loop
* Move button press/touch check into map+normalize function
- Small change but is more in line with spec
* ./mach fmt
* Update comment spec links and warning messages
* Doc comments -> regular comments
* Add window event handlers for gamepad connect/disconnect
* Adjust gamepad disconnect behavior
* Add missing TODO's, adjust gamepad/gamepadbutton list methods and formatting
* Update button handling from gilrs, add comments
* Enable gamepad pref during WPT tests and update expectations
* Update WPT expectations in meta-legacy-layout
Diffstat (limited to 'components/script/task_source/mod.rs')
-rw-r--r-- | components/script/task_source/mod.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/components/script/task_source/mod.rs b/components/script/task_source/mod.rs index b67b87c8caf..07776b7b801 100644 --- a/components/script/task_source/mod.rs +++ b/components/script/task_source/mod.rs @@ -4,6 +4,7 @@ pub mod dom_manipulation; pub mod file_reading; +pub mod gamepad; pub mod history_traversal; pub mod media_element; pub mod networking; @@ -38,6 +39,8 @@ pub enum TaskSourceName { MediaElement, Websocket, Timer, + /// <https://www.w3.org/TR/gamepad/#dfn-gamepad-task-source> + Gamepad, } impl TaskSourceName { |